aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2010-11-11 06:15:06 -0500
committerChris Ball <cjb@laptop.org>2011-01-08 23:52:27 -0500
commit729b0c79c2c0f631bffe1be5abaf291febf7792f (patch)
tree0c15158322e89a401d25adc8da7a59696f76c916 /drivers/mmc/host
parent1a2727e98786136fb968b18d96f8ecdd9ba38aa8 (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/host')
-rw-r--r--drivers/mmc/host/tmio_mmc.c9
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