aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/dw_mmc.c
diff options
context:
space:
mode:
authorJaehoon Chung <jh80.chung@samsung.com>2012-02-04 17:00:27 -0500
committerChris Ball <cjb@laptop.org>2012-03-25 19:33:44 -0400
commita39e5746e429b1dae1a71b3ddb05fd82916447c9 (patch)
treee0d959759d3194baad57683da87b7275b687764d /drivers/mmc/host/dw_mmc.c
parent62ca8034d940439490a450ae7e2b7702591e3192 (diff)
mmc: dw_mmc: Override blk_settings with platdata on IDMAC
When use the IDMAC, we can also want to use the pdata->blk-setting. So if pdata->blk-setting is unset, use the default value. if not, use the pdata->blk-setting. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Will Newton <will.newton@imgtec.com> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/host/dw_mmc.c')
-rw-r--r--drivers/mmc/host/dw_mmc.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 987a26549711..d1edf15b29fc 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -1725,13 +1725,6 @@ static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id)
1725 else 1725 else
1726 mmc->power_notify_type = MMC_HOST_PW_NOTIFY_NONE; 1726 mmc->power_notify_type = MMC_HOST_PW_NOTIFY_NONE;
1727 1727
1728#ifdef CONFIG_MMC_DW_IDMAC
1729 mmc->max_segs = host->ring_size;
1730 mmc->max_blk_size = 65536;
1731 mmc->max_blk_count = host->ring_size;
1732 mmc->max_seg_size = 0x1000;
1733 mmc->max_req_size = mmc->max_seg_size * mmc->max_blk_count;
1734#else
1735 if (host->pdata->blk_settings) { 1728 if (host->pdata->blk_settings) {
1736 mmc->max_segs = host->pdata->blk_settings->max_segs; 1729 mmc->max_segs = host->pdata->blk_settings->max_segs;
1737 mmc->max_blk_size = host->pdata->blk_settings->max_blk_size; 1730 mmc->max_blk_size = host->pdata->blk_settings->max_blk_size;
@@ -1740,13 +1733,20 @@ static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id)
1740 mmc->max_seg_size = host->pdata->blk_settings->max_seg_size; 1733 mmc->max_seg_size = host->pdata->blk_settings->max_seg_size;
1741 } else { 1734 } else {
1742 /* Useful defaults if platform data is unset. */ 1735 /* Useful defaults if platform data is unset. */
1736#ifdef CONFIG_MMC_DW_IDMAC
1737 mmc->max_segs = host->ring_size;
1738 mmc->max_blk_size = 65536;
1739 mmc->max_blk_count = host->ring_size;
1740 mmc->max_seg_size = 0x1000;
1741 mmc->max_req_size = mmc->max_seg_size * mmc->max_blk_count;
1742#else
1743 mmc->max_segs = 64; 1743 mmc->max_segs = 64;
1744 mmc->max_blk_size = 65536; /* BLKSIZ is 16 bits */ 1744 mmc->max_blk_size = 65536; /* BLKSIZ is 16 bits */
1745 mmc->max_blk_count = 512; 1745 mmc->max_blk_count = 512;
1746 mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count; 1746 mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count;
1747 mmc->max_seg_size = mmc->max_req_size; 1747 mmc->max_seg_size = mmc->max_req_size;
1748 }
1749#endif /* CONFIG_MMC_DW_IDMAC */ 1748#endif /* CONFIG_MMC_DW_IDMAC */
1749 }
1750 1750
1751 host->vmmc = regulator_get(mmc_dev(mmc), "vmmc"); 1751 host->vmmc = regulator_get(mmc_dev(mmc), "vmmc");
1752 if (IS_ERR(host->vmmc)) { 1752 if (IS_ERR(host->vmmc)) {