mmc: tegra: Set broken preset values quirk
Pavan Kunapuli [Tue, 25 Sep 2012 17:01:43 +0000 (22:01 +0530)]
Do not enable preset values for tegra sdmmc
controller as fixed clock divisor values need
to be used for ddr and sdr50 modes.

Bug 1157930

Change-Id: I8c453cc4fe48029dfe7ae5b1c42c6bf3f8dac9dc
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-on: http://git-master/r/159562
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>

drivers/mmc/host/sdhci-pltfm.c
drivers/mmc/host/sdhci-pltfm.h
drivers/mmc/host/sdhci-tegra.c

index 9bf6444..5bed017 100644 (file)
@@ -125,8 +125,11 @@ struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev,
                host->ops = pdata->ops;
        else
                host->ops = &sdhci_pltfm_ops;
-       if (pdata)
+       if (pdata) {
                host->quirks = pdata->quirks;
+               host->quirks2 = pdata->quirks2;
+       }
+
        host->irq = platform_get_irq(pdev, 0);
 
        if (!request_mem_region(iomem->start, resource_size(iomem),
index f1b8756..d2809f7 100644 (file)
@@ -18,6 +18,7 @@
 struct sdhci_pltfm_data {
        struct sdhci_ops *ops;
        u64 quirks;
+       u32 quirks2;
 };
 
 struct sdhci_pltfm_host {
index 433f54a..8bb6303 100644 (file)
@@ -1082,6 +1082,7 @@ static struct sdhci_pltfm_data sdhci_tegra20_pdata = {
                  SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC |
                  SDHCI_QUIRK_BROKEN_CARD_DETECTION |
                  SDHCI_QUIRK_NO_CALC_MAX_DISCARD_TO,
+       .quirks2 = SDHCI_QUIRK2_BROKEN_PRESET_VALUES,
        .ops  = &tegra_sdhci_ops,
 };