aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/host')
-rw-r--r--drivers/mmc/host/Kconfig7
-rw-r--r--drivers/mmc/host/s3cmci.c9
2 files changed, 14 insertions, 2 deletions
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index cf6a6545240b..432ae8358c86 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -276,6 +276,13 @@ config MMC_S3C
276 276
277 If unsure, say N. 277 If unsure, say N.
278 278
279config MMC_S3C_HW_SDIO_IRQ
280 bool "Hardware support for SDIO IRQ"
281 depends on MMC_S3C
282 help
283 Enable the hardware support for SDIO interrupts instead of using
284 the generic polling code.
285
279choice 286choice
280 prompt "Samsung S3C SD/MMC transfer code" 287 prompt "Samsung S3C SD/MMC transfer code"
281 depends on MMC_S3C 288 depends on MMC_S3C
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
index 0af972275d45..4b627ca16cca 100644
--- a/drivers/mmc/host/s3cmci.c
+++ b/drivers/mmc/host/s3cmci.c
@@ -1715,7 +1715,11 @@ static int __devinit s3cmci_probe(struct platform_device *pdev)
1715 1715
1716 mmc->ops = &s3cmci_ops; 1716 mmc->ops = &s3cmci_ops;
1717 mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; 1717 mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
1718#ifdef CONFIG_MMC_S3C_HW_SDIO_IRQ
1718 mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SDIO_IRQ; 1719 mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SDIO_IRQ;
1720#else
1721 mmc->caps = MMC_CAP_4_BIT_DATA;
1722#endif
1719 mmc->f_min = host->clk_rate / (host->clk_div * 256); 1723 mmc->f_min = host->clk_rate / (host->clk_div * 256);
1720 mmc->f_max = host->clk_rate / host->clk_div; 1724 mmc->f_max = host->clk_rate / host->clk_div;
1721 1725
@@ -1750,8 +1754,9 @@ static int __devinit s3cmci_probe(struct platform_device *pdev)
1750 s3cmci_debugfs_attach(host); 1754 s3cmci_debugfs_attach(host);
1751 1755
1752 platform_set_drvdata(pdev, mmc); 1756 platform_set_drvdata(pdev, mmc);
1753 dev_info(&pdev->dev, "%s - using %s\n", mmc_hostname(mmc), 1757 dev_info(&pdev->dev, "%s - using %s, %s SDIO IRQ\n", mmc_hostname(mmc),
1754 s3cmci_host_usedma(host) ? "dma" : "pio"); 1758 s3cmci_host_usedma(host) ? "dma" : "pio",
1759 mmc->caps & MMC_CAP_SDIO_IRQ ? "hw" : "sw");
1755 1760
1756 return 0; 1761 return 0;
1757 1762