From mboxrd@z Thu Jan 1 00:00:00 1970 From: Qiang Zhao Date: Wed, 23 Aug 2017 03:14:22 +0000 Subject: [U-Boot] [PATCH] blk: Remove various places that do flush cache after read In-Reply-To: References: <1503373600-20847-1-git-send-email-bmeng.cn@gmail.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de +Yangbo Best Regards Qiang Zhao > -----Original Message----- > From: York Sun > Sent: Wednesday, August 23, 2017 12:49 AM > To: Bin Meng ; Grygorii Strashko > ; Michal Simek ; Angelo > Dureghello ; Kever Yang ; > Jaehoon Chung ; Albert Aribaud > ; Marcel Ziswiler ; > Markus Niebel ; Z.q. Hou > ; Sumit Garg ; Joe Hershberger > ; Stefan Roese ; Wenbin Song > ; Qiang Zhao ; Simon Glass > ; Max Krummenacher > ; Masahiro Yamada > ; Tomas Melin > ; Q.y. Gong ; Tom Rini > ; U-Boot Mailing List > Subject: Re: [PATCH] blk: Remove various places that do flush cache after read > > On 08/21/2017 08:42 PM, Bin Meng wrote: > > 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 > > --- > > > > arch/arm/cpu/armv8/fsl-layerscape/ppa.c | 15 --------------- > > board/toradex/common/tdx-cfg-block.c | 2 -- > > cmd/mmc.c | 2 -- > > drivers/block/blk-uclass.c | 3 --- > > drivers/block/blk_legacy.c | 3 --- > > drivers/net/fm/fm.c | 2 -- > > drivers/net/phy/cortina.c | 2 -- > > drivers/qe/qe.c | 2 -- > > 8 files changed, 31 deletions(-) > > > > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/ppa.c > > b/arch/arm/cpu/armv8/fsl-layerscape/ppa.c > > index 24ddb5d..bbf8bba 100644 > > --- a/arch/arm/cpu/armv8/fsl-layerscape/ppa.c > > +++ b/arch/arm/cpu/armv8/fsl-layerscape/ppa.c > > @@ -107,9 +107,6 @@ int ppa_init(void) > > return -EIO; > > } > > > > - /* flush cache after read */ > > - flush_cache((ulong)fitp, cnt * 512); > > - > > NACK here. > > > > 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 > > Hold on for ppa.c. We need to flush the cache after reading PPA image and it > header after loading. These images need to be flushed into main memory. I will > need to confirm with our team if we can remove flushing here. > > York