diff options
Diffstat (limited to 'include/linux/mmc')
-rw-r--r-- | include/linux/mmc/card.h | 5 | ||||
-rw-r--r-- | include/linux/mmc/core.h | 4 | ||||
-rw-r--r-- | include/linux/mmc/host.h | 5 |
3 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index 237f253f2fe0..61b2c30c903b 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h | |||
@@ -310,6 +310,11 @@ static inline void mmc_part_add(struct mmc_card *card, unsigned int size, | |||
310 | card->nr_parts++; | 310 | card->nr_parts++; |
311 | } | 311 | } |
312 | 312 | ||
313 | static inline bool mmc_large_sector(struct mmc_card *card) | ||
314 | { | ||
315 | return card->ext_csd.data_sector_size == 4096; | ||
316 | } | ||
317 | |||
313 | /* | 318 | /* |
314 | * The world is not perfect and supplies us with broken mmc/sdio devices. | 319 | * The world is not perfect and supplies us with broken mmc/sdio devices. |
315 | * For at least some of these bugs we need a work-around. | 320 | * For at least some of these bugs we need a work-around. |
diff --git a/include/linux/mmc/core.h b/include/linux/mmc/core.h index 495d1336149c..39613b9a6fc5 100644 --- a/include/linux/mmc/core.h +++ b/include/linux/mmc/core.h | |||
@@ -18,6 +18,9 @@ struct mmc_request; | |||
18 | struct mmc_command { | 18 | struct mmc_command { |
19 | u32 opcode; | 19 | u32 opcode; |
20 | u32 arg; | 20 | u32 arg; |
21 | #define MMC_CMD23_ARG_REL_WR (1 << 31) | ||
22 | #define MMC_CMD23_ARG_PACKED ((0 << 31) | (1 << 30)) | ||
23 | #define MMC_CMD23_ARG_TAG_REQ (1 << 29) | ||
21 | u32 resp[4]; | 24 | u32 resp[4]; |
22 | unsigned int flags; /* expected response type */ | 25 | unsigned int flags; /* expected response type */ |
23 | #define MMC_RSP_PRESENT (1 << 0) | 26 | #define MMC_RSP_PRESENT (1 << 0) |
@@ -148,6 +151,7 @@ extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *, | |||
148 | extern void mmc_start_bkops(struct mmc_card *card, bool from_exception); | 151 | extern void mmc_start_bkops(struct mmc_card *card, bool from_exception); |
149 | extern int __mmc_switch(struct mmc_card *, u8, u8, u8, unsigned int, bool); | 152 | extern int __mmc_switch(struct mmc_card *, u8, u8, u8, unsigned int, bool); |
150 | extern int mmc_switch(struct mmc_card *, u8, u8, u8, unsigned int); | 153 | extern int mmc_switch(struct mmc_card *, u8, u8, u8, unsigned int); |
154 | extern int mmc_send_ext_csd(struct mmc_card *card, u8 *ext_csd); | ||
151 | 155 | ||
152 | #define MMC_ERASE_ARG 0x00000000 | 156 | #define MMC_ERASE_ARG 0x00000000 |
153 | #define MMC_SECURE_ERASE_ARG 0x80000000 | 157 | #define MMC_SECURE_ERASE_ARG 0x80000000 |
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index a0466c03f5e1..fd5fd5a6026f 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
@@ -465,6 +465,11 @@ static inline int mmc_host_uhs(struct mmc_host *host) | |||
465 | MMC_CAP_UHS_DDR50); | 465 | MMC_CAP_UHS_DDR50); |
466 | } | 466 | } |
467 | 467 | ||
468 | static inline int mmc_host_packed_wr(struct mmc_host *host) | ||
469 | { | ||
470 | return host->caps2 & MMC_CAP2_PACKED_WR; | ||
471 | } | ||
472 | |||
468 | #ifdef CONFIG_MMC_CLKGATE | 473 | #ifdef CONFIG_MMC_CLKGATE |
469 | void mmc_host_clk_hold(struct mmc_host *host); | 474 | void mmc_host_clk_hold(struct mmc_host *host); |
470 | void mmc_host_clk_release(struct mmc_host *host); | 475 | void mmc_host_clk_release(struct mmc_host *host); |