diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-06 17:54:54 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-06 17:54:54 -0500 |
| commit | 2442d3109943bafbdfc4f0495e3d10eeedc8390c (patch) | |
| tree | 9700491eb6ca418ee226c5d8438464a1a2c87281 /drivers/mmc/mmci.c | |
| parent | 02aedd69e2ef31b0fca1e8960cb1e7fd0c343110 (diff) | |
| parent | f9d429a2e579ed7c51c49a81265f7e7d2c59c197 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (32 commits)
mmc: tifm: replace kmap with page_address
mmc: sdhci: fix voltage ocr
mmc: sdhci: replace kmap with page_address
mmc: wbsd: replace kmap with page_address
mmc: handle pci_enable_device() return value in sdhci
mmc: Proper unclaim in mmc_block
mmc: change wbsd mailing list
mmc: Graceful fallback for fancy features
mmc: Handle wbsd's stupid command list
mmc: Allow host drivers to specify max block count
mmc: Allow host drivers to specify a max block size
tifm_sd: add suspend and resume functionality
tifm_core: add suspend/resume infrastructure for tifm devices
tifm_7xx1: prettify
tifm_7xx1: recognize device 0xac8f as supported
tifm_7xx1: switch from workqueue to kthread
tifm_7xx1: Merge media insert and media remove functions
tifm_7xx1: simplify eject function
Add dummy_signal_irq function to save check in ISR
Remove unused return value from signal_irq callback
...
Diffstat (limited to 'drivers/mmc/mmci.c')
| -rw-r--r-- | drivers/mmc/mmci.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/mmc/mmci.c b/drivers/mmc/mmci.c index ccfe6561be24..5941dd951e82 100644 --- a/drivers/mmc/mmci.c +++ b/drivers/mmc/mmci.c | |||
| @@ -524,15 +524,24 @@ static int mmci_probe(struct amba_device *dev, void *id) | |||
| 524 | /* | 524 | /* |
| 525 | * Since we only have a 16-bit data length register, we must | 525 | * Since we only have a 16-bit data length register, we must |
| 526 | * ensure that we don't exceed 2^16-1 bytes in a single request. | 526 | * ensure that we don't exceed 2^16-1 bytes in a single request. |
| 527 | * Choose 64 (512-byte) sectors as the limit. | ||
| 528 | */ | 527 | */ |
| 529 | mmc->max_sectors = 64; | 528 | mmc->max_req_size = 65535; |
| 530 | 529 | ||
| 531 | /* | 530 | /* |
| 532 | * Set the maximum segment size. Since we aren't doing DMA | 531 | * Set the maximum segment size. Since we aren't doing DMA |
| 533 | * (yet) we are only limited by the data length register. | 532 | * (yet) we are only limited by the data length register. |
| 534 | */ | 533 | */ |
| 535 | mmc->max_seg_size = mmc->max_sectors << 9; | 534 | mmc->max_seg_size = mmc->max_req_size; |
| 535 | |||
| 536 | /* | ||
| 537 | * Block size can be up to 2048 bytes, but must be a power of two. | ||
| 538 | */ | ||
| 539 | mmc->max_blk_size = 2048; | ||
| 540 | |||
| 541 | /* | ||
| 542 | * No limit on the number of blocks transferred. | ||
| 543 | */ | ||
| 544 | mmc->max_blk_count = mmc->max_req_size; | ||
| 536 | 545 | ||
| 537 | spin_lock_init(&host->lock); | 546 | spin_lock_init(&host->lock); |
| 538 | 547 | ||
