mirror of
https://github.com/torvalds/linux.git
synced 2025-04-09 14:45:27 +00:00
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: Matthew Majewski <mattwmajewski@gmail.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com> Link: https://lore.kernel.org/r/20250216214741.207538-1-mattwmajewski@gmail.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
566beb347e
commit
e7240aba20
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user