[RFC PATCH] dmaengine: xilinx_dma: Fix per-channel direction reporting via device_caps
Folker Schwesinger
dev at folker-schwesinger.de
Thu Feb 26 12:06:07 PST 2026
Hi Rahul,
On Thu Feb 26, 2026 at 8:35 AM CET, Rahul Navale wrote:
> root at pdm3:~# aplay closetoyou.wav
> Playing WAVE 'closetoyou.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
>
> aplay: pcm_write:2178: write error: Interrupted system call
> root at pdm3:~# aplay closetoyou.wav root at pdm3:~# dmesg | grep xilinx_dma_device_caps
> [ 0.318827] xilinx_dma_device_caps: caps->directions = 0x00000001
> [ 0.318832] xilinx_dma_device_caps: caps->directions = 0x00000001
> [ 0.319170] xilinx_dma_device_caps: caps->directions = 0x00000002
> [ 0.319175] xilinx_dma_device_caps: caps->directions = 0x00000002
> [ 6.375745] xilinx_dma_device_caps: caps->directions = 0x00000001
> [ 6.375762] xilinx_dma_device_caps: caps->directions = 0x00000001
> [ 133.401497] xilinx_dma_device_caps: caps->directions = 0x00000001
> [ 133.401513] xilinx_dma_device_caps: caps->directions = 0x00000001
> [ 167.802636] xilinx_dma_device_caps: caps->directions = 0x00000001
> [ 167.802651] xilinx_dma_device_caps: caps->directions = 0x00000001
Looks like direction aggregation does not actually happen in your case.
Probably because you have two distinct DMA devices with a single
channel each. Could you confirm this from your DT?
This suggests, that direction aggregation is not the actual root cause
of the regression you're seeing. Maybe 7e01511443c3 exposes/triggers
another subtle flaw in the ASoC or DMA layers or your driver. But that's
speculation at this point.
I'm not sure how to proceed from here. I think the patch itself is
functional, but it does not address the actual issue.
There's however one other thing you could test: Could you keep the RFC
patch with the printks in place, but revert 7e01511443c3, rerun and post
the logs?
More information about the linux-arm-kernel
mailing list