Re: [PATCH] mmc: dw_mmc: Reset DMA before enabling IDMAC
From: Doug Anderson
Date: Tue Oct 14 2014 - 12:51:34 EST
Hi,
On Thu, Oct 9, 2014 at 5:36 PM, Doug Anderson <dianders@xxxxxxxxxxxx> wrote:
> Alim,
>
> On Thu, Oct 9, 2014 at 3:19 PM, Alim Akhtar <alim.akhtar@xxxxxxxxx> wrote:
>> Thats fine, I think every vendor (most of them) has a custom
>> implementation of dw_mmc, but they do have VERID register to check the
>> dw_mmc version.
>> The reason why I asked is, I have seen inconsistency in card
>> enumeration on few controller version, and this patch alone does not
>> help, and adding a call to dw_mci_idmac_reset() after DMA reset is
>> needed. And this is what is recommended in the synopsys's data book
>> also.
>> Do you see any issue/side effect after adding dw_mci_idmac_reset()?
>
> A quick test shows no problem with adding this to Sonny's patch:
>
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 66dc8fe..588b5b8 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -481,6 +481,7 @@ static void dw_mci_idmac_start_dma(struct dw_mci
> *host, unsigned int sg_len)
>
> /* Make sure to reset DMA in case we did PIO before this */
> dw_mci_ctrl_reset(host, SDMMC_CTRL_DMA_RESET);
> + dw_mci_idmac_reset(host);
>
> /* Select IDMAC interface */
> temp = mci_readl(host, CTRL);
>
> I'll start reboot tests now to see how it behaves... I think Sonny is
> out of the office for a few days so we might need to wait for a spin,
> but I'll run with that change in the meantime and see how it behaves
> for me.
>
> Thanks!
Just FYI that I've been running with Alim's proposed change for
several days and it seems solid. I think Sonny may be able to spin
his patch this week. :)
-Doug
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/