On few SDHCI-MSM controllers, the host controller's clock tuning circuit may go out of sync if controller clocks are gated which eventually, result in data CRC and command CRC/timeout errors. To fix this issue, the DLL needs to be re-initialized and restored with its old settings once clocks are ungated. Changes since V1: - Replaced dt flag with a dt compatible string to indicate SHDCI-MSM controller varients which need this fix. - Moved the DLL settings restoration logic from request context to platform driver runtime pm context. Tested on: sdm845 Requies patch series:"[PATCH V2 0/3] Internal voltage control for platform drivers" Veerabhadrarao Badiganti (2): dt-bindings: mmc: sdhci-msm: Add new compatible string for sdcdc10 DLL mmc: sdhci-msm: Re-initialize DLL if MCLK is gated dynamically .../devicetree/bindings/mmc/sdhci-msm.txt | 4 ++ drivers/mmc/host/sdhci-msm.c | 67 +++++++++++++++++++++- 2 files changed, 69 insertions(+), 2 deletions(-) -- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.