diff options
author | Pierre Ossman <drzeus@drzeus.cx> | 2006-01-09 22:51:46 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-09 22:51:46 +0000 |
commit | 7225b3fd0b6e224235fc50a69f70479ff96d5602 (patch) | |
tree | 30dd999fd966cb572371eb99bb629625f720de35 /include/linux/mmc | |
parent | 788ee7b09883515f3a72a8f2a980df5e94f37e2c (diff) | |
download | linux-3.10-7225b3fd0b6e224235fc50a69f70479ff96d5602.tar.gz linux-3.10-7225b3fd0b6e224235fc50a69f70479ff96d5602.tar.bz2 linux-3.10-7225b3fd0b6e224235fc50a69f70479ff96d5602.zip |
[MMC] Indicate that R1/R1b contains command opcode
Some controllers actually check the first byte of the response (most
don't). This byte contains the command opcode for R1/R1b and all 1:s
for other types. The difference must be indicated to the controller
so it knows which reply to expect.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'include/linux/mmc')
-rw-r--r-- | include/linux/mmc/mmc.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h index 86d491b3b73..ccd3e13de1e 100644 --- a/include/linux/mmc/mmc.h +++ b/include/linux/mmc/mmc.h @@ -27,14 +27,15 @@ struct mmc_command { #define MMC_RSP_MASK (3 << 0) #define MMC_RSP_CRC (1 << 3) /* expect valid crc */ #define MMC_RSP_BUSY (1 << 4) /* card may send busy */ +#define MMC_RSP_OPCODE (1 << 5) /* response contains opcode */ /* * These are the response types, and correspond to valid bit * patterns of the above flags. One additional valid pattern * is all zeros, which means we don't expect a response. */ -#define MMC_RSP_R1 (MMC_RSP_SHORT|MMC_RSP_CRC) -#define MMC_RSP_R1B (MMC_RSP_SHORT|MMC_RSP_CRC|MMC_RSP_BUSY) +#define MMC_RSP_R1 (MMC_RSP_SHORT|MMC_RSP_CRC|MMC_RSP_OPCODE) +#define MMC_RSP_R1B (MMC_RSP_SHORT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY) #define MMC_RSP_R2 (MMC_RSP_LONG|MMC_RSP_CRC) #define MMC_RSP_R3 (MMC_RSP_SHORT) #define MMC_RSP_R6 (MMC_RSP_SHORT|MMC_RSP_CRC) |