From: Wolfram Sang <w.sang@pengutronix.de>
To: Richard Zhu <richard.zhu@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de,
linux-mmc@vger.kernel.org, cjb@laptop.org,
avorontsov@ru.mvista.com, eric.miao@linaro.org
Subject: Re: [PATCH V1] mmc: Enable the ADMA on esdhc imx driver
Date: Wed, 8 Jun 2011 22:30:22 +0200 [thread overview]
Message-ID: <20110608203022.GC21996@pengutronix.de> (raw)
In-Reply-To: <1307503005-3969-1-git-send-email-richard.zhu@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 2814 bytes --]
On Wed, Jun 08, 2011 at 11:16:45AM +0800, Richard Zhu wrote:
> Eanble the ADMA2 mode on freescale esdhc imx driver,
> tested on MX51 and MX53.
What does the new, vendor specific bit in the interrupt register cover what the
old ADMA_ERROR bit did not cover? And is the old one the same as in mx25, so
the new bit can be seen as the fixup which makes ADMA work only on mx51/53?
Information like this should be added to the define, so people will clearly
know later.
>
> Only ADMA2 mode is enabled, MX25/35 can't support the ADMA2 mode.
> So this patch is only used for MX51/53.
> The ADMA2 mode supported or not can be distinguished by the
> Capability Register(offset 0x40) of eSDHC module.
> Up to now, only MX51/MX53 set the ADMA2 supported bit(Bit20) in the
> Capability Register.
>
> Signed-off-by: Richard Zhu <richard.zhu@linaro.org>
> ---
> drivers/mmc/host/sdhci-esdhc-imx.c | 36 +++++++++++++++++++++++++++++++-----
> 1 files changed, 31 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
> index a19967d..8015e1a 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -31,6 +31,8 @@
> #define SDHCI_VENDOR_SPEC 0xC0
> #define SDHCI_VENDOR_SPEC_SDIO_QUIRK 0x00000002
>
> +#define SDHCI_SPEC_INT_ADMA_ERR 0x10000000
There is no register SDHCI_SPEC_*. I'd suggest
"SDHCI_INT_VENDOR_SPEC_ADMA_ERROR".
> + if (unlikely(reg == SDHCI_CAPABILITIES)) {
> + if (val & SDHCI_CAN_DO_ADMA1) {
> + val &= ~SDHCI_CAN_DO_ADMA1;
> + val |= SDHCI_CAN_DO_ADMA2;
Why is this needed? Above you say, MX51/53 has ADMA2 bit already set?
And you would set ADMA2 for mx25/35 now?
> @@ -154,7 +177,7 @@ static void esdhc_writew_le(struct sdhci_host *host, u16 val, int reg)
>
> static void esdhc_writeb_le(struct sdhci_host *host, u8 val, int reg)
> {
> - u32 new_val;
> + u16 new_val;
Why? esdhc_clrset_le wants a u32.
>
> switch (reg) {
> case SDHCI_POWER_CONTROL:
> @@ -168,10 +191,12 @@ static void esdhc_writeb_le(struct sdhci_host *host, u8 val, int reg)
> new_val = val & (SDHCI_CTRL_LED | SDHCI_CTRL_4BITBUS);
> /* ensure the endianess */
> new_val |= ESDHC_HOST_CONTROL_LE;
> - /* DMA mode bits are shifted */
> - new_val |= (val & SDHCI_CTRL_DMA_MASK) << 5;
> + if (val & SDHCI_CTRL_DMA_MASK)
> + /* DMA mode bits are shifted */
> + new_val |= (val & SDHCI_CTRL_DMA_MASK) << 5;
I think the if doesn't save much than just doing this simple operation; it also
adds another line and level of indentation.
Regards,
Wolfram
--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2011-06-08 20:30 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-08 3:16 [PATCH V1] mmc: Enable the ADMA on esdhc imx driver Richard Zhu
2011-06-08 20:30 ` Wolfram Sang [this message]
-- strict thread matches above, loose matches on Subject: below --
2011-06-07 9:37 Richard Zhu
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=20110608203022.GC21996@pengutronix.de \
--to=w.sang@pengutronix.de \
--cc=avorontsov@ru.mvista.com \
--cc=cjb@laptop.org \
--cc=eric.miao@linaro.org \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mmc@vger.kernel.org \
--cc=richard.zhu@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox