[PATCH v3 0/7] mmc: sdhci-esdhc-imx: fix SDIO suspend/resume issues

From: ziniu . wang_1

Date: Mon Jun 29 2026 - 05:26:58 EST


From: Luke Wang <ziniu.wang_1@xxxxxxx>

This series fixes several suspend/resume issues in the sdhci-esdhc-imx
driver, primarily affecting SDIO devices (e.g., WiFi).

Issues fixed:
- Tuning delay values not saved/restored for out-of-band wakeup devices
- DLL override lost after resume for DDR modes
- Pinctrl not restored before DDR_EN is set, causing CRC errors
- Unhandled interrupt during resume causing "nobody cared" warning
- Various error handling issues in suspend/resume paths

Changes since v2:
- Patch 3: Updated commit message to explain the SoC IP integration
detail about internal loopback path change when switching pinctrl
from GPIO to USDHC function (per Bough Chen suggestion)
- Patch 5 (v2): Split into three separate patches (5/6/7) so each
patch fixes one problem (per Frank Li suggestion)

Luke Wang (7):
mmc: sdhci-esdhc-imx: remove unnecessary mmc_card_wake_sdio_irq check
for tuning save/restore
mmc: sdhci-esdhc-imx: restore DLL override for DDR modes on resume
mmc: sdhci-esdhc-imx: restore pinctrl before restoring ios timing on
resume
mmc: sdhci-esdhc-imx: disable irq during suspend to fix unhandled
interrupt
mmc: sdhci-esdhc-imx: use pm_runtime_resume_and_get() in suspend
mmc: sdhci-esdhc-imx: make non-fatal errors non-blocking in suspend
mmc: sdhci-esdhc-imx: fix resume error handling

drivers/mmc/host/sdhci-esdhc-imx.c | 75 ++++++++++++++++++++----------
1 file changed, 51 insertions(+), 24 deletions(-)

--
2.34.1