mmc: fsl_esdhc: fix check_and_invalidate_dcache_range function
PATCH 1/1 mmc: fsl_esdhc: fix check_and_invalidate_dcache_range function
In function check_and_invalidate_dcache_range(), there are incorrect start address and end address of the dcache range calculated for Layerscape platforms. This patch is to fix this issue.
Signed-off-by Yangbo Lu <[email protected]>
--- drivers/mmc/fsl_esdhc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
drivers/mmc/fsl_esdhc.c +4 -5
@@ -285,14 +285,10 @@ static int esdhc_setup_data(struct mmc *mmc, struct mmc_data *data)static void check_and_invalidate_dcache_range (struct mmc_cmd *cmd,struct mmc_data *data) { -#ifdef CONFIG_FSL_LAYERSCAPE unsigned start =0 ; -#else -unsigned start = (unsigned )data->dest ; -#endif +unsigned end =0 ;unsigned size =roundup (ARCH_DMA_MINALIGN , data->blocks*data->blocksize); -unsigned end = start+size ;#ifdef CONFIG_FSL_LAYERSCAPE dma_addr_t addr;
@@ -301,7 +297,10 @@ static void check_and_invalidate_dcache_rangeprintf ("Error found for upper 32 bits\n" ); else start =lower_32_bits (addr); +#else + start = (unsigned )data->dest;#endif + end = start+size;invalidate_dcache_range (start, end); }
Signature · 1 line
2.1.0.27.g96db324
York Sun
AppliedPATCH 1/1 mmc: fsl_esdhc: fix check_and_invalidate_dcache_range function
Quoted 9 lines · Yangbo Lu
In function
check_and_invalidate_dcache_range(), there are incorrect start address and end address of the dcache range calculated for Layerscape platforms. This patch is to fix this issue.Signed-off-by Yangbo Lu <[email protected]>--- drivers/mmc/fsl_esdhc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
Applied to fsl-qoriq master branch. Awaiting upstream. Thanks.
York