summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/sdhci.h
diff options
context:
space:
mode:
authorPierre Ossman2006-07-02 17:52:10 +0200
committerRussell King2006-07-02 17:52:10 +0200
commit1d676e02970d9e511c9b96101501da90954ee265 (patch)
tree59a5e1c46584cfa7683d33d4c3ff494589ee65e3 /drivers/mmc/sdhci.h
parent[MMC] sdhci: Avoid sdhci DMA boundaries (diff)
downloadkernel-qcow2-linux-1d676e02970d9e511c9b96101501da90954ee265.tar.gz
kernel-qcow2-linux-1d676e02970d9e511c9b96101501da90954ee265.tar.xz
kernel-qcow2-linux-1d676e02970d9e511c9b96101501da90954ee265.zip
[MMC] sdhci: Test for invalid block size
The controller has an upper limit on the block size. Make sure we do not cross it. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/mmc/sdhci.h')
-rw-r--r--drivers/mmc/sdhci.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mmc/sdhci.h b/drivers/mmc/sdhci.h
index 8ed2a8973db6..b1aa3acf0906 100644
--- a/drivers/mmc/sdhci.h
+++ b/drivers/mmc/sdhci.h
@@ -131,6 +131,8 @@
#define SDHCI_TIMEOUT_CLK_UNIT 0x00000080
#define SDHCI_CLOCK_BASE_MASK 0x00003F00
#define SDHCI_CLOCK_BASE_SHIFT 8
+#define SDHCI_MAX_BLOCK_MASK 0x00030000
+#define SDHCI_MAX_BLOCK_SHIFT 16
#define SDHCI_CAN_DO_DMA 0x00400000
#define SDHCI_CAN_VDD_330 0x01000000
#define SDHCI_CAN_VDD_300 0x02000000
@@ -161,6 +163,7 @@ struct sdhci_host {
unsigned int max_clk; /* Max possible freq (MHz) */
unsigned int timeout_clk; /* Timeout freq (KHz) */
+ unsigned int max_block; /* Max block size (bytes) */
unsigned int clock; /* Current clock (MHz) */
unsigned short power; /* Current voltage */