Re: [RFC PATCH] dmaengine: xilinx_dma: Fix per-channel direction reporting via device_caps
From: Rahul Navale <hidden>
Date: 2026-02-26 07:35:23
Also in:
dmaengine, lkml
From: Rahul Navale <redacted>
in the RFC patch, rebuild and exercise your use case. Then please do dmesg|grep xilinx_dma_device_caps
Hi Folker, Thanks for the suggestion. I applied your RFC patch and added printk() in xilinx_dma_device_caps() around the assignment of caps->directions. After rebuilding and booting, I exercised the audio playback use case and collected the requested logs. The callback is reached and prints appear both during early boot and during playback. Issue still persists. cyclic playback fails after the first buffer period. Output of `dmesg | grep xilinx_dma_device_caps`: root@pdm3:~# aplay closetoyou.wav Playing WAVE 'closetoyou.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo ^CAborted by signal Interrupt... aplay: pcm_write:2178: write error: Interrupted system call root@pdm3:~# aplay closetoyou.wav root@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 root@pdm3:~# root@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@pdm3:~# aplay closetoyou.wav root@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