drivers/dma/xilinx/xilinx_dma.c | 2 ++ 1 file changed, 2 insertions(+)
Coalesce the direction bits from the enabled TX and/or RX channels into
the directions bit mask of dma_device. Without this mask set,
dma_get_slave_caps() in the DMAEngine fails, which prevents the driver
from being used with an IIO DMAEngine buffer.
Signed-off-by: Thomas Gessler <thomas.gessler@brueckmann-gmbh.de>
---
Changes in v2:
- Change to Suraj's simpler version as per Radhey's request
drivers/dma/xilinx/xilinx_dma.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dma.c
index 3ad44afd0e74..8f26b6eff3f3 100644
--- a/drivers/dma/xilinx/xilinx_dma.c
+++ b/drivers/dma/xilinx/xilinx_dma.c
@@ -2909,6 +2909,8 @@ static int xilinx_dma_chan_probe(struct xilinx_dma_device *xdev,
return -EINVAL;
}
+ xdev->common.directions |= chan->direction;
+
/* Request the interrupt */
chan->irq = of_irq_get(node, chan->tdest);
if (chan->irq < 0)
On Wed, 07 May 2025 20:21:01 +0200, Thomas Gessler wrote:
> Coalesce the direction bits from the enabled TX and/or RX channels into
> the directions bit mask of dma_device. Without this mask set,
> dma_get_slave_caps() in the DMAEngine fails, which prevents the driver
> from being used with an IIO DMAEngine buffer.
>
>
Applied, thanks!
[1/1] dmaengine: xilinx_dma: Set dma_device directions
commit: 7e01511443c30a55a5ae78d3debd46d4d872517e
Best regards,
--
~Vinod
On Wed May 7, 2025 at 8:21 PM CEST, Thomas Gessler wrote: > Coalesce the direction bits from the enabled TX and/or RX channels into > the directions bit mask of dma_device. Without this mask set, > dma_get_slave_caps() in the DMAEngine fails, which prevents the driver > from being used with an IIO DMAEngine buffer. > > Signed-off-by: Thomas Gessler <thomas.gessler@brueckmann-gmbh.de> Tested-by: Folker Schwesinger <dev@folker-schwesinger.de> > --- > Changes in v2: > - Change to Suraj's simpler version as per Radhey's request > > drivers/dma/xilinx/xilinx_dma.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dma.c > index 3ad44afd0e74..8f26b6eff3f3 100644 > --- a/drivers/dma/xilinx/xilinx_dma.c > +++ b/drivers/dma/xilinx/xilinx_dma.c > @@ -2909,6 +2909,8 @@ static int xilinx_dma_chan_probe(struct xilinx_dma_device *xdev, > return -EINVAL; > } > > + xdev->common.directions |= chan->direction; > + > /* Request the interrupt */ > chan->irq = of_irq_get(node, chan->tdest); > if (chan->irq < 0)
© 2016 - 2025 Red Hat, Inc.