diff options
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/sdhci.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index ff59d2e0475b..17b4e391db35 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c | |||
@@ -26,12 +26,22 @@ | |||
26 | 26 | ||
27 | static unsigned int debug_quirks = 0; | 27 | static unsigned int debug_quirks = 0; |
28 | 28 | ||
29 | /* | ||
30 | * Different quirks to handle when the hardware deviates from a strict | ||
31 | * interpretation of the SDHCI specification. | ||
32 | */ | ||
33 | |||
34 | /* Controller doesn't honor resets unless we touch the clock register */ | ||
29 | #define SDHCI_QUIRK_CLOCK_BEFORE_RESET (1<<0) | 35 | #define SDHCI_QUIRK_CLOCK_BEFORE_RESET (1<<0) |
36 | /* Controller has bad caps bits, but really supports DMA */ | ||
30 | #define SDHCI_QUIRK_FORCE_DMA (1<<1) | 37 | #define SDHCI_QUIRK_FORCE_DMA (1<<1) |
31 | /* Controller doesn't like some resets when there is no card inserted. */ | 38 | /* Controller doesn't like some resets when there is no card inserted. */ |
32 | #define SDHCI_QUIRK_NO_CARD_NO_RESET (1<<2) | 39 | #define SDHCI_QUIRK_NO_CARD_NO_RESET (1<<2) |
40 | /* Controller doesn't like clearing the power reg before a change */ | ||
33 | #define SDHCI_QUIRK_SINGLE_POWER_WRITE (1<<3) | 41 | #define SDHCI_QUIRK_SINGLE_POWER_WRITE (1<<3) |
42 | /* Controller has flaky internal state so reset it on each ios change */ | ||
34 | #define SDHCI_QUIRK_RESET_CMD_DATA_ON_IOS (1<<4) | 43 | #define SDHCI_QUIRK_RESET_CMD_DATA_ON_IOS (1<<4) |
44 | /* Controller has an unusable DMA engine */ | ||
35 | #define SDHCI_QUIRK_BROKEN_DMA (1<<5) | 45 | #define SDHCI_QUIRK_BROKEN_DMA (1<<5) |
36 | 46 | ||
37 | static const struct pci_device_id pci_ids[] __devinitdata = { | 47 | static const struct pci_device_id pci_ids[] __devinitdata = { |