diff options
author | Jaehoon Chung <jh80.chung@samsung.com> | 2012-02-04 17:00:27 -0500 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2012-03-25 19:33:44 -0400 |
commit | a39e5746e429b1dae1a71b3ddb05fd82916447c9 (patch) | |
tree | e0d959759d3194baad57683da87b7275b687764d /drivers/mmc/host/dw_mmc.c | |
parent | 62ca8034d940439490a450ae7e2b7702591e3192 (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.c | 16 |
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)) { |