Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
sdhci: Add NO_BUSY_IRQ quirk for Marvell CAFE host chip
sdhci: Add quirk for controllers with no end-of-busy IRQ

+7 -1
+1
drivers/mmc/host/sdhci-pci.c
··· 107 107 108 108 static const struct sdhci_pci_fixes sdhci_cafe = { 109 109 .quirks = SDHCI_QUIRK_NO_SIMULT_VDD_AND_POWER | 110 + SDHCI_QUIRK_NO_BUSY_IRQ | 110 111 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL, 111 112 }; 112 113
+4 -1
drivers/mmc/host/sdhci.c
··· 1291 1291 if (host->cmd->data) 1292 1292 DBG("Cannot wait for busy signal when also " 1293 1293 "doing a data transfer"); 1294 - else 1294 + else if (!(host->quirks & SDHCI_QUIRK_NO_BUSY_IRQ)) 1295 1295 return; 1296 + 1297 + /* The controller does not support the end-of-busy IRQ, 1298 + * fall through and take the SDHCI_INT_RESPONSE */ 1296 1299 } 1297 1300 1298 1301 if (intmask & SDHCI_INT_RESPONSE)
+2
drivers/mmc/host/sdhci.h
··· 208 208 #define SDHCI_QUIRK_BROKEN_TIMEOUT_VAL (1<<12) 209 209 /* Controller has an issue with buffer bits for small transfers */ 210 210 #define SDHCI_QUIRK_BROKEN_SMALL_PIO (1<<13) 211 + /* Controller does not provide transfer-complete interrupt when not busy */ 212 + #define SDHCI_QUIRK_NO_BUSY_IRQ (1<<14) 211 213 212 214 int irq; /* Device IRQ */ 213 215 void __iomem * ioaddr; /* Mapped address */