Dear gregkh@linuxfoundation.org,
I'm very sorry for the trouble, here's the update:
From f033ef0bfb29cd413d10aba860ce8d178cc314e2 Mon Sep 17 00:00:00 2001 From: Mengqi Zhang mailto:mengqi.zhang@mediatek.com Date: Mon, 25 Dec 2023 17:38:40 +0800 Subject: [PATCH] mmc: core: Add HS400 tuning in HS400es initialization
commit 77e01b49e35f24ebd1659096d5fc5c3b75975545 upstream
During the initialization to HS400es stage, add a HS400 tuning flow as an optional process. For Mediatek IP, the HS400es mode requires a specific tuning to ensure the correct HS400 timing setting.
Signed-off-by: Mengqi Zhang mailto:mengqi.zhang@mediatek.com Link: https://lore.kernel.org/r/20231225093839.22931-2-mengqi.zhang@mediatek.com Signed-off-by: Ulf Hansson mailto:ulf.hansson@linaro.org --- drivers/mmc/core/mmc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index a56906633ddf..c1eb22fd033b 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -1799,8 +1799,13 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, if (err) goto free_card; - - } else if (!mmc_card_hs400es(card)) { + } else if (mmc_card_hs400es(card)) { + if (host->ops->execute_hs400_tuning) { + err = host->ops->execute_hs400_tuning(host, card); + if (err) + goto free_card; + } + } else { /* Select the desired bus width optionally */ err = mmc_select_bus_width(card); if (err > 0 && mmc_card_hs(card)) { --
------------------------------------ Best Regards ! Guilin 桂林
发件人: Greg KH gregkh@linuxfoundation.org 发送时间: 2024年5月24日 14:55 收件人: Lin Gui (桂林) Lin.Gui@mediatek.com 抄送: stable@vger.kernel.org; Yongdong Zhang (张永东) Yongdong.Zhang@mediatek.com; Bo Ye (叶波) Bo.Ye@mediatek.com; Qilin Tan (谭麒麟) Qilin.Tan@mediatek.com; Wenbin Mei (梅文彬) Wenbin.Mei@mediatek.com; Mengqi Zhang (张梦琦) Mengqi.Zhang@mediatek.com 主题: Re: 回复: 回复: 回复: 回复: backport a patch for Linux kernel-5.15 kernel-6.1 kenrel-6.6 stable tree
External email : Please do not click links or open attachments until you have verified the sender or the content.
On Fri, May 24, 2024 at 05:58:32AM +0000, Lin Gui (桂林) wrote:
Dear mailto:gregkh@linuxfoundation.org,
Sorry, update the format: This patch has been tested on Mediatek Phone, the test passed, Thank you
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index a569066..d656964 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -1800,7 +1800,13 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, if (err) goto free_card; -} else if (!mmc_card_hs400es(card)) { +} else if (mmc_card_hs400es(card)){ +if (host->ops->execute_hs400_tuning) { +err = host->ops->execute_hs400_tuning(host, card); +if (err) +goto free_card; +} +} else { /* Select the desired bus width optionally */ err = mmc_select_bus_width(card); if (err > 0 && mmc_card_hs(card)) {
Again, please apply this to the latest 5.15.y kernel and see what happens. I do not know what kernel you are using, but you know what kernel we are using :)
thanks,
greg k-h