From: Adrian Hunter <adrian.hunter@intel.com>
To: Shawn Lin <shawn.lin@rock-chips.com>
Cc: Ulf Hansson <ulf.hansson@linaro.org>,
Jaehoon Chung <jh80.chung@samsung.com>,
linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-rockchip@lists.infradead.org,
Ziyuan Xu <xzy.xu@rock-chips.com>
Subject: Re: [RESEDN PATCH v2 3/4] mmc: sdhci: Don't try to switch to unsupported voltage
Date: Fri, 23 Sep 2016 10:12:43 +0300 [thread overview]
Message-ID: <785df157-dadc-4dd3-76e9-aea3a0f031a5@intel.com> (raw)
In-Reply-To: <1474589577-11193-3-git-send-email-shawn.lin@rock-chips.com>
On 23/09/16 03:12, Shawn Lin wrote:
> From: Ziyuan Xu <xzy.xu@rock-chips.com>
>
> Sdhci shouldn't switch to the unsupported voltage if claiming
> that it can not support the requested voltage. Let's fix it.
>
> Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
> ---
>
> Changes in v2: None
>
> drivers/mmc/host/sdhci.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index 4805566..b1f1edd 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -1845,7 +1845,8 @@ static int sdhci_start_signal_voltage_switch(struct mmc_host *mmc,
>
> switch (ios->signal_voltage) {
> case MMC_SIGNAL_VOLTAGE_330:
> - if (!(host->flags & SDHCI_SIGNALING_330))
> + if (!(host->flags & SDHCI_SIGNALING_330) ||
> + !(host->caps & SDHCI_CAN_VDD_330))
You are mixing signal voltage and supply voltage here. Note, I don't
believe all drivers set the capabilities correctly when they are using
regulators, but in any case this is not the place in the code to make such
assumptions.
Better for the driver to remove SDHCI_SIGNALING_330 from flags when it is
not supported.
> return -EINVAL;
> /* Set 1.8V Signal Enable in the Host Control2 register to 0 */
> ctrl &= ~SDHCI_CTRL_VDD_180;
> @@ -1872,7 +1873,8 @@ static int sdhci_start_signal_voltage_switch(struct mmc_host *mmc,
>
> return -EAGAIN;
> case MMC_SIGNAL_VOLTAGE_180:
> - if (!(host->flags & SDHCI_SIGNALING_180))
> + if (!(host->flags & SDHCI_SIGNALING_180) ||
> + !(host->caps & SDHCI_CAN_VDD_180))
You are mixing signal voltage and supply voltage here, and this is not
correct: not being able to do 1.8V supply does not mean you can't do 1.8V
signaling. The SDHCI way of determining supported signal voltages is based
on supported transfer modes.
If the driver can't get the transfer modes correct (e.g. we still don't have
MMC_CAP2_3_3V_ONLY_DDR or equivalent), remove SDHCI_SIGNALING_180 from the
flags.
> return -EINVAL;
> if (!IS_ERR(mmc->supply.vqmmc)) {
> ret = mmc_regulator_set_vqmmc(mmc, ios);
>
next prev parent reply other threads:[~2016-09-23 7:17 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-23 0:12 [RESEND PATCH v2 1/4] mmc: core: switch to 1V8 or 1V2 for hs400es mode Shawn Lin
2016-09-23 0:12 ` [RESEND PATCH v2 2/4] mmc: core: changes frequency to hs_max_dtr when selecting hs400es Shawn Lin
2016-09-29 19:47 ` Doug Anderson
2016-09-23 0:12 ` [RESEDN PATCH v2 3/4] mmc: sdhci: Don't try to switch to unsupported voltage Shawn Lin
2016-09-23 7:12 ` Adrian Hunter [this message]
2016-09-23 8:07 ` Shawn Lin
2016-09-23 0:12 ` [RESEND PATCH v2 4/4] mmc: sdhci-of-arasan: add sdhci_arasan_voltage_switch for arasan,5.1 Shawn Lin
2016-09-28 8:20 ` Adrian Hunter
2016-09-29 19:49 ` [RESEND PATCH v2 1/4] mmc: core: switch to 1V8 or 1V2 for hs400es mode Doug Anderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=785df157-dadc-4dd3-76e9-aea3a0f031a5@intel.com \
--to=adrian.hunter@intel.com \
--cc=jh80.chung@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=shawn.lin@rock-chips.com \
--cc=ulf.hansson@linaro.org \
--cc=xzy.xu@rock-chips.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox