> -----Original Message----- > From: Fabio Estevam <festevam@xxxxxxxxx> > Sent: 2022年10月28日 18:18 > To: Bough Chen <haibo.chen@xxxxxxx> > Cc: adrian.hunter@xxxxxxxxx; ulf.hansson@xxxxxxxxxx; > linux-mmc@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>; Sherry Sun > <sherry.sun@xxxxxxx>; shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; > kernel@xxxxxxxxxxxxxx > Subject: Re: [PATCH] mmc: sdhci-esdhc-imx: reset the tuning logic before > execute tuning > > Hi Haibo, > > On Fri, Oct 28, 2022 at 6:25 AM <haibo.chen@xxxxxxx> wrote: > > > > From: Haibo Chen <haibo.chen@xxxxxxx> > > > > For standard tuning method on usdhc, the previous tuning result can > > impact current tuning result, let current tuning can't set the correct > > delay cell. And from the logic, this is also reasonable for manual > > tuning method. So reset the tuning logic before execute tuning. > > To avoid compile issue, this patch also move the esdhc_reset_tuning() > > upper. > > > > Find this issue when support SDIO WiFi in band wakeup feature. After > > system resume back, will do re-tuning, but then meet data CRC error. > > > > Do not meet this issue on SD/eMMC, because we already call > > esdhc_reset_tuning() when config the legency ios, and SD/eMMC need to > > re-init when system resume back, but SDIO device don't do re-init if > > it has MMC_PM_KEEP_POWER pm_flags. > > Fixes tag missing? Hi Fabio, This is a bug fix patch, but hard to find a fix tag. In this patch, I just add the tuning reset in function usdhc_execute_tuning(), but for this usdhc_execute_tuning(), it is involve in the commit de3e1dd09b72 ("mmc: sdhci: usdhc: do not do tuning for DDR50 mode."). if fix tag point to this commit number, logically, seem incorrect. But if point to an older commit, like d9370424c948 ("mmc: sdhci-esdhc-imx: reset tuning circuit when power on mmc card"), it's hard to port current patch to the linux version between these two commit number, because no usdhc_execute_tuning() there. So I just not add the fix tag here. Best Regards Haibo Chen