summaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorPavan Kunapuli <pkunapuli@nvidia.com>2013-08-06 15:40:26 +0530
committerRiham Haidar <rhaidar@nvidia.com>2013-08-18 15:04:24 -0700
commit836c16ce754c154856369cc2d5494ece77aa573c (patch)
tree4dd8023c0df82ba98b806c196f9847b63fa00419 /drivers/mmc
parentf6584fedc175153e5d0ad2006f83b5c4e26bcb71 (diff)
mmc: sdhci: Use quirks2 for defining new quirks
Revert back quirks to 32 bits long and use quirks2 to define any new required quirks. Bug 1330567 Change-Id: I5e7095fb18b2ccd19df44338e42b2a69d94be787 Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com> Reviewed-on: http://git-master/r/260564 Reviewed-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com> GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sdhci-pltfm.h2
-rw-r--r--drivers/mmc/host/sdhci-tegra.c10
-rw-r--r--drivers/mmc/host/sdhci.c6
3 files changed, 9 insertions, 9 deletions
diff --git a/drivers/mmc/host/sdhci-pltfm.h b/drivers/mmc/host/sdhci-pltfm.h
index d2809f7d7bd7..e5b0c299414e 100644
--- a/drivers/mmc/host/sdhci-pltfm.h
+++ b/drivers/mmc/host/sdhci-pltfm.h
@@ -17,7 +17,7 @@
struct sdhci_pltfm_data {
struct sdhci_ops *ops;
- u64 quirks;
+ u32 quirks;
u32 quirks2;
};
diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 623a205f7732..f0c28f285f8c 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -2377,8 +2377,6 @@ static struct sdhci_pltfm_data sdhci_tegra20_pdata = {
.quirks = SDHCI_QUIRK_BROKEN_TIMEOUT_VAL |
#ifndef CONFIG_ARCH_TEGRA_2x_SOC
SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
- SDHCI_QUIRK_NON_STD_VOLTAGE_SWITCHING |
- SDHCI_QUIRK_NON_STANDARD_TUNING |
#endif
#ifdef CONFIG_ARCH_TEGRA_3x_SOC
SDHCI_QUIRK_NONSTANDARD_CLOCK |
@@ -2386,9 +2384,11 @@ static struct sdhci_pltfm_data sdhci_tegra20_pdata = {
SDHCI_QUIRK_SINGLE_POWER_WRITE |
SDHCI_QUIRK_NO_HISPD_BIT |
SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC |
- SDHCI_QUIRK_BROKEN_CARD_DETECTION |
- SDHCI_QUIRK_NO_CALC_MAX_DISCARD_TO,
- .quirks2 = SDHCI_QUIRK2_BROKEN_PRESET_VALUES,
+ SDHCI_QUIRK_BROKEN_CARD_DETECTION,
+ .quirks2 = SDHCI_QUIRK2_BROKEN_PRESET_VALUES |
+ SDHCI_QUIRK2_NON_STD_VOLTAGE_SWITCHING |
+ SDHCI_QUIRK2_NON_STANDARD_TUNING |
+ SDHCI_QUIRK2_NO_CALC_MAX_DISCARD_TO,
.ops = &tegra_sdhci_ops,
};
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 5ff3755e9982..928126dd3654 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1628,7 +1628,7 @@ static int sdhci_do_start_signal_voltage_switch(struct sdhci_host *host,
if (host->version < SDHCI_SPEC_300)
return 0;
- if (host->quirks & SDHCI_QUIRK_NON_STD_VOLTAGE_SWITCHING) {
+ if (host->quirks2 & SDHCI_QUIRK2_NON_STD_VOLTAGE_SWITCHING) {
if (host->ops->switch_signal_voltage)
return host->ops->switch_signal_voltage(
host, ios->signal_voltage);
@@ -1751,7 +1751,7 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
disable_irq(host->irq);
spin_lock(&host->lock);
- if ((host->quirks & SDHCI_QUIRK_NON_STANDARD_TUNING) &&
+ if ((host->quirks2 & SDHCI_QUIRK2_NON_STANDARD_TUNING) &&
host->ops->execute_freq_tuning) {
err = host->ops->execute_freq_tuning(host, opcode);
spin_unlock(&host->lock);
@@ -2948,7 +2948,7 @@ int sdhci_add_host(struct sdhci_host *host)
if (host->quirks & SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK)
host->timeout_clk = mmc->f_max / 1000;
- if (!(host->quirks & SDHCI_QUIRK_NO_CALC_MAX_DISCARD_TO))
+ if (!(host->quirks2 & SDHCI_QUIRK2_NO_CALC_MAX_DISCARD_TO))
mmc->max_discard_to = (1 << 27) / host->timeout_clk;
if (host->quirks & SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12)