mmc_select_mode_and_width() already passes true for the hsdowngrade parameter when the bus mode is HS400-ES. However, mmc_set_card_speed() only checks MMC_HS400_SUPPORT in that branch, and if (hsdowngrade) never checks the mode itself. Add MMC_HS400_ES_SUPPORT so the downgrade path also applies to HS400-ES.
Signed-off-by: baozhu.liu <[email protected]> --- Changes for v2: - drop the dw_mmc: prefix; the change is in generic mmc.c - mention mmc_select_mode_and_width(), which already passes true for HS400-ES - clarify that if (hsdowngrade) does not check the mode drivers/mmc/mmc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 670e92ee12b..2bc36c1405c 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -1007,7 +1007,8 @@ static int mmc_set_card_speed(struct mmc *mmc, enum bus_mode mode, return err; #if CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \ - CONFIG_IS_ENABLED(MMC_HS400_SUPPORT) + CONFIG_IS_ENABLED(MMC_HS400_SUPPORT) || \ + CONFIG_IS_ENABLED(MMC_HS400_ES_SUPPORT) /* * In case the eMMC is in HS200/HS400 mode and we are downgrading * to HS mode, the card clock are still running much faster than -- 2.34.1
