From: Veerabhadrarao Badiganti <[email protected]>

commit 9253d71011c349d5f5cc0cebdf68b4a80811b92d upstream.

Clear tuning_done flag while executing tuning to ensure vendor
specific HS400 settings are applied properly when the controller
is re-initialized in HS400 mode.

Without this, re-initialization of the qcom SDHC in HS400 mode fails
while resuming the driver from runtime-suspend or system-suspend.

Fixes: ff06ce417828 ("mmc: sdhci-msm: Add HS400 platform support")
Cc: [email protected]
Signed-off-by: Veerabhadrarao Badiganti <[email protected]>
Link: 
https://lore.kernel.org/r/[email protected]
Signed-off-by: Ulf Hansson <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/mmc/host/sdhci-msm.c |    6 ++++++
 1 file changed, 6 insertions(+)

--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -1084,6 +1084,12 @@ static int sdhci_msm_execute_tuning(stru
        msm_host->use_cdr = true;
 
        /*
+        * Clear tuning_done flag before tuning to ensure proper
+        * HS400 settings.
+        */
+       msm_host->tuning_done = 0;
+
+       /*
         * For HS400 tuning in HS200 timing requires:
         * - select MCLK/2 in VENDOR_SPEC
         * - program MCLK to 400MHz (or nearest supported) in GCC


Reply via email to