Searched hist:"5 b215c28b923539a04587b6a3f78a449f967ae32" (Results 1 – 1 of 1) sorted by relevance
/linux/drivers/dma/ |
H A D | imx-sdma.c | diff 5b215c28b923539a04587b6a3f78a449f967ae32 Mon Jan 17 10:19:54 CET 2022 Tomasz Moń <tomasz.mon@camlingroup.com> dmaengine: imx-sdma: restart cyclic channel if needed
Under heavy load resulting in high interrupt latencies, it is possible for imx UART requests to completely fill DMA buffer. When DMA channel is triggered and no SDMA owned buffer is available, SDMA stops. Thanks to the autoRTS feature, there is no data loss due to the SDMA stop if the UART is using hardware flow control.
According to DMA Engine API Guide, DMA cyclic operation is performed until explicitly stopped. Restart the buffer after handling channel loop if the channel was stopped by SDMA.
Signed-off-by: Tomasz Moń <tomasz.mon@camlingroup.com> Link: https://lore.kernel.org/r/20220117091955.1038937-1-tomasz.mon@camlingroup.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
|