On Thu, 28 Feb 2019 at 09:41, BOUGH CHEN haibo.chen@nxp.com wrote:
-----Original Message----- From: Ulf Hansson [mailto:ulf.hansson@linaro.org] Sent: 2019年2月28日 16:25 To: BOUGH CHEN haibo.chen@nxp.com Cc: adrian.hunter@intel.com; Aisheng Dong aisheng.dong@nxp.com; shawnguo@kernel.org; s.hauer@pengutronix.de; kernel@pengutronix.de; festevam@gmail.com; dl-linux-imx linux-imx@nxp.com; linux-mmc@vger.kernel.org; stable@vger.kernel.org Subject: Re: [PATCH] mmc: sdhci-esdhc-imx: correct the fix of ERR004536
On Thu, 28 Feb 2019 at 09:01, BOUGH CHEN haibo.chen@nxp.com wrote:
Commit 18094430d6b5 ("mmc: sdhci-esdhc-imx: add ADMA Length
Mismatch
errata fix") involve the fix of ERR004536, but the fix is incorrect. Double confirm with IC, need to clear the bit 7 of register 0x6c rather than set this bit 7. Here is the definition of bit 7 of 0x6c: 0: enable the new IC fix for ERR004536 1: do not use the IC fix, keep the same as before
Due to the reset value of this bit 7 is 0, ROM code and bootloader do not touch this bit 7, so here directly remove the operation of this bit 7, make sure the fix of ERR004536 can work.
Well, rather than relying on the bootloader, let the kernel do the right thing. That is, write a zero to the register bit rather than a one.
Is the code doing that?
Yes, write a zero to the register bit is correct. Why I just remove the code rather than directly write 0 to this bit is because the register 0x6c should be invisible to software, and is not defined in reference manual. It is a register only open for IC to test. If you prefer to write a zero to the register bit, I can do that.
I think that would be more safe, so yes, please.
[...]
Kind regards Uffe