aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mmc
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mmc')
-rw-r--r--include/linux/mmc/card.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 47b5ad3960b7..d8dffc992ce2 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -30,6 +30,7 @@ struct mmc_csd {
30 unsigned short cmdclass; 30 unsigned short cmdclass;
31 unsigned short tacc_clks; 31 unsigned short tacc_clks;
32 unsigned int tacc_ns; 32 unsigned int tacc_ns;
33 unsigned int c_size;
33 unsigned int r2w_factor; 34 unsigned int r2w_factor;
34 unsigned int max_dtr; 35 unsigned int max_dtr;
35 unsigned int erase_size; /* In sectors */ 36 unsigned int erase_size; /* In sectors */
@@ -158,6 +159,8 @@ struct mmc_card {
158#define MMC_STATE_HIGHSPEED (1<<2) /* card is in high speed mode */ 159#define MMC_STATE_HIGHSPEED (1<<2) /* card is in high speed mode */
159#define MMC_STATE_BLOCKADDR (1<<3) /* card uses block-addressing */ 160#define MMC_STATE_BLOCKADDR (1<<3) /* card uses block-addressing */
160#define MMC_STATE_HIGHSPEED_DDR (1<<4) /* card is in high speed mode */ 161#define MMC_STATE_HIGHSPEED_DDR (1<<4) /* card is in high speed mode */
162#define MMC_STATE_ULTRAHIGHSPEED (1<<5) /* card is in ultra high speed mode */
163#define MMC_CARD_SDXC (1<<6) /* card is SDXC */
161 unsigned int quirks; /* card quirks */ 164 unsigned int quirks; /* card quirks */
162#define MMC_QUIRK_LENIENT_FN0 (1<<0) /* allow SDIO FN0 writes outside of the VS CCCR range */ 165#define MMC_QUIRK_LENIENT_FN0 (1<<0) /* allow SDIO FN0 writes outside of the VS CCCR range */
163#define MMC_QUIRK_BLKSZ_FOR_BYTE_MODE (1<<1) /* use func->cur_blksize */ 166#define MMC_QUIRK_BLKSZ_FOR_BYTE_MODE (1<<1) /* use func->cur_blksize */
@@ -293,12 +296,16 @@ static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data)
293#define mmc_card_highspeed(c) ((c)->state & MMC_STATE_HIGHSPEED) 296#define mmc_card_highspeed(c) ((c)->state & MMC_STATE_HIGHSPEED)
294#define mmc_card_blockaddr(c) ((c)->state & MMC_STATE_BLOCKADDR) 297#define mmc_card_blockaddr(c) ((c)->state & MMC_STATE_BLOCKADDR)
295#define mmc_card_ddr_mode(c) ((c)->state & MMC_STATE_HIGHSPEED_DDR) 298#define mmc_card_ddr_mode(c) ((c)->state & MMC_STATE_HIGHSPEED_DDR)
299#define mmc_sd_card_uhs(c) ((c)->state & MMC_STATE_ULTRAHIGHSPEED)
300#define mmc_card_ext_capacity(c) ((c)->state & MMC_CARD_SDXC)
296 301
297#define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT) 302#define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT)
298#define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY) 303#define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY)
299#define mmc_card_set_highspeed(c) ((c)->state |= MMC_STATE_HIGHSPEED) 304#define mmc_card_set_highspeed(c) ((c)->state |= MMC_STATE_HIGHSPEED)
300#define mmc_card_set_blockaddr(c) ((c)->state |= MMC_STATE_BLOCKADDR) 305#define mmc_card_set_blockaddr(c) ((c)->state |= MMC_STATE_BLOCKADDR)
301#define mmc_card_set_ddr_mode(c) ((c)->state |= MMC_STATE_HIGHSPEED_DDR) 306#define mmc_card_set_ddr_mode(c) ((c)->state |= MMC_STATE_HIGHSPEED_DDR)
307#define mmc_sd_card_set_uhs(c) ((c)->state |= MMC_STATE_ULTRAHIGHSPEED)
308#define mmc_card_set_ext_capacity(c) ((c)->state |= MMC_CARD_SDXC)
302 309
303static inline int mmc_card_lenient_fn0(const struct mmc_card *c) 310static inline int mmc_card_lenient_fn0(const struct mmc_card *c)
304{ 311{