From: blacksilver Date: Mon, 18 Dec 2023 10:09:26 +0000 (+0100) Subject: DONOTMERGE: Hack: Hardcode eMMC to DDR_1_8V, to avoid initialization failure X-Git-Tag: v6.7-pxa1908~13 X-Git-Url: https://git.dujemihanovic.xyz/?a=commitdiff_plain;h=d3e19adc39cbaacc42ee8d838e41713bd82351b0;p=linux.git DONOTMERGE: Hack: Hardcode eMMC to DDR_1_8V, to avoid initialization failure Initialization of eMMC card QNW00A (HS200_1_8V) fails for unknown reason. mmc0: SDHCI controller on d4281000.mmc [d4281000.mmc] using ADMA mmc0: Card stuck being busy! __mmc_poll_for_busy mmc0: error -110 whilst initialising MMC card mmc0: Tuning failed, falling back to fixed sampling clock mmc0: Card stuck being busy! __mmc_poll_for_busy mmc0: error -110 whilst initialising MMC card mmc0: Card stuck being busy! __mmc_poll_for_busy mmc0: error -110 whilst initialising MMC card mmc0: Card stuck being busy! __mmc_poll_for_busy mmc0: error -110 whilst initialising MMC card mmc0: Failed to initialize a non-removable card --- diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index 705942edacc6..00443451c9e4 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -215,6 +215,7 @@ static void mmc_select_card_type(struct mmc_card *card) card_type & EXT_CSD_CARD_TYPE_DDR_1_8V) { hs_max_dtr = MMC_HIGH_DDR_MAX_DTR; avail_type |= EXT_CSD_CARD_TYPE_DDR_1_8V; + goto out; } if (caps & MMC_CAP_1_2V_DDR && @@ -251,7 +252,7 @@ static void mmc_select_card_type(struct mmc_card *card) card->ext_csd.strobe_support && (avail_type & EXT_CSD_CARD_TYPE_HS400)) avail_type |= EXT_CSD_CARD_TYPE_HS400ES; - +out: card->ext_csd.hs_max_dtr = hs_max_dtr; card->ext_csd.hs200_max_dtr = hs200_max_dtr; card->mmc_avail_type = avail_type;