Re: [PATCH RFC 2/3] mmc: sdhci-omap: Add using external dma

From: Kishon Vijay Abraham I
Date: Fri Nov 09 2018 - 00:30:26 EST


Hi Arnd,

On 06/11/18 6:21 PM, Arnd Bergmann wrote:
> On 11/5/18, Kishon Vijay Abraham I <kishon@xxxxxx> wrote:
>> On 05/11/18 8:46 AM, Chunyan Zhang wrote:
>>>
>>> + sdhci_switch_extdma(host, true);
>>
>> A number of devices using sdhci-omap supports ADMA. So switching to
>> external
>> DMA shouldn't be unconditional.
>>
>> IMHO sdhci.c should see if the device supports ADMA or SDMA. If not it
>> should
>> try switching to external DMA and if external DMA too is not supported, it
>> should use PIO.
>
> What's the reasoning for preferring ADMA/SDMA over external DMA if
> both are supported?

Generally from our experiments we've found ADMA gives better throughput than
DMA. I have to ascertain the actual reasons for that.
>
> I'd expect that if the external DMA for some reason is worse than
> ADMA, we just wouldn't list it in the DT at all, but if it's listed and
> ADMA also works, then the driver should try to use it before falling
> back to ADMA.

I would agree that for newer dtbs. However if you consider omap_hsmmc, external
DMA bindings are already added in dt. If we try to switch to sdhci-omap with
the same bindings, systems with older dtbs will use external DMA and give
lesser throughput.

Thanks
Kishon