mmc: sdhci-msm: detect if tassadar_dll is used by using core version
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 12 Nov 2020 17:36:36 +0000 (20:36 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 17 Nov 2020 11:35:35 +0000 (12:35 +0100)
Detect if tassadar_dll is required by using core version rather than
just specifying it in the sdhci_msm_variant_info.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Reviewed-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Link: https://lore.kernel.org/r/20201112173636.360186-1-dmitry.baryshkov@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-msm.c

index 3451eb3255135fff643567a41f1ba12fa3e01c29..9c7927b03253b44d0aa8921e791b8cf36e8a3205 100644 (file)
@@ -248,7 +248,6 @@ struct sdhci_msm_variant_ops {
 struct sdhci_msm_variant_info {
        bool mci_removed;
        bool restore_dll_config;
-       bool uses_tassadar_dll;
        const struct sdhci_msm_variant_ops *var_ops;
        const struct sdhci_msm_offset *offset;
 };
@@ -2154,18 +2153,10 @@ static const struct sdhci_msm_variant_info sdm845_sdhci_var = {
        .offset = &sdhci_msm_v5_offset,
 };
 
-static const struct sdhci_msm_variant_info sm8250_sdhci_var = {
-       .mci_removed = true,
-       .uses_tassadar_dll = true,
-       .var_ops = &v5_var_ops,
-       .offset = &sdhci_msm_v5_offset,
-};
-
 static const struct of_device_id sdhci_msm_dt_match[] = {
        {.compatible = "qcom,sdhci-msm-v4", .data = &sdhci_msm_mci_var},
        {.compatible = "qcom,sdhci-msm-v5", .data = &sdhci_msm_v5_var},
        {.compatible = "qcom,sdm845-sdhci", .data = &sdm845_sdhci_var},
-       {.compatible = "qcom,sm8250-sdhci", .data = &sm8250_sdhci_var},
        {.compatible = "qcom,sc7180-sdhci", .data = &sdm845_sdhci_var},
        {},
 };
@@ -2249,7 +2240,6 @@ static int sdhci_msm_probe(struct platform_device *pdev)
        msm_host->restore_dll_config = var_info->restore_dll_config;
        msm_host->var_ops = var_info->var_ops;
        msm_host->offset = var_info->offset;
-       msm_host->uses_tassadar_dll = var_info->uses_tassadar_dll;
 
        msm_offset = msm_host->offset;
 
@@ -2396,6 +2386,9 @@ static int sdhci_msm_probe(struct platform_device *pdev)
        if (core_major == 1 && core_minor >= 0x49)
                msm_host->updated_ddr_cfg = true;
 
+       if (core_major == 1 && core_minor >= 0x71)
+               msm_host->uses_tassadar_dll = true;
+
        ret = sdhci_msm_register_vreg(msm_host);
        if (ret)
                goto clk_disable;