aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAndrei Warkentin <andreiw@motorola.com>2011-03-31 19:40:00 -0400
committerChris Ball <cjb@laptop.org>2011-05-24 20:59:38 -0400
commitf4c5522b0a8827f39f83f928961d87e081bfe71c (patch)
tree3c2126f0adb2a3444b2fd152cc1a880c192c9d77 /include/linux
parent766a6bf6e987ff5f5085c614b5a62a55006b6a7e (diff)
mmc: Reliable write support.
Allows reliable writes to be used for MMC writes. Reliable writes are used to service write REQ_FUA/REQ_META requests. Handles both the legacy and the enhanced reliable write support in MMC cards. Signed-off-by: Andrei Warkentin <andreiw@motorola.com> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mmc/card.h2
-rw-r--r--include/linux/mmc/mmc.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 557b73263390..c4e96fa5fb2b 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -45,6 +45,8 @@ struct mmc_ext_csd {
45 u8 rev; 45 u8 rev;
46 u8 erase_group_def; 46 u8 erase_group_def;
47 u8 sec_feature_support; 47 u8 sec_feature_support;
48 u8 rel_sectors;
49 u8 rel_param;
48 u8 bootconfig; 50 u8 bootconfig;
49 unsigned int sa_timeout; /* Units: 100ns */ 51 unsigned int sa_timeout; /* Units: 100ns */
50 unsigned int hs_max_dtr; 52 unsigned int hs_max_dtr;
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h
index b5ec88fd1352..390aa6eef676 100644
--- a/include/linux/mmc/mmc.h
+++ b/include/linux/mmc/mmc.h
@@ -255,6 +255,7 @@ struct _mmc_csd {
255 255
256#define EXT_CSD_PARTITION_ATTRIBUTE 156 /* R/W */ 256#define EXT_CSD_PARTITION_ATTRIBUTE 156 /* R/W */
257#define EXT_CSD_PARTITION_SUPPORT 160 /* RO */ 257#define EXT_CSD_PARTITION_SUPPORT 160 /* RO */
258#define EXT_CSD_WR_REL_PARAM 166 /* RO */
258#define EXT_CSD_ERASE_GROUP_DEF 175 /* R/W */ 259#define EXT_CSD_ERASE_GROUP_DEF 175 /* R/W */
259#define EXT_CSD_BOOT_CONFIG 179 /* R/W */ 260#define EXT_CSD_BOOT_CONFIG 179 /* R/W */
260#define EXT_CSD_ERASED_MEM_CONT 181 /* RO */ 261#define EXT_CSD_ERASED_MEM_CONT 181 /* RO */
@@ -265,6 +266,7 @@ struct _mmc_csd {
265#define EXT_CSD_CARD_TYPE 196 /* RO */ 266#define EXT_CSD_CARD_TYPE 196 /* RO */
266#define EXT_CSD_SEC_CNT 212 /* RO, 4 bytes */ 267#define EXT_CSD_SEC_CNT 212 /* RO, 4 bytes */
267#define EXT_CSD_S_A_TIMEOUT 217 /* RO */ 268#define EXT_CSD_S_A_TIMEOUT 217 /* RO */
269#define EXT_CSD_REL_WR_SEC_C 222 /* RO */
268#define EXT_CSD_HC_WP_GRP_SIZE 221 /* RO */ 270#define EXT_CSD_HC_WP_GRP_SIZE 221 /* RO */
269#define EXT_CSD_ERASE_TIMEOUT_MULT 223 /* RO */ 271#define EXT_CSD_ERASE_TIMEOUT_MULT 223 /* RO */
270#define EXT_CSD_HC_ERASE_GRP_SIZE 224 /* RO */ 272#define EXT_CSD_HC_ERASE_GRP_SIZE 224 /* RO */
@@ -277,6 +279,8 @@ struct _mmc_csd {
277 * EXT_CSD field definitions 279 * EXT_CSD field definitions
278 */ 280 */
279 281
282#define EXT_CSD_WR_REL_PARAM_EN (1<<2)
283
280#define EXT_CSD_CMD_SET_NORMAL (1<<0) 284#define EXT_CSD_CMD_SET_NORMAL (1<<0)
281#define EXT_CSD_CMD_SET_SECURE (1<<1) 285#define EXT_CSD_CMD_SET_SECURE (1<<1)
282#define EXT_CSD_CMD_SET_CPSECURE (1<<2) 286#define EXT_CSD_CMD_SET_CPSECURE (1<<2)