diff options
| author | Ovidiu Panait <ovidiu.panait.rb@renesas.com> | 2026-09-21 19:59:43 +0000 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-09-28 17:31:17 +0100 |
| commit | 7b85114d47f693b709b2e8e22e44cdf58c04b111 (patch) | |
| tree | 3fe3b4ca8a51141ec2ab8c72dbaf74f9e94907c6 /scripts/Makefile.thinlto | |
| parent | 2ec5d38037b849340e6312ada3d54b522b648c9b (diff) | |
| download | linux-7b85114d47f693b709b2e8e22e44cdf58c04b111.tar.gz linux-7b85114d47f693b709b2e8e22e44cdf58c04b111.zip | |
spi: rspi: Fix DMA mode when the DMA controller is built as a module
On the Renesas RZ/G2L platform, the RSPI driver falls back to PIO mode
instead of using DMA when the DMA controller driver is built as a module
(CONFIG_RZ_DMAC=m):
renesas_spi 1004b000.spi: dma_request_slave_channel_compat failed
renesas_spi 1004b000.spi: DMA not available, using PIO
The driver requests DMA channels through dma_request_slave_channel_compat()
which returns either a valid pointer or NULL and cannot handle
-EPROBE_DEFER. If the DMA controller has not probed yet, the driver falls
back to PIO directly.
Fix this by replacing the dma_request_slave_channel_compat() call with a
regular dma_request_chan() call. dma_request_slave_channel_compat() is
always passed a NULL fn_param in all code paths, so it actually behaves
like a plain dma_request_chan() call.
Fixes: e825b8dd2b36 ("spi: rspi: Add DT support to DMA setup")
Signed-off-by: Ovidiu Panait <ovidiu.panait.rb@renesas.com>
Link: https://patch.msgid.link/20260921195943.107247-1-ovidiu.panait.rb@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
