Re: [RFC PATCH V2 1/2] mmc: Update sdhci tune function to return errors

From: Erick Shepherd
Date: Tue Feb 18 2025 - 13:42:37 EST


I see, in my case intel_execute_tuning() in sdhci-pci-core.c is what
is calling into sdhci_execute_tuning() so I should check the value of
tuning_err there and possibly return it? The issue I'm trying to solve
is only for DDR50 cards that do not support tuning so I could
conditionally return tuning_err if the timing mode is DDR50. Maybe
something like this?

---
drivers/mmc/host/sdhci-pci-core.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/mmc/host/sdhci-pci-core.c b/drivers/mmc/host/sdhci-pci-core.c
index 1f0bd723f011..9aedb476bd5d 100644
--- a/drivers/mmc/host/sdhci-pci-core.c
+++ b/drivers/mmc/host/sdhci-pci-core.c
@@ -725,6 +725,9 @@ static int intel_execute_tuning(struct mmc_host *mmc, u32 opcode)
if (err)
return err;

+ if (host->tuning_err && mmc->ios.timing == MMC_TIMING_UHS_DDR50)
+ return host->tuning_err;
+
/*
* Tuning can leave the IP in an active state (Buffer Read Enable bit
* set) which prevents the entry to low power states (i.e. S0i3). Data
--

Regards
Erick