RE: [PATCH v1 1/3] mmc: core: Add raw_boot_mult field to mmc_ext_csd

From: Avri Altman
Date: Sun Mar 01 2020 - 05:50:43 EST


Hi,
>
>
> In order to support parsing of NVIDIA Tegra Partition Table format, we
> need to know the BOOT_SIZE_MULT value of the Extended CSD register
> because
> NVIDIA's bootloader linearizes the boot0/boot1/main partitions into a
> single virtual space, and thus, all partition addresses are shifted by
> the size of boot0 + boot1 partitions.
>
> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> ---
> drivers/mmc/core/mmc.c | 2 ++
> include/linux/mmc/card.h | 1 +
> 2 files changed, 3 insertions(+)
>
> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
> index f6912ded652d..88e5b4224d3c 100644
> --- a/drivers/mmc/core/mmc.c
> +++ b/drivers/mmc/core/mmc.c
> @@ -417,6 +417,8 @@ static int mmc_decode_ext_csd(struct mmc_card
> *card, u8 *ext_csd)
> ext_csd[EXT_CSD_ERASE_TIMEOUT_MULT];
> card->ext_csd.raw_hc_erase_grp_size =
> ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE];
> + card->ext_csd.raw_boot_mult =
> + ext_csd[EXT_CSD_BOOT_MULT];
You might want at this point multiply it by 128K,
And get rid of: part_size = ext_csd[EXT_CSD_BOOT_MULT] << 17;
Below...

Thanks,
Avri