]> git.baikalelectronics.ru Git - kernel.git/commit
mmc: sdhci-esdhc-imx: Fix DAT line software reset
authorBenoît Thébaudeau <benoit@wsystem.com>
Tue, 30 May 2017 09:14:09 +0000 (11:14 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 20 Jun 2017 08:30:33 +0000 (10:30 +0200)
commit9b8f8b2b63634021754e69d0574a1954a573f888
tree18529b6fd5bab6f1c294e14a2028f547072105f9
parent5ebf9cc9d8ccb314bf1862ee3a894d544b55378d
mmc: sdhci-esdhc-imx: Fix DAT line software reset

On i.MX25, the eSDHC DAT line software reset (SYSCTL.RSTD) unexpectedly
clears at least the data transfer width (PROCTL.DTW), which then results
in data CRC errors. This behavior is not documented, but it has actually
been observed. Consequently, the DAT line software resets triggered by
sdhci.c in case of errors caused unrecoverable errors.

Fix this by making sure that the DAT line software reset does not alter
the Host Control register. This behavior being undocumented, it may also
be present on other i.MX SoCs, so apply this fix for the whole i.MX
family.

Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-esdhc-imx.c