mmc: read the size of eMMC enhanced user data area
This modification reads the size of the eMMC enhanced user data area upon initialization of an mmc device, it will be used later by mmcinfo. Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
This commit is contained in:
committed by
Pantelis Antoniou
parent
f8e89d6716
commit
a7f852b688
@@ -1031,6 +1031,21 @@ static int mmc_startup(struct mmc *mmc)
|
||||
has_parts = true;
|
||||
}
|
||||
|
||||
mmc->enh_user_size =
|
||||
(ext_csd[EXT_CSD_ENH_SIZE_MULT+2] << 16) +
|
||||
(ext_csd[EXT_CSD_ENH_SIZE_MULT+1] << 8) +
|
||||
ext_csd[EXT_CSD_ENH_SIZE_MULT];
|
||||
mmc->enh_user_size *= ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE];
|
||||
mmc->enh_user_size *= ext_csd[EXT_CSD_HC_WP_GRP_SIZE];
|
||||
mmc->enh_user_size <<= 19;
|
||||
mmc->enh_user_start =
|
||||
(ext_csd[EXT_CSD_ENH_START_ADDR+3] << 24) +
|
||||
(ext_csd[EXT_CSD_ENH_START_ADDR+2] << 16) +
|
||||
(ext_csd[EXT_CSD_ENH_START_ADDR+1] << 8) +
|
||||
ext_csd[EXT_CSD_ENH_START_ADDR];
|
||||
if (mmc->high_capacity)
|
||||
mmc->enh_user_start <<= 9;
|
||||
|
||||
/*
|
||||
* Host needs to enable ERASE_GRP_DEF bit if device is
|
||||
* partitioned. This bit will be lost every time after a reset
|
||||
|
||||
Reference in New Issue
Block a user