diff options
author | Pierre Ossman <drzeus@drzeus.cx> | 2006-11-21 11:55:45 -0500 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2007-02-04 14:54:10 -0500 |
commit | 55db890a838c7b37256241b1fc53d6344aa79cc0 (patch) | |
tree | 02d5868f69a15eea69aaf517b67bc9cbdffe2ff8 /drivers/mmc/omap.c | |
parent | fe4a3c7a20f14d86022a8132adbf6ddb98e7197c (diff) |
mmc: Allow host drivers to specify max block count
Many controllers have an upper limit on the number of blocks that can be
transferred in one request. Allow the host drivers to specify this and make
sure we avoid hitting this limit.
Also change the max_sectors field to avoid confusion. This makes it map
less directly to the block layer limits, but as they didn't apply directly
on MMC cards anyway, this isn't a great loss.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/omap.c')
-rw-r--r-- | drivers/mmc/omap.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/mmc/omap.c b/drivers/mmc/omap.c index fa69a0dc5969..1e96a2f65022 100644 --- a/drivers/mmc/omap.c +++ b/drivers/mmc/omap.c | |||
@@ -1100,8 +1100,9 @@ static int __init mmc_omap_probe(struct platform_device *pdev) | |||
1100 | mmc->max_phys_segs = 32; | 1100 | mmc->max_phys_segs = 32; |
1101 | mmc->max_hw_segs = 32; | 1101 | mmc->max_hw_segs = 32; |
1102 | mmc->max_blk_size = 2048; /* BLEN is 11 bits (+1) */ | 1102 | mmc->max_blk_size = 2048; /* BLEN is 11 bits (+1) */ |
1103 | mmc->max_sectors = 256; /* NBLK max 11-bits, OMAP also limited by DMA */ | 1103 | mmc->max_blk_count = 2048; /* NBLK is 11 bits (+1) */ |
1104 | mmc->max_seg_size = mmc->max_sectors * 512; | 1104 | mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count; |
1105 | mmc->max_seg_size = mmc->max_req_size; | ||
1105 | 1106 | ||
1106 | if (host->power_pin >= 0) { | 1107 | if (host->power_pin >= 0) { |
1107 | if ((ret = omap_request_gpio(host->power_pin)) != 0) { | 1108 | if ((ret = omap_request_gpio(host->power_pin)) != 0) { |