Re: [PATCH v3 1/7] mmc: sdhci-esdhc-imx: remove unnecessary mmc_card_wake_sdio_irq check for tuning save/restore
Bough Chen <[email protected]>
| Newsgroups | org.kernel.vger.linux-mmc,dev.linux.lists.imx,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Mon, Jun 29, 2026 at 05:19:48PM +0800, [email protected] wrote: > From: Luke Wang <[email protected]> > > The tuning save/restore during system PM is conditioned on > mmc_card_wake_sdio_irq(), but this check is unrelated to whether > tuning values need to be preserved. The actual requirement is that > the card keeps power during suspend and the controller is a uSDHC. > > SDIO devices using out-of-band GPIO wakeup maintain power during > suspend but do not set the SDIO IRQ wake flag. In this case the > tuning delay values are not saved/restored. > > Remove the unnecessary mmc_card_wake_sdio_irq() condition from both > the suspend save and resume restore paths. > > Fixes: c63d25cdc59a ("mmc: sdhci-esdhc-imx: Save tuning value when card stays powered in suspend") > Reviewed-by: Frank Li <[email protected]> > Signed-off-by: Luke Wang <[email protected]> Reviewed-by: Haibo Chen <[email protected]> Regards Haibo Chen > --- > drivers/mmc/host/sdhci-esdhc-imx.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c > index 18ecddd6df6f..6526d65538de 100644 > --- a/drivers/mmc/host/sdhci-esdhc-imx.c > +++ b/drivers/mmc/host/sdhci-esdhc-imx.c > @@ -2064,8 +2064,7 @@ static int sdhci_esdhc_suspend(struct device *dev) > * to save the tuning delay value just in case the usdhc > * lost power during system PM. > */ > - if (mmc_card_keep_power(host->mmc) && mmc_card_wake_sdio_irq(host->mmc) && > - esdhc_is_usdhc(imx_data)) > + if (mmc_card_keep_power(host->mmc) && esdhc_is_usdhc(imx_data)) > sdhc_esdhc_tuning_save(host); > > if (device_may_wakeup(dev)) { > @@ -2124,8 +2123,7 @@ static int sdhci_esdhc_resume(struct device *dev) > * restore the saved tuning delay value for the device which keep > * power during system PM. > */ > - if (mmc_card_keep_power(host->mmc) && mmc_card_wake_sdio_irq(host->mmc) && > - esdhc_is_usdhc(imx_data)) > + if (mmc_card_keep_power(host->mmc) && esdhc_is_usdhc(imx_data)) > sdhc_esdhc_tuning_restore(host); > > pm_runtime_put_autosuspend(dev); > -- > 2.34.1 >