Re: [PATCH for-next] arm64: defconfig: Set bcm2835-dma as built-in
From: Peter Ujfalusi
Date: Fri Jan 24 2020 - 08:14:14 EST
On 24/01/2020 13.51, Nicolas Saenz Julienne wrote:
> Hi Peter,
>
> On Fri Jan 24, 2020 at 1:31 PM, Peter Ujfalusi wrote:
>> Hi Nicolas,
>>
>> On 24/01/2020 13.17, Nicolas Saenz Julienne wrote:
>>> With the introduction of 738987a1d6f1 ("mmc: bcm2835: Use
>>> dma_request_chan() instead dma_request_slave_channel()") sdhost-bcm2835
>>> now waits for its DMA channel to be available when defined in the
>>> device-tree (it would previously default to PIO). Albeit the right
>>> behaviour, the MMC host is needed for booting. So this makes sure the
>>> DMA channel shows up in time.
>>>
>>> Fixes: 738987a1d6f1 ("mmc: bcm2835: Use dma_request_chan() instead dma_request_slave_channel()")
>>
>> it is not a bug, it is a feature ;)
>
> Agree, I'm just afraid of your series being picked up by a stable
> release without this patch. But maybe it's not necessary?
If you need MMC rootfs then the DMA needs to be built in or have initrd
with the modules.
The driver expects to have DMA channel and it is going to wait for it to
appear unless the request fails.
Without moving the DMA as built in and removing the deferred probe
handling form the MMC driver, one can just remove the DMA support from
the mmc-bcm2835 as it is not used at all.
I wonder why this is not signaled by automated boot testing, if any
exists for bcm2835.
>> Yes, if a driver have DMA binding and it is needed during boot then the
>> DMA driver also needs to be built in.
>> I believe it is desired to use DMA instead of PIO in any case for MMC
>> and in the past bcm2835 did not used DMA if DMA was module and the MMC
>> was built in.
>>
>> Sorry for the inconvenience this change has caused to bcm2835!
>
> Not at all :)
>
>> Reviewed-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
>
> Thanks,
> Nicolas
>
- PÃter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki