|
@@ -2444,19 +2444,20 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id)
|
|
|
mmc->max_seg_size = host->pdata->blk_settings->max_seg_size;
|
|
|
} else {
|
|
|
/* Useful defaults if platform data is unset. */
|
|
|
-#ifdef CONFIG_MMC_DW_IDMAC
|
|
|
- mmc->max_segs = host->ring_size;
|
|
|
- mmc->max_blk_size = 65536;
|
|
|
- mmc->max_seg_size = DW_MCI_DESC_DATA_LENGTH;
|
|
|
- mmc->max_req_size = mmc->max_seg_size * host->ring_size;
|
|
|
- mmc->max_blk_count = mmc->max_req_size / 512;
|
|
|
-#else
|
|
|
- mmc->max_segs = 64;
|
|
|
- mmc->max_blk_size = 65536; /* BLKSIZ is 16 bits */
|
|
|
- mmc->max_blk_count = 512;
|
|
|
- mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count;
|
|
|
- mmc->max_seg_size = mmc->max_req_size;
|
|
|
-#endif /* CONFIG_MMC_DW_IDMAC */
|
|
|
+ if (host->use_dma) {
|
|
|
+ mmc->max_segs = host->ring_size;
|
|
|
+ mmc->max_blk_size = 65536;
|
|
|
+ mmc->max_seg_size = 0x1000;
|
|
|
+ mmc->max_req_size = mmc->max_seg_size * host->ring_size;
|
|
|
+ mmc->max_blk_count = mmc->max_req_size / 512;
|
|
|
+ } else {
|
|
|
+ mmc->max_segs = 64;
|
|
|
+ mmc->max_blk_size = 65536; /* BLKSIZ is 16 bits */
|
|
|
+ mmc->max_blk_count = 512;
|
|
|
+ mmc->max_req_size = mmc->max_blk_size *
|
|
|
+ mmc->max_blk_count;
|
|
|
+ mmc->max_seg_size = mmc->max_req_size;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (dw_mci_get_cd(mmc))
|