aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sdhci.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 317578d68538..866528c4ac10 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1299,13 +1299,18 @@ static int __devinit sdhci_probe_slot(struct pci_dev *pdev, int slot)
1299 host->flags |= SDHCI_USE_DMA; 1299 host->flags |= SDHCI_USE_DMA;
1300 } else if (chip->quirks & SDHCI_QUIRK_FORCE_DMA) 1300 } else if (chip->quirks & SDHCI_QUIRK_FORCE_DMA)
1301 host->flags |= SDHCI_USE_DMA; 1301 host->flags |= SDHCI_USE_DMA;
1302 else if ((pdev->class & 0x0000FF) != PCI_SDHCI_IFDMA)
1303 DBG("Controller doesn't have DMA interface\n");
1304 else if (!(caps & SDHCI_CAN_DO_DMA)) 1302 else if (!(caps & SDHCI_CAN_DO_DMA))
1305 DBG("Controller doesn't have DMA capability\n"); 1303 DBG("Controller doesn't have DMA capability\n");
1306 else 1304 else
1307 host->flags |= SDHCI_USE_DMA; 1305 host->flags |= SDHCI_USE_DMA;
1308 1306
1307 if (((pdev->class & 0x0000FF) != PCI_SDHCI_IFDMA) &&
1308 (host->flags & SDHCI_USE_DMA)) {
1309 printk(KERN_WARNING "%s: Will use DMA "
1310 "mode even though HW doesn't fully "
1311 "claim to support it.\n", host->slot_descr);
1312 }
1313
1309 if (host->flags & SDHCI_USE_DMA) { 1314 if (host->flags & SDHCI_USE_DMA) {
1310 if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { 1315 if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) {
1311 printk(KERN_WARNING "%s: No suitable DMA available. " 1316 printk(KERN_WARNING "%s: No suitable DMA available. "