diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2006-01-03 22:38:44 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-03 22:38:44 +0000 |
commit | a6f6c96b65d7f65a7a7bf5cbe874eda182a6b2cc (patch) | |
tree | 5f3bd4dc24866f2b0e593b1457b1f22ec641139b /include/linux/mmc | |
parent | 88026842b0a760145aa71d69e74fbc9ec118ca44 (diff) | |
download | lwn-a6f6c96b65d7f65a7a7bf5cbe874eda182a6b2cc.tar.gz lwn-a6f6c96b65d7f65a7a7bf5cbe874eda182a6b2cc.zip |
[MMC] Improve MMC card block size selection
Select a block size for IO based on the read and write block size
combinations, and whether the card supports partial block reads
and/or partial block writes.
If we are able to satisfy block reads but not block writes, mark
the device read only.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/linux/mmc')
-rw-r--r-- | include/linux/mmc/card.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index 18fc77f682de..7f7d40684288 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h @@ -30,7 +30,12 @@ struct mmc_csd { unsigned int tacc_ns; unsigned int max_dtr; unsigned int read_blkbits; + unsigned int write_blkbits; unsigned int capacity; + unsigned int read_partial:1, + read_misalign:1, + write_partial:1 + write_misalign:1; }; struct sd_scr { |