@@ -1757,9 +1757,9 @@ static unsigned int mmc_mmc_erase_timeout(struct mmc_card *card,
/* Multiplier for secure operations */
if (arg & MMC_SECURE_ARGS) {
if (arg == MMC_SECURE_ERASE_ARG)
- erase_timeout *= card->ext_csd.sec_erase_mult;
+ erase_timeout *= card->ext_csd.raw_sec_erase_mult;
else
- erase_timeout *= card->ext_csd.sec_trim_mult;
+ erase_timeout *= card->ext_csd.raw_sec_trim_mult;
}
erase_timeout *= qty;
@@ -1948,11 +1948,11 @@ int mmc_erase(struct mmc_card *card, unsigned int from, unsigned int nr,
return -EOPNOTSUPP;
if ((arg & MMC_SECURE_ARGS) &&
- !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_ER_EN))
+ !(card->ext_csd.raw_sec_feature_support & EXT_CSD_SEC_ER_EN))
return -EOPNOTSUPP;
if ((arg & MMC_TRIM_ARGS) &&
- !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_GB_CL_EN))
+ !(card->ext_csd.raw_sec_feature_support & EXT_CSD_SEC_GB_CL_EN))
return -EOPNOTSUPP;
if (arg == MMC_SECURE_ERASE_ARG) {
@@ -2001,7 +2001,7 @@ EXPORT_SYMBOL(mmc_can_erase);
int mmc_can_trim(struct mmc_card *card)
{
- if (card->ext_csd.sec_feature_support & EXT_CSD_SEC_GB_CL_EN)
+ if (card->ext_csd.raw_sec_feature_support & EXT_CSD_SEC_GB_CL_EN)
return 1;
return 0;
}
@@ -2023,7 +2023,7 @@ int mmc_can_sanitize(struct mmc_card *card)
{
if (!mmc_can_trim(card) && !mmc_can_erase(card))
return 0;
- if (card->ext_csd.sec_feature_support & EXT_CSD_SEC_SANITIZE)
+ if (card->ext_csd.raw_sec_feature_support & EXT_CSD_SEC_SANITIZE)
return 1;
return 0;
}
@@ -2031,7 +2031,7 @@ EXPORT_SYMBOL(mmc_can_sanitize);
int mmc_can_secure_erase_trim(struct mmc_card *card)
{
- if (card->ext_csd.sec_feature_support & EXT_CSD_SEC_ER_EN)
+ if (card->ext_csd.raw_sec_feature_support & EXT_CSD_SEC_ER_EN)
return 1;
return 0;
}
@@ -444,12 +444,6 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd)
MMC_BLK_DATA_AREA_GP);
}
}
- card->ext_csd.sec_trim_mult =
- ext_csd[EXT_CSD_SEC_TRIM_MULT];
- card->ext_csd.sec_erase_mult =
- ext_csd[EXT_CSD_SEC_ERASE_MULT];
- card->ext_csd.sec_feature_support =
- ext_csd[EXT_CSD_SEC_FEATURE_SUPPORT];
card->ext_csd.trim_timeout = 300 *
ext_csd[EXT_CSD_TRIM_MULT];
@@ -47,7 +47,6 @@ struct mmc_csd {
struct mmc_ext_csd {
u8 rev;
u8 erase_group_def;
- u8 sec_feature_support;
u8 rel_sectors;
u8 rel_param;
u8 part_config;
@@ -70,8 +69,6 @@ struct mmc_ext_csd {
unsigned int card_type;
unsigned int hc_erase_size; /* In sectors */
unsigned int hc_erase_timeout; /* In milliseconds */
- unsigned int sec_trim_mult; /* Secure trim multiplier */
- unsigned int sec_erase_mult; /* Secure erase multiplier */
unsigned int trim_timeout; /* In milliseconds */
bool enhanced_area_en; /* enable bit */
unsigned long long enhanced_area_offset; /* Units: Byte */