MLK-13179-1 mmc: sdhci-esdhci-imx: retune needed for Mega/Mix enabled SoCs
authorDong Aisheng <aisheng.dong@nxp.com>
Wed, 17 Aug 2016 13:20:38 +0000 (21:20 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:52:13 +0000 (14:52 -0500)
commit4c9dfcc78a63d4629dc1adcb938f57882d566173
tree369aecc77027d088ee113619d85f30da800d6096
parent07585faed1b003ef39e02db1326350413d983a7d
MLK-13179-1 mmc: sdhci-esdhci-imx: retune needed for Mega/Mix enabled SoCs

For Mega/Mix enabled SoCs like MX7D and MX6SX, uSDHC will lost power in
LP mode no matter whether the MMC_KEEP_POWER flag is set or not.
This may cause state misalign between kernel and HW, especially for
SDIO3.0 WiFi cards.
e.g. SDIO WiFi driver usually will keep power during system suspend.
And after resume, no card re-enumeration called.
But the tuning state is lost due to Mega/Mix.
Then CRC error may happen during next data transfer.

So we should always fire a mmc_retune_needed() for such type SoC
to tell MMC core retuning is needed for next data transfer.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
drivers/mmc/host/sdhci-esdhc-imx.c