All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Ball <cjb@laptop.org>
To: Arindam Nath <arindam.nath@amd.com>
Cc: prakity@marvell.com, zhangfei.gao@gmail.com,
	subhashj@codeaurora.org, linux-mmc@vger.kernel.org,
	henry.su@amd.com, aaron.lu@amd.com, anath.amd@gmail.com
Subject: Re: [PATCH v4 13/15] mmc eMMC signal voltage does not use CMD11
Date: Tue, 10 May 2011 21:51:35 -0400	[thread overview]
Message-ID: <m37h9y6m3c.fsf@pullcord.laptop.org> (raw)
In-Reply-To: <1304578151-1775-14-git-send-email-arindam.nath@amd.com> (Arindam Nath's message of "Thu, 5 May 2011 12:19:09 +0530")

Hi Arindam,

If this patch was written by Philip, it should begin with:

From: Philip Rakity <prakity@marvell.com>

(And if it was written by you, it should have your S-o-b line.)

On Thu, May 05 2011, Arindam Nath wrote:
> eMMC chips do not use CMD11 when changing voltage.  Add extra
> argument to call to indicate if CMD11 needs to be sent.
>
> Signed-off-by: Philip Rakity <prakity@marvell.com>
> Reviewed-by: Arindam Nath <arindam.nath@amd.com>
> ---
>  drivers/mmc/core/core.c |    4 ++--
>  drivers/mmc/core/core.h |    3 ++-
>  drivers/mmc/core/sd.c   |    4 ++--
>  3 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
> index 78a9b51..74b4409 100644
> --- a/drivers/mmc/core/core.c
> +++ b/drivers/mmc/core/core.c
> @@ -942,7 +942,7 @@ u32 mmc_select_voltage(struct mmc_host *host, u32 ocr)
>  	return ocr;
>  }
>  
> -int mmc_set_signal_voltage(struct mmc_host *host, int signal_voltage)
> +int mmc_set_signal_voltage(struct mmc_host *host, int signal_voltage, int cmd11)

It's fine to use the bool type for booleans.

>  {
>  	struct mmc_command cmd;
>  	int err = 0;
> @@ -953,7 +953,7 @@ int mmc_set_signal_voltage(struct mmc_host *host, int signal_voltage)
>  	 * Send CMD11 only if the request is to switch the card to
>  	 * 1.8V signalling.
>  	 */
> -	if (signal_voltage == MMC_SIGNAL_VOLTAGE_180) {
> +	if ((signal_voltage != MMC_SIGNAL_VOLTAGE_330) && cmd11) {
>  		memset(&cmd, 0, sizeof(struct mmc_command));

Please replace "struct mmc_command cmd; ... memset(&cmd, 0,
sizeof(struct mmc_command));" with "struct mmc_command cmd = {0};".
>  
>  		cmd.opcode = SD_SWITCH_VOLTAGE;
> diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h
> index 93f3397..3c11e17 100644
> --- a/drivers/mmc/core/core.h
> +++ b/drivers/mmc/core/core.h
> @@ -41,7 +41,8 @@ void mmc_set_bus_width(struct mmc_host *host, unsigned int width);
>  void mmc_set_bus_width_ddr(struct mmc_host *host, unsigned int width,
>  			   unsigned int ddr);
>  u32 mmc_select_voltage(struct mmc_host *host, u32 ocr);
> -int mmc_set_signal_voltage(struct mmc_host *host, int signal_voltage);
> +int mmc_set_signal_voltage(struct mmc_host *host, int signal_voltage,
> +			   int cmd11);
>  void mmc_set_timing(struct mmc_host *host, unsigned int timing);
>  void mmc_set_driver_type(struct mmc_host *host, unsigned int drv_type);
>  
> diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
> index 851c8fc..d2a05ab 100644
> --- a/drivers/mmc/core/sd.c
> +++ b/drivers/mmc/core/sd.c
> @@ -731,7 +731,7 @@ try_again:
>  	 */
>  	if (!mmc_host_is_spi(host) && rocr &&
>  	   ((*rocr & 0x41000000) == 0x41000000)) {
> -		err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_180);
> +		err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_180, 1);

Use TRUE instead of 1.

>  		if (err) {
>  			ocr &= ~SD_OCR_S18R;
>  			goto try_again;
> @@ -1104,7 +1104,7 @@ int mmc_attach_sd(struct mmc_host *host)
>  	WARN_ON(!host->claimed);
>  
>  	/* Make sure we are at 3.3V signalling voltage */
> -	err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330);
> +	err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, 0);

Use FALSE instead of 0.

>  	if (err)
>  		return err;

Thanks,

- Chris.
-- 
Chris Ball   <cjb@laptop.org>   <http://printf.net/>
One Laptop Per Child

  reply	other threads:[~2011-05-11  1:49 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-05  6:48 [PATCH v4 00/15] add support for host controller v3.00 Arindam Nath
2011-05-05  6:48 ` [PATCH v4 01/15] mmc: sd: add support for signal voltage switch procedure Arindam Nath
2011-05-06 10:36   ` zhangfei gao
2011-05-11  3:34   ` Chris Ball
2011-05-05  6:48 ` [PATCH v4 02/15] mmc: sd: query function modes for uhs cards Arindam Nath
2011-05-06 10:37   ` zhangfei gao
2011-05-11  3:34   ` Chris Ball
2011-05-05  6:48 ` [PATCH v4 03/15] mmc: sd: add support for driver type selection Arindam Nath
2011-05-06 10:37   ` zhangfei gao
2011-05-11  3:34   ` Chris Ball
2011-05-05  6:49 ` [PATCH v4 04/15] mmc: sdhci: reset sdclk before setting high speed enable Arindam Nath
2011-05-06 10:38   ` zhangfei gao
2011-05-11  3:36   ` Chris Ball
2011-05-05  6:49 ` [PATCH v4 05/15] mmc: sd: add support for uhs bus speed mode selection Arindam Nath
2011-05-06 10:41   ` zhangfei gao
2011-05-11  3:36   ` Chris Ball
2011-05-05  6:49 ` [PATCH v4 06/15] mmc: sd: set current limit for uhs cards Arindam Nath
2011-05-06 10:38   ` zhangfei gao
2011-05-11  3:37   ` Chris Ball
2011-05-05  6:49 ` [PATCH v4 07/15] mmc: sd: report correct speed and capacity of " Arindam Nath
2011-05-06 10:39   ` zhangfei gao
2011-05-11  3:37   ` Chris Ball
2011-05-05  6:49 ` [PATCH v4 08/15] mmc: sd: add support for tuning during uhs initialization Arindam Nath
2011-05-06 10:39   ` zhangfei gao
2011-05-11  3:38   ` Chris Ball
2011-05-05  6:49 ` [PATCH v4 09/15] mmc: sdhci: enable preset value after " Arindam Nath
2011-05-06 10:40   ` zhangfei gao
2011-05-11  3:38   ` Chris Ball
2011-05-05  6:49 ` [PATCH v4 10/15] mmc: sdhci: add support for programmable clock mode Arindam Nath
2011-05-06 10:40   ` zhangfei gao
2011-05-11  3:39   ` Chris Ball
2011-05-05  6:49 ` [PATCH v4 11/15] mmc: sdhci: add support for retuning mode 1 Arindam Nath
2011-05-06 10:40   ` zhangfei gao
2011-05-11  3:39   ` Chris Ball
2011-05-05  6:49 ` [PATCH v4 12/15] sdhci pxa add platform specific code for UHS signaling Arindam Nath
2011-05-11  1:54   ` Chris Ball
2011-05-11  8:48   ` zhangfei gao
2011-05-11  8:52     ` Philip Rakity
2011-05-11  9:28       ` zhangfei gao
2011-05-11  9:47         ` Philip Rakity
2011-05-12  1:53           ` Philip Rakity
2011-05-13  8:03           ` zhangfei gao
2011-05-15 21:42             ` Philip Rakity
2011-05-16  5:57               ` zhangfei gao
2011-05-05  6:49 ` [PATCH v4 13/15] mmc eMMC signal voltage does not use CMD11 Arindam Nath
2011-05-11  1:51   ` Chris Ball [this message]
2011-05-11  9:19   ` zhangfei gao
2011-05-11 15:01     ` Philip Rakity
2011-05-12  1:53       ` Philip Rakity
2011-05-05  6:49 ` [PATCH v4 14/15] sdhci add hooks for UHS setting by platform specific code Arindam Nath
2011-05-05  6:49 ` [PATCH v4 15/15] mmc add support for eMMC Dual Data Rate Arindam Nath
2011-05-05  8:18 ` [PATCH v4 00/15] add support for host controller v3.00 Nath, Arindam
2011-05-11  3:43 ` Chris Ball
2011-05-11  6:13   ` Nath, Arindam

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=m37h9y6m3c.fsf@pullcord.laptop.org \
    --to=cjb@laptop.org \
    --cc=aaron.lu@amd.com \
    --cc=anath.amd@gmail.com \
    --cc=arindam.nath@amd.com \
    --cc=henry.su@amd.com \
    --cc=linux-mmc@vger.kernel.org \
    --cc=prakity@marvell.com \
    --cc=subhashj@codeaurora.org \
    --cc=zhangfei.gao@gmail.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.