[RFC] dmaengine: xilinx_dma: device-wide directions cause ASoC cyclic DMA regression

Pandey, Radhey Shyam radhey.shyam.pandey at amd.com
Tue Feb 10 06:03:22 PST 2026


[AMD Official Use Only - AMD Internal Distribution Only]

>Hello all,
>We have observed a regression on a ZynqMP platform using AXI DMA for ASoC PCM playback with Linux 6.12.y.
>We would like to discuss a regression in ASoC audio on ZynqMP platforms caused by upstream commit 7e01511443c3 (dmaengine: xilinx_dma: Set dma_device directions).

Please use plain text. I am not clear on your problem . So do some
initial triage. May be print the common.directions in
working /non-working case.

Based on documentation - directions: should contain a bitmask of the
supported slave directions (i.e. excluding mem2mem transfers).

FYI - below drivers set directions field. I believe fsldma set
proper direction field. Does aligning to it fixes your regression?

grep -r "common.directions" drivers/dma/
drivers/dma/fsldma.c:   fdev->common.directions =
BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
drivers/dma/qcom/bam_dma.c:     bdev->common.directions =
BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
drivers/dma/qcom/qcom_adm.c:    adev->common.directions =
BIT(DMA_DEV_TO_MEM | DMA_MEM_TO_DEV);
drivers/dma/xilinx/xilinx_dma.c:
xdev->common.directions |= chan->direction;

Thanks,
Radhey



More information about the linux-arm-kernel mailing list