mmc: core: new discard feature support at eMMC v4.5
MMC v4.5 supports the DISCARD feature (CMD38). It's different from trim and there's no check bit. Currently it's only supported at v4.5. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
committed by
Chris Ball
parent
d9ddd62943
commit
b3bf915308
@@ -80,6 +80,9 @@ struct mmc_ext_csd {
|
||||
u8 raw_sec_feature_support;/* 231 */
|
||||
u8 raw_trim_mult; /* 232 */
|
||||
u8 raw_sectors[4]; /* 212 - 4 bytes */
|
||||
|
||||
unsigned int feature_support;
|
||||
#define MMC_DISCARD_FEATURE BIT(0) /* CMD38 feature */
|
||||
};
|
||||
|
||||
struct sd_scr {
|
||||
|
||||
@@ -146,6 +146,7 @@ extern int mmc_switch(struct mmc_card *, u8, u8, u8, unsigned int);
|
||||
#define MMC_ERASE_ARG 0x00000000
|
||||
#define MMC_SECURE_ERASE_ARG 0x80000000
|
||||
#define MMC_TRIM_ARG 0x00000001
|
||||
#define MMC_DISCARD_ARG 0x00000003
|
||||
#define MMC_SECURE_TRIM1_ARG 0x80000001
|
||||
#define MMC_SECURE_TRIM2_ARG 0x80008000
|
||||
|
||||
@@ -156,6 +157,7 @@ extern int mmc_erase(struct mmc_card *card, unsigned int from, unsigned int nr,
|
||||
unsigned int arg);
|
||||
extern int mmc_can_erase(struct mmc_card *card);
|
||||
extern int mmc_can_trim(struct mmc_card *card);
|
||||
extern int mmc_can_discard(struct mmc_card *card);
|
||||
extern int mmc_can_sanitize(struct mmc_card *card);
|
||||
extern int mmc_can_secure_erase_trim(struct mmc_card *card);
|
||||
extern int mmc_erase_group_aligned(struct mmc_card *card, unsigned int from,
|
||||
|
||||
Reference in New Issue
Block a user