diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2010-11-11 06:15:06 -0500 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2011-01-08 23:52:27 -0500 |
commit | 729b0c79c2c0f631bffe1be5abaf291febf7792f (patch) | |
tree | 0c15158322e89a401d25adc8da7a59696f76c916 /drivers/mmc | |
parent | 1a2727e98786136fb968b18d96f8ecdd9ba38aa8 (diff) |
mmc: tmio_mmc: allow multi-element scatter-gather lists
The driver is capable of handling multi-element sg lists in both PIO and
DMA modes. In DMA mode this also allows to use the DMA sg capability more
efficiently and almost doubles the throughput.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/tmio_mmc.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/mmc/host/tmio_mmc.c b/drivers/mmc/host/tmio_mmc.c index e7765a89593e..4e75799291ca 100644 --- a/drivers/mmc/host/tmio_mmc.c +++ b/drivers/mmc/host/tmio_mmc.c | |||
@@ -864,10 +864,15 @@ static int __devinit tmio_mmc_probe(struct platform_device *dev) | |||
864 | goto host_free; | 864 | goto host_free; |
865 | 865 | ||
866 | mmc->ops = &tmio_mmc_ops; | 866 | mmc->ops = &tmio_mmc_ops; |
867 | mmc->caps = MMC_CAP_4_BIT_DATA; | 867 | mmc->caps = MMC_CAP_4_BIT_DATA | pdata->capabilities; |
868 | mmc->caps |= pdata->capabilities; | ||
869 | mmc->f_max = pdata->hclk; | 868 | mmc->f_max = pdata->hclk; |
870 | mmc->f_min = mmc->f_max / 512; | 869 | mmc->f_min = mmc->f_max / 512; |
870 | mmc->max_segs = 32; | ||
871 | mmc->max_blk_size = 512; | ||
872 | mmc->max_blk_count = (PAGE_CACHE_SIZE / mmc->max_blk_size) * | ||
873 | mmc->max_segs; | ||
874 | mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count; | ||
875 | mmc->max_seg_size = mmc->max_req_size; | ||
871 | if (pdata->ocr_mask) | 876 | if (pdata->ocr_mask) |
872 | mmc->ocr_avail = pdata->ocr_mask; | 877 | mmc->ocr_avail = pdata->ocr_mask; |
873 | else | 878 | else |