diff options
author | Anton Vorontsov <avorontsov@ru.mvista.com> | 2009-03-16 22:13:52 +0100 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2009-03-24 21:30:08 +0100 |
commit | 68d1fb7e229c6f95be4fbbe3eb46b24e41184924 (patch) | |
tree | 09e60a2e1e5b3569dd309348a8c164c859c89671 /drivers/mmc/host/sdhci.h | |
parent | sdhci: Enable only relevant (DMA/PIO) interrupts during transfers (diff) | |
download | linux-68d1fb7e229c6f95be4fbbe3eb46b24e41184924.tar.xz linux-68d1fb7e229c6f95be4fbbe3eb46b24e41184924.zip |
sdhci: Add support for card-detection polling
This patch adds SDHCI_QUIRK_BROKEN_CARD_DETECTION quirk. When specified,
sdhci driver will set MMC_CAP_NEEDS_POLL MMC host capability, and won't
enable card insert/remove interrupts.
This is needed for hosts with unreliable card detection, such as FSL
eSDHC. The original eSDHC driver was tring to "debounce" card-detection
IRQs by reading present state and disabling particular interrupts. But
with this debouncing scheme I noticed that sometimes we miss card
insertion/removal events.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/host/sdhci.h')
-rw-r--r-- | drivers/mmc/host/sdhci.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h index a9e25c6c0c0e..968d713950f1 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -214,6 +214,8 @@ struct sdhci_host { #define SDHCI_QUIRK_BROKEN_SMALL_PIO (1<<13) /* Controller does not provide transfer-complete interrupt when not busy */ #define SDHCI_QUIRK_NO_BUSY_IRQ (1<<14) +/* Controller has unreliable card detection */ +#define SDHCI_QUIRK_BROKEN_CARD_DETECTION (1<<15) int irq; /* Device IRQ */ void __iomem * ioaddr; /* Mapped address */ |