|
@@ -26,12 +26,22 @@
|
|
|
|
|
|
static unsigned int debug_quirks = 0;
|
|
|
|
|
|
+/*
|
|
|
+ * Different quirks to handle when the hardware deviates from a strict
|
|
|
+ * interpretation of the SDHCI specification.
|
|
|
+ */
|
|
|
+
|
|
|
+/* Controller doesn't honor resets unless we touch the clock register */
|
|
|
#define SDHCI_QUIRK_CLOCK_BEFORE_RESET (1<<0)
|
|
|
+/* Controller has bad caps bits, but really supports DMA */
|
|
|
#define SDHCI_QUIRK_FORCE_DMA (1<<1)
|
|
|
/* Controller doesn't like some resets when there is no card inserted. */
|
|
|
#define SDHCI_QUIRK_NO_CARD_NO_RESET (1<<2)
|
|
|
+/* Controller doesn't like clearing the power reg before a change */
|
|
|
#define SDHCI_QUIRK_SINGLE_POWER_WRITE (1<<3)
|
|
|
+/* Controller has flaky internal state so reset it on each ios change */
|
|
|
#define SDHCI_QUIRK_RESET_CMD_DATA_ON_IOS (1<<4)
|
|
|
+/* Controller has an unusable DMA engine */
|
|
|
#define SDHCI_QUIRK_BROKEN_DMA (1<<5)
|
|
|
|
|
|
static const struct pci_device_id pci_ids[] __devinitdata = {
|