[PATCH 2/7] mmc: sdhci-esdhc-imx: add SDHCI_TRANSFER_MODE read function
John Tobias
john.tobias.ph at gmail.com
Mon Oct 21 12:01:59 EDT 2013
Hi Dong,
I compiled my kernel after applying your patch but it didn't compile
it correctly due to esdhc_is_usdhc function. It should be
is_imx6_usdhc?
Regards,
john
On Mon, Oct 21, 2013 at 7:27 AM, Dong Aisheng <b29396 at freescale.com> wrote:
> Used to read out the correct value of SDHCI_TRANSFER_MODE register
> for upper layer.
>
> Signed-off-by: Dong Aisheng <b29396 at freescale.com>
> ---
> drivers/mmc/host/sdhci-esdhc-imx.c | 16 ++++++++++++++++
> 1 files changed, 16 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
> index 461a4c3..2be77e0 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -385,6 +385,22 @@ static u16 esdhc_readw_le(struct sdhci_host *host, int reg)
> return ret;
> }
>
> + if (unlikely(reg == SDHCI_TRANSFER_MODE)) {
> + if (esdhc_is_usdhc(imx_data)) {
> + u32 m = readl(host->ioaddr + ESDHC_MIX_CTRL);
> + ret = m & ESDHC_MIX_CTRL_SDHCI_MASK;
> + /* Swap AC23 bit */
> + if (m & ESDHC_MIX_CTRL_AC23EN) {
> + ret &= ~ESDHC_MIX_CTRL_AC23EN;
> + ret |= SDHCI_TRNS_AUTO_CMD23;
> + }
> + } else {
> + ret = readw(host->ioaddr + SDHCI_TRANSFER_MODE);
> + }
> +
> + return ret;
> + }
> +
> return readw(host->ioaddr + reg);
> }
>
> --
> 1.7.2.rc3
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the linux-arm-kernel
mailing list