From: "Nath, Arindam" <Arindam.Nath@amd.com>
To: Andrei Warkentin <andreiw@motorola.com>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Cc: "cjb@laptop.org" <cjb@laptop.org>,
"arnd@arndb.de" <arnd@arndb.de>,
"subhashj@codeaurora.org" <subhashj@codeaurora.org>
Subject: RE: [[v4] 5/5] MMC: SDHCI AutoCMD23 support.
Date: Wed, 27 Apr 2011 00:49:15 -0500 [thread overview]
Message-ID: <6C03668EAF45B747AF947A1603D1B300EB81997F@SAUSEXMBP01.amd.com> (raw)
In-Reply-To: <1303870235-29041-6-git-send-email-andreiw@motorola.com>
Hi Andrei,
Is there any more change to your V4 than the ones we discussed yesterday? I did the mod we discussed, but seems like the driver only sends CMD23 now, not Auto CMD23.
Thanks,
Arindam
> -----Original Message-----
> From: Andrei Warkentin [mailto:andreiw@motorola.com]
> Sent: Wednesday, April 27, 2011 7:41 AM
> To: linux-mmc@vger.kernel.org
> Cc: Andrei Warkentin; Nath, Arindam; cjb@laptop.org; arnd@arndb.de;
> subhashj@codeaurora.org
> Subject: [[v4] 5/5] MMC: SDHCI AutoCMD23 support.
>
> Enables Auto-CMD23 support where available (SDHCI 3.0 controllers)
>
> Cc: arindam.nath@amd.com
> Cc: cjb@laptop.org
> Cc: arnd@arndb.de
> Cc: subhashj@codeaurora.org
> Signed-off-by: Andrei Warkentin <andreiw@motorola.com>
> ---
> drivers/mmc/host/sdhci.c | 17 ++++++++++++++++-
> drivers/mmc/host/sdhci.h | 2 ++
> include/linux/mmc/sdhci.h | 1 +
> 3 files changed, 19 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index 41c987d..bf9aedb 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -844,7 +844,13 @@ static void sdhci_set_transfer_mode(struct
> sdhci_host *host,
> if (!host->mrq->sbc &&
> host->flags & SDHCI_ACMD12)
> mode |= SDHCI_TRNS_ACMD12;
> + else if (host->mrq->sbc &&
> + host->flags & SDHCI_ACMD23) {
> + mode |= SDHCI_TRNS_ACMD23;
> + sdhci_writel(host, host->mrq->sbc->arg,
> SDHCI_ARGUMENT2);
> + }
> }
> +
> if (data->flags & MMC_DATA_READ)
> mode |= SDHCI_TRNS_READ;
> if (host->flags & SDHCI_REQ_USE_DMA)
> @@ -1189,7 +1195,7 @@ static void sdhci_request(struct mmc_host *mmc,
> struct mmc_request *mrq)
> tasklet_schedule(&host->finish_tasklet);
> } else {
>
> - if (mrq->sbc)
> + if (mrq->sbc && !(host->flags & SDHCI_ACMD23))
> sdhci_send_command(host, mrq->sbc);
> else
> sdhci_send_command(host, mrq->cmd);
> @@ -1947,6 +1953,15 @@ int sdhci_add_host(struct sdhci_host *host)
> if (host->quirks & SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12)
> host->flags |= SDHCI_ACMD12;
>
> + /* Auto-CMD23 stuff only works in ADMA or PIO. */
> + if ((host->version == SDHCI_SPEC_300) &&
> + ((host->flags & SDHCI_USE_ADMA) ||
> + !(host->flags & SDHCI_REQ_USE_DMA))) {
> + host->flags |= SDHCI_ACMD23;
> + printk(KERN_INFO "%s: Auto-CMD23 available\n",
> mmc_hostname(mmc));
> + } else
> + printk(KERN_INFO "%s: Auto-CMD23 unavailable\n",
> mmc_hostname(mmc));
> +
> /*
> * A controller may support 8-bit width, but the board itself
> * might not have the pins brought out. Boards that support
> diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
> index 85750a9..2b3fb76 100644
> --- a/drivers/mmc/host/sdhci.h
> +++ b/drivers/mmc/host/sdhci.h
> @@ -25,6 +25,7 @@
> */
>
> #define SDHCI_DMA_ADDRESS 0x00
> +#define SDHCI_ARGUMENT2 0x00
>
> #define SDHCI_BLOCK_SIZE 0x04
> #define SDHCI_MAKE_BLKSZ(dma, blksz) (((dma & 0x7) << 12) | (blksz &
> 0xFFF))
> @@ -37,6 +38,7 @@
> #define SDHCI_TRNS_DMA 0x01
> #define SDHCI_TRNS_BLK_CNT_EN 0x02
> #define SDHCI_TRNS_ACMD12 0x04
> +#define SDHCI_TRNS_ACMD23 0x08
> #define SDHCI_TRNS_READ 0x10
> #define SDHCI_TRNS_MULTI 0x20
>
> diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h
> index c54ac14..d91585a 100644
> --- a/include/linux/mmc/sdhci.h
> +++ b/include/linux/mmc/sdhci.h
> @@ -110,6 +110,7 @@ struct sdhci_host {
> #define SDHCI_REQ_USE_DMA (1<<2) /* Use DMA for this req. */
> #define SDHCI_DEVICE_DEAD (1<<3) /* Device unresponsive */
> #define SDHCI_ACMD12 (1<<4) /* Auto CMD12 support */
> +#define SDHCI_ACMD23 (1<<5) /* Auto CMD23 support */
>
> unsigned int version; /* SDHCI spec. version */
>
> --
> 1.7.0.4
>
next prev parent reply other threads:[~2011-04-27 5:50 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-14 0:38 SET_BLOCK_COUNT-bounded multiblock transfers Andrei Warkentin
2011-04-14 0:03 ` Andrei Warkentin
2011-04-14 9:05 ` Gao, Yunpeng
2011-04-14 22:58 ` Andrei Warkentin
2011-04-14 23:18 ` Chris Ball
2011-04-15 7:10 ` Andrei Warkentin
2011-04-15 17:29 ` Andrei Warkentin
2011-04-14 0:38 ` [RFC 1/3] MMC: use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-04-14 0:38 ` [RFC 2/3] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-04-14 0:38 ` [RFC 3/3] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-04-15 23:51 ` [patchv2 1/3] MMC: Use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-04-15 23:51 ` [patchv2 2/3] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-04-15 23:51 ` [patchv2 3/3] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-04-16 10:40 ` CMD23 plumbing and support patchset Andrei Warkentin
2011-04-21 1:44 ` Chris Ball
2011-04-21 6:29 ` Andrei Warkentin
2011-04-21 6:30 ` Andrei Warkentin
2011-04-22 3:53 ` Andrei Warkentin
2011-04-23 2:51 ` Chris Ball
2011-04-26 23:30 ` Andrei Warkentin
2011-04-27 2:10 ` CMD23 plumbing patchset Andrei Warkentin
2011-04-27 2:10 ` [[v4] 1/5] MMC: Add/remove quirks conditional support Andrei Warkentin
2011-04-27 2:10 ` [[v4] 2/5] MMC: Use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-04-27 2:10 ` [[v4] 3/5] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-04-27 2:10 ` [[v4] 4/5] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-04-27 2:10 ` [[v4] 5/5] MMC: SDHCI AutoCMD23 support Andrei Warkentin
2011-04-27 5:49 ` Nath, Arindam [this message]
2011-04-27 5:59 ` Andrei Warkentin
2011-04-27 6:02 ` Nath, Arindam
2011-04-27 6:05 ` Andrei Warkentin
2011-04-28 8:34 ` Nath, Arindam
2011-04-28 19:09 ` Andrei Warkentin
2011-04-29 5:34 ` Nath, Arindam
2011-05-19 2:37 ` [[v4] 2/5] MMC: Use CMD23 for multiblock transfers when we can Jaehoon Chung
2011-05-19 17:01 ` Andrei Warkentin
2011-05-20 4:38 ` Jaehoon Chung
[not found] ` <BANLkTik72KgftDWz6aNn=zGDqj1uMpwnYw@mail.gmail.com>
2011-05-20 6:54 ` Andrei Warkentin
2011-05-20 9:05 ` Jaehoon Chung
2011-05-23 12:40 ` Jaehoon Chung
2011-05-23 19:25 ` Andrei Warkentin
2011-05-23 19:33 ` Andrei Warkentin
2011-05-23 19:34 ` Andrei Warkentin
2011-05-23 20:45 ` Andrei Warkentin
2011-05-24 0:07 ` Jaehoon Chung
2011-04-29 23:25 ` CMD23 plumbing patchset Andrei Warkentin
2011-05-19 21:46 ` Andrei Warkentin
2011-05-23 20:06 ` Andrei Warkentin
2011-05-25 2:51 ` Chris Ball
2011-05-23 20:06 ` [v6 1/5] MMC: Add/remove quirks conditional support Andrei Warkentin
2011-05-23 20:06 ` [v6 2/5] MMC: Use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-05-23 20:06 ` [v6 3/5] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-05-23 20:06 ` [v6 4/5] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-05-24 6:01 ` Nath, Arindam
2011-05-23 20:06 ` [v6 5/5] MMC: SDHCI AutoCMD23 support Andrei Warkentin
2011-05-24 23:27 ` Chris Ball
2011-05-25 0:37 ` Andrei Warkentin
2011-05-19 21:46 ` [v5 1/5] MMC: Add/remove quirks conditional support Andrei Warkentin
2011-05-19 21:46 ` [v5 2/5] MMC: Use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-05-20 10:29 ` Jaehoon Chung
2011-05-20 18:12 ` Andrei Warkentin
2011-05-19 21:46 ` [v5 3/5] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-05-19 21:46 ` [v5 4/5] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-05-20 10:38 ` Nath, Arindam
2011-05-20 18:09 ` Andrei Warkentin
2011-05-19 21:46 ` [v5 5/5] MMC: SDHCI AutoCMD23 support Andrei Warkentin
2011-05-20 10:46 ` Nath, Arindam
2011-05-20 18:08 ` Andrei Warkentin
2011-04-16 10:40 ` [patchv3 1/5] MMC: Add/remove quirks conditional support Andrei Warkentin
2011-04-16 10:40 ` [patchv3 2/5] MMC: Use CMD23 for multiblock transfers when we can Andrei Warkentin
2011-04-17 17:23 ` Arnd Bergmann
2011-04-17 19:27 ` Andrei Warkentin
2011-04-19 3:44 ` Andrei Warkentin
2011-04-19 7:39 ` Arnd Bergmann
2011-04-19 15:18 ` Andrei Warkentin
2011-04-16 10:40 ` [patchv3 3/5] MMC: Implement MMC_CAP_CMD23 for SDHCI Andrei Warkentin
2011-04-16 10:40 ` [patchv3 4/5] MMC: Block CMD23 support for UHS104/SDXC cards Andrei Warkentin
2011-04-16 16:19 ` Nath, Arindam
2011-04-16 23:00 ` Andrei Warkentin
2011-04-16 23:38 ` [PATCH] " Andrei Warkentin
2011-04-16 10:40 ` [patchv3 5/5] MMC: SDHCI AutoCMD23 support Andrei Warkentin
2011-04-17 17:25 ` Arnd Bergmann
2011-04-17 19:31 ` Andrei Warkentin
2011-04-19 3:05 ` Andrei Warkentin
2011-04-19 3:19 ` Nath, Arindam
2011-04-19 3:32 ` Andrei Warkentin
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=6C03668EAF45B747AF947A1603D1B300EB81997F@SAUSEXMBP01.amd.com \
--to=arindam.nath@amd.com \
--cc=andreiw@motorola.com \
--cc=arnd@arndb.de \
--cc=cjb@laptop.org \
--cc=linux-mmc@vger.kernel.org \
--cc=subhashj@codeaurora.org \
/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.