Re: [PATCH v2] mmc: host: Wait for Vdd to settle on card power off

From: Ulf Hansson
Date: Thu Mar 20 2025 - 10:19:12 EST


On Thu, 20 Mar 2025 at 08:26, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:
>
> On 14/03/25 21:50, Erick Shepherd wrote:
> > The SD spec version 6.0 section 6.4.1.5 requires that Vdd must be
> > lowered to less than 0.5V for a minimum of 1 ms when powering off a
> > card. Increase wait to 15 ms so that voltage has time to drain down
> > to 0.5V and cards can power off correctly. Issues with voltage drain
> > time were only observed on Apollo Lake and Bay Trail host controllers
> > so this fix is limited to those devices.
> >
> > Signed-off-by: Erick Shepherd <erick.shepherd@xxxxxx>
>
> Can we leave a blank line after the block. It was that way before.
>
> With that, you can add:
>
> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>

Applied for next with the suggested change, thanks!

Kind regards
Uffe


>
> > ---
> > drivers/mmc/host/sdhci-pci-core.c | 7 +++++--
> > 1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/mmc/host/sdhci-pci-core.c b/drivers/mmc/host/sdhci-pci-core.c
> > index 1f0bd723f011..b1f7c11ea61e 100644
> > --- a/drivers/mmc/host/sdhci-pci-core.c
> > +++ b/drivers/mmc/host/sdhci-pci-core.c
> > @@ -610,9 +610,12 @@ static void sdhci_intel_set_power(struct sdhci_host *host, unsigned char mode,
> >
> > sdhci_set_power(host, mode, vdd);
> >
> > - if (mode == MMC_POWER_OFF)
> > + if (mode == MMC_POWER_OFF) {
> > + if (slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_APL_SD ||
> > + slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BYT_SD)
> > + usleep_range(15000, 17500);
> > return;
> > -
> > + }
>
> Blank line here
>
> > /*
> > * Bus power might not enable after D3 -> D0 transition due to the
> > * present state not yet having propagated. Retry for up to 2ms.
>