mmc: sdhci-acpi: Clear amd_sdhci_host on reset
authorRaul E Rangel <rrangel@chromium.org>
Mon, 31 Aug 2020 21:10:32 +0000 (15:10 -0600)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 7 Sep 2020 06:57:44 +0000 (08:57 +0200)
commit2cf9bfe9be75ed3656bbf882fb70c3e3047866e4
treeae43ebd3aac788f05c5daeba51d4e5e1f5744231
parentf4d51dffc6c01a9e94650d95ce0104964f8ae822
mmc: sdhci-acpi: Clear amd_sdhci_host on reset

The commit 61d7437ed1390 ("mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040")
broke resume for eMMC HS400. When the system suspends the eMMC controller
is powered down. So, on resume we need to reinitialize the controller.
Although, amd_sdhci_host was not getting cleared, so the DLL was never
re-enabled on resume. This results in HS400 being non-functional.

To fix the problem, this change clears the tuned_clock flag, clears the
dll_enabled flag and disables the DLL on reset.

Fixes: 61d7437ed1390 ("mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040")
Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20200831150517.1.I93c78bfc6575771bb653c9d3fca5eb018a08417d@changeid
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-acpi.c