Commit e7240aba authored by Matthew Majewski's avatar Matthew Majewski Committed by Vinod Koul
Browse files

dmaengine: ti: edma: support sw triggered chans in of_edma_xlate()



The .of_edma_xlate() function always sets the hw_triggered flag to
true. This causes sw triggered channels consumed via the device-tree
to not function properly, as the driver incorrectly assumes they are
hw triggered. Modify the xlate() function to correctly set the
hw_triggered flag to false for channels reserved for memcpy
operation (ie, sw triggered).

Signed-off-by: default avatarMatthew Majewski <mattwmajewski@gmail.com>
Acked-by: default avatarPeter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20250216214741.207538-1-mattwmajewski@gmail.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 566beb34
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -2259,8 +2259,12 @@ static struct dma_chan *of_edma_xlate(struct of_phandle_args *dma_spec,

	return NULL;
out:
	/* The channel is going to be used as HW synchronized */
	echan->hw_triggered = true;
	/*
	 * The channel is going to be HW synchronized, unless it was
	 * reserved as a memcpy channel
	 */
	echan->hw_triggered =
		!edma_is_memcpy_channel(i, ecc->info->memcpy_channels);
	return dma_get_slave_channel(chan);
}
#else