[PATCH v3 7/7] spi: imx: defer spi initialization, if DMA engine is pending
anton.bondarenko.sama at gmail.com
Thu Nov 5 08:18:31 PST 2015
On 05.11.2015 09:59, Sascha Hauer wrote:
> On Sun, Nov 01, 2015 at 03:41:41PM +0100, Anton Bondarenko wrote:
>> From: Anton Bondarenko <anton_bondarenko at mentor.com>
>> If SPI device supports DMA mode, but DMA controller is not yet
>> available due to e.g. a delay in the corresponding kernel module
>> initialization, retry to initialize SPI driver later on instead of
>> falling back into PIO only mode.
>> Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy at mentor.com>
>> Signed-off-by: Anton Bondarenko <anton_bondarenko at mentor.com>
> Ok, so 6/7 is only part of the deferral story. Maybe squash the two
> patches into one?
I would like to keep these two changes separately since I have a small
concern about this exact change.
Let's assume such scenario:
- ECSPI configured to use DMA in device tree and DMA controller
description specified. But there is no driver for this controller in kernel.
In this case dmaengine will always return -EDEFER and driver postpone
spi-imx initialization. So finally there will be no SPI support even in
Or for example spi-imx will be compiled into kernel, but DMA controller
driver will be on SPI-NOR based rootfs.
So the question is "Should we allow user to use incorrect combination of
kernel configuration and DTS and work at least with some limitation?" Or
should we try to guarantee device tree file requirement to use DMA.
More information about the linux-arm-kernel