[SRU][J:linux-bluefield][PATCH v1 1/1] UBUNTU: SAUCE: sdhci-of-dwcmshc-bf3: Enable SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
Liming Sun
limings at nvidia.com
Wed Oct 18 18:54:12 UTC 2023
BugLink: https://bugs.launchpad.net/bugs/2039325
This commit enables SDHCI_QUIRK_BROKEN_TIMEOUT_VAL to fix the
intermittent eMMC timeout issue. eMMC has two timeout, one is in
the controller and one is configured in OS. Previously, both are
calculated on top of configuration read from eMMC CSD register and
clock setting. With the quirk setting, controller timeout value
0xe (max value) will be used which is the same as UEFI does. The OS
timeout will be set to 10 seconds accordingly.
Signed-off-by: Liming Sun <limings at nvidia.com>
---
drivers/mmc/host/sdhci-of-dwcmshc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/host/sdhci-of-dwcmshc.c b/drivers/mmc/host/sdhci-of-dwcmshc.c
index 44fd58014b7f..188c5ae7efc5 100644
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
@@ -316,7 +316,8 @@ static const struct sdhci_pltfm_data sdhci_dwcmshc_pdata = {
#ifdef CONFIG_ACPI
static const struct sdhci_pltfm_data sdhci_dwcmshc_bf3_pdata = {
.ops = &sdhci_dwcmshc_ops,
- .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN,
+ .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
+ SDHCI_QUIRK_BROKEN_TIMEOUT_VAL,
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
SDHCI_QUIRK2_ACMD23_BROKEN,
};
--
2.30.1
More information about the kernel-team
mailing list