[<prev] [next>] [day] [month] [year] [list]
Message-ID:
<CY1PR12MB96978AEBD6072FC469DFEAF1B762A@CY1PR12MB9697.namprd12.prod.outlook.com>
Date: Tue, 10 Feb 2026 14:03:22 +0000
From: "Pandey, Radhey Shyam" <radhey.shyam.pandey@....com>
To: "Navale, Rahul" <Rahul.Navale@....com>, "dmaengine@...r.kernel.org"
<dmaengine@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "dma@...ts.freedesktop.org"
<dma@...ts.freedesktop.org>
CC: "thomas.gessler@...eckmann-gmbh.de" <thomas.gessler@...eckmann-gmbh.de>,
"Gupta, Suraj" <Suraj.Gupta2@....com>, "vkoul@...nel.org" <vkoul@...nel.org>,
"dev@...ker-schwesinger.de" <dev@...ker-schwesinger.de>, "sashal@...nel.org"
<sashal@...nel.org>, "Simek, Michal" <michal.simek@....com>,
"manivannan.sadhasivam@...aro.org" <manivannan.sadhasivam@...aro.org>,
"krzysztof.kozlowski@...aro.org" <krzysztof.kozlowski@...aro.org>,
"marex@...x.de" <marex@...x.de>, "linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, "Katakam, Harini"
<harini.katakam@....com>, "linux-sound@...r.kernel.org"
<linux-sound@...r.kernel.org>, Marek Vasut <marex@...ladev.com>
Subject: RE: [RFC] dmaengine: xilinx_dma: device-wide directions cause ASoC
cyclic DMA regression
[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
Powered by blists - more mailing lists