Messages in this thread Patch in this message | | | From | Adrian Hunter <> | Subject | Re: [RFC PATCH v3.1 14/27] mmc: sdhci-uhs2: skip signal_voltage_switch() | Date | Thu, 26 Nov 2020 10:16:44 +0200 |
| |
On 6/11/20 4:27 am, AKASHI Takahiro wrote: > For UHS2, the signal voltage is supplied by vdd2 which is already 1.8v, > so no voltage switch required. > > Signed-off-by: Ben Chuang <ben.chuang@genesyslogic.com.tw> > Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> > --- > drivers/mmc/host/sdhci-uhs2.c | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/drivers/mmc/host/sdhci-uhs2.c b/drivers/mmc/host/sdhci-uhs2.c > index 2bf78cc4e9ed..1eca89359351 100644 > --- a/drivers/mmc/host/sdhci-uhs2.c > +++ b/drivers/mmc/host/sdhci-uhs2.c > @@ -178,6 +178,29 @@ void sdhci_uhs2_set_power(struct sdhci_host *host, unsigned char mode, > } > EXPORT_SYMBOL_GPL(sdhci_uhs2_set_power); > > +/*****************************************************************************\ > + * * > + * MMC callbacks * > + * * > +\*****************************************************************************/ > + > +static int sdhci_uhs2_start_signal_voltage_switch(struct mmc_host *mmc, > + struct mmc_ios *ios) > +{ > + struct sdhci_host *host = mmc_priv(mmc); > + > + /* > + * For UHS2, the signal voltage is supplied by vdd2 which is > + * already 1.8v so no voltage switch required. > + */ > + if (IS_ENABLED(CONFIG_MMC_SDHCI_UHS2) && > + host->version >= SDHCI_SPEC_400 && > + host->mmc->flags & MMC_UHS2_SUPPORT)
Could this be the same helper function suggested elsewhere i.e.
if (!sdhci_uhs2_mode(host))
> + return 0; > + > + return sdhci_start_signal_voltage_switch(mmc, ios); > +} > + > /*****************************************************************************\ > * * > * Driver init/exit * > @@ -186,6 +209,9 @@ EXPORT_SYMBOL_GPL(sdhci_uhs2_set_power); > > static int sdhci_uhs2_host_ops_init(struct sdhci_host *host) > { > + host->mmc_host_ops.start_signal_voltage_switch = > + sdhci_uhs2_start_signal_voltage_switch; > + > return 0; > } > >
| |