diff options
Diffstat (limited to 'drivers/mmc/host/sdhci.c')
-rw-r--r-- | drivers/mmc/host/sdhci.c | 9 |
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. " |