blk: Remove various places that do flush cache after read
authorBin Meng <bmeng.cn@gmail.com>
Wed, 13 Sep 2017 02:00:23 +0000 (19:00 -0700)
committerTom Rini <trini@konsulko.com>
Fri, 15 Sep 2017 12:05:10 +0000 (08:05 -0400)
All these places seem to inherit the codes from the MMC driver where
a FIXME was put in the comment. However the correct operation after
read should be cache invalidate, not flush.

The underlying drivers should be responsible for the cache operation.
Remove these codes completely.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: York Sun <york.sun@nxp.com>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: York Sun <york.sun@nxp.com>
arch/arm/cpu/armv8/fsl-layerscape/ppa.c
board/toradex/common/tdx-cfg-block.c
cmd/mmc.c
drivers/block/blk-uclass.c
drivers/block/blk_legacy.c
drivers/net/fm/fm.c
drivers/net/phy/cortina.c
drivers/qe/qe.c

index 24ddb5d991e3ba9fb2da89908e7fad59dd9f2001..bbf8bba1120d301c2f559ab178bb23598412af0f 100644 (file)
@@ -107,9 +107,6 @@ int ppa_init(void)
                return -EIO;
        }
 
-       /* flush cache after read */
-       flush_cache((ulong)fitp, cnt * 512);
-
        ret = fdt_check_header(fitp);
        if (ret) {
                free(fitp);
@@ -134,9 +131,6 @@ int ppa_init(void)
        }
        debug("Read PPA header to 0x%p\n", ppa_hdr_ddr);
 
-       /* flush cache after read */
-       flush_cache((ulong)ppa_hdr_ddr, cnt * 512);
-
        ppa_esbc_hdr = (uintptr_t)ppa_hdr_ddr;
 #endif
 
@@ -164,9 +158,6 @@ int ppa_init(void)
                return -EIO;
        }
 
-       /* flush cache after read */
-       flush_cache((ulong)ppa_fit_addr, cnt * 512);
-
 #elif defined(CONFIG_SYS_LS_PPA_FW_IN_NAND)
        struct fdt_header fit;
 
@@ -208,9 +199,6 @@ int ppa_init(void)
        }
        debug("Read PPA header to 0x%p\n", ppa_hdr_ddr);
 
-       /* flush cache after read */
-       flush_cache((ulong)ppa_hdr_ddr, fw_length);
-
        ppa_esbc_hdr = (uintptr_t)ppa_hdr_ddr;
 #endif
 
@@ -232,9 +220,6 @@ int ppa_init(void)
                       CONFIG_SYS_LS_PPA_FW_ADDR);
                return -EIO;
        }
-
-       /* flush cache after read */
-       flush_cache((ulong)ppa_fit_addr, fw_length);
 #else
 #error "No CONFIG_SYS_LS_PPA_FW_IN_xxx defined"
 #endif
index 328c4c0200d09198177b9941c52f2b30c1ba8429..f850a3c98e50389d21ef7dad156ad0d797877e47 100644 (file)
@@ -129,8 +129,6 @@ static int tdx_cfg_block_mmc_storage(u8 *config_block, int write)
                        ret = -EIO;
                        goto out;
                }
-               /* Flush cache after read */
-               flush_cache((ulong)(unsigned char *)config_block, 512);
        } else {
                /* Just writing one 512 byte block */
                if (blk_dwrite(mmc_get_blk_desc(mmc), blk_start, 1,
index 00697fc1f2b7bd8323ca0c0fb723685c1949595d..5def4ea1a29ad0b6c72bd60b3c4132c749a1d6ca 100644 (file)
--- a/cmd/mmc.c
+++ b/cmd/mmc.c
@@ -293,8 +293,6 @@ static int do_mmc_read(cmd_tbl_t *cmdtp, int flag,
               curr_device, blk, cnt);
 
        n = blk_dread(mmc_get_blk_desc(mmc), blk, cnt, addr);
-       /* flush cache after read */
-       flush_cache((ulong)addr, cnt * 512); /* FIXME */
        printf("%d blocks read: %s\n", n, (n == cnt) ? "OK" : "ERROR");
 
        return (n == cnt) ? CMD_RET_SUCCESS : CMD_RET_FAILURE;
index aee2a50d6269248609ef3a6cef0aae2a07127797..537cf5f0bbcb0d6122c247dcf09c326ee701add9 100644 (file)
@@ -294,9 +294,6 @@ ulong blk_read_devnum(enum if_type if_type, int devnum, lbaint_t start,
        if (IS_ERR_VALUE(n))
                return n;
 
-       /* flush cache after read */
-       flush_cache((ulong)buffer, blkcnt * desc->blksz);
-
        return n;
 }
 
index 981872ecb35cd516087effc09ffd6b30e21886cd..16d3bfe7f28262f20955ca783d23e1d38d292ffd 100644 (file)
@@ -232,9 +232,6 @@ ulong blk_read_devnum(enum if_type if_type, int devnum, lbaint_t start,
        if (IS_ERR_VALUE(n))
                return n;
 
-       /* flush cache after read */
-       flush_cache((ulong)buffer, blkcnt * desc->blksz);
-
        return n;
 }
 
index 451dfded77bf7562e69643d3639e22534a2b2beb..261f1b911b9a013ba2341ac173ed854c2d1d041f 100644 (file)
@@ -405,8 +405,6 @@ int fm_init_common(int index, struct ccsr_fman *reg)
                mmc_init(mmc);
                (void)mmc->block_dev.block_read(&mmc->block_dev, blk, cnt,
                                                addr);
-               /* flush cache after read */
-               flush_cache((ulong)addr, cnt * 512);
        }
 #elif defined(CONFIG_SYS_QE_FMAN_FW_IN_REMOTE)
        void *addr = (void *)CONFIG_SYS_FMAN_FW_ADDR;
index e0e9ed97672411fe5ee257676e5fc931fe6d0288..637d89a1e1bcaa21509a25e6da996fac0d03ddb5 100644 (file)
@@ -177,8 +177,6 @@ void cs4340_upload_firmware(struct phy_device *phydev)
                mmc_init(mmc);
                (void)mmc->block_dev.block_read(&mmc->block_dev, blk, cnt,
                                                addr);
-               /* flush cache after read */
-               flush_cache((ulong)addr, cnt * 512);
        }
 #endif
 
index 8151068432b6230647633eb2e2b7b1ce031c614f..5366a1eb712a7d7a8f07e1fb36be4597a01295e9 100644 (file)
@@ -221,8 +221,6 @@ void u_qe_init(void)
                mmc_init(mmc);
                (void)mmc->block_dev.block_read(&mmc->block_dev, blk, cnt,
                                                addr);
-               /* flush cache after read */
-               flush_cache((ulong)addr, cnt * 512);
        }
 #endif
        if (!u_qe_upload_firmware(addr))