From: Aaron Lu <aaron.lu@amd.com>
To: Chris Ball <cjb@laptop.org>
Cc: philipspatches@gmail.com, linux-mmc@vger.kernel.org,
mark.brown314@gmail.com, Philip Rakity <prakity@marvell.com>
Subject: Re: [PATCH 2/2] mmc: only support voltage (vdd) that regulator agree's with
Date: Tue, 3 Jul 2012 14:06:55 +0800 [thread overview]
Message-ID: <20120703060655.GA10350@aarontestpc.amd.com> (raw)
In-Reply-To: <87pq8haeq0.fsf@octavius.laptop.org>
Hi Chris,
On Fri, Jun 29, 2012 at 07:19:19PM -0400, Chris Ball wrote:
> Hi,
>
> On Fri, Jun 08 2012, philipspatches@gmail.com wrote:
> > From: Philip Rakity <prakity@marvell.com>
> >
> > If we are using a regulator the SD Host Controller and the
> > regulator should agree about the voltages supported. Use
> > the common subset that is supported.
> >
> > Signed-off-by: Philip Rakity <prakity@marvell.com>
>
> This breaks the build when CONFIG_REGULATOR=n -- I've applied what looks
> like the correct fix to me:
>
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index eae7c3c..caba999 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -2832,51 +2832,53 @@ int sdhci_add_host(struct sdhci_host *host)
> +#ifdef CONFIG_REGULATOR
> /*
> * According to SD Host Controller spec v3.00, if the Host System
> * can afford more than 150mA, Host Driver should set XPC to 1. Also
> * the value is meaningful only if Voltage Support in the Capabilities
> * register is set. The actual current value is 4 times the register
> * value.
> */
The above comments does not belong to regulator code, it should be
placed on top of the max_current_caps variable like this:
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index caba999..f76736b 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -2845,13 +2845,6 @@ int sdhci_add_host(struct sdhci_host *host)
}
#ifdef CONFIG_REGULATOR
- /*
- * According to SD Host Controller spec v3.00, if the Host System
- * can afford more than 150mA, Host Driver should set XPC to 1. Also
- * the value is meaningful only if Voltage Support in the Capabilities
- * register is set. The actual current value is 4 times the register
- * value.
- */
if (host->vmmc) {
ret = regulator_is_supported_voltage(host->vmmc, 3300000,
3300000);
@@ -2868,6 +2861,13 @@ int sdhci_add_host(struct sdhci_host *host)
}
#endif /* CONFIG_REGULATOR */
+ /*
+ * According to SD Host Controller spec v3.00, if the Host System
+ * can afford more than 150mA, Host Driver should set XPC to 1. Also
+ * the value is meaningful only if Voltage Support in the Capabilities
+ * register is set. The actual current value is 4 times the register
+ * value.
+ */
max_current_caps = sdhci_readl(host, SDHCI_MAX_CURRENT);
if (!max_current_caps && host->vmmc) {
u32 curr = regulator_get_current_limit(host->vmmc);
Thanks,
Aaron
> if (host->vmmc) {
> ret = regulator_is_supported_voltage(host->vmmc, 3300000,
> 3300000);
> if ((ret <= 0) || (!(caps[0] & SDHCI_CAN_VDD_330)))
> caps[0] &= ~SDHCI_CAN_VDD_330;
> ret = regulator_is_supported_voltage(host->vmmc, 3000000,
> 3000000);
> if ((ret <= 0) || (!(caps[0] & SDHCI_CAN_VDD_300)))
> caps[0] &= ~SDHCI_CAN_VDD_300;
> ret = regulator_is_supported_voltage(host->vmmc, 1800000,
> 1800000);
> if ((ret <= 0) || (!(caps[0] & SDHCI_CAN_VDD_180)))
> caps[0] &= ~SDHCI_CAN_VDD_180;
> }
> +#endif /* CONFIG_REGULATOR */
>
> --
> Chris Ball <cjb@laptop.org> <http://printf.net/>
> One Laptop Per Child
>
next prev parent reply other threads:[~2012-07-03 6:07 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-08 19:26 [PATCH 2/2] mmc: only support voltage (vdd) that regulator agree's with philipspatches
2012-06-27 16:46 ` Chris Ball
2012-06-29 23:19 ` Chris Ball
2012-07-03 6:06 ` Aaron Lu [this message]
2012-07-03 6:12 ` Chris Ball
2012-11-09 9:50 ` Tushar Behera
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=20120703060655.GA10350@aarontestpc.amd.com \
--to=aaron.lu@amd.com \
--cc=cjb@laptop.org \
--cc=linux-mmc@vger.kernel.org \
--cc=mark.brown314@gmail.com \
--cc=philipspatches@gmail.com \
--cc=prakity@marvell.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.