aboutsummaryrefslogtreecommitdiff
path: root/tools/testing/selftests/bpf/progs/test_autoload.c
diff options
context:
space:
mode:
authorLouis Chauvet <[email protected]>2024-03-27 10:58:49 +0100
committerVinod Koul <[email protected]>2024-04-07 17:08:45 +0530
commit6a40fb8245965b481b4dcce011cd63f20bf91ee0 (patch)
tree37a89351bc223a7024cdb464dc31413e23272bbd /tools/testing/selftests/bpf/progs/test_autoload.c
parent5b9706bfc094314c600ab810a61208a7cbaa4cb3 (diff)
dmaengine: xilinx: xdma: Fix synchronization issue
The current xdma_synchronize method does not properly wait for the last transfer to be done. Due to limitations of the XMDA engine, it is not possible to stop a transfer in the middle of a descriptor. Said otherwise, if a stop is requested at the end of descriptor "N" and the OS is fast enough, the DMA controller will effectively stop immediately. However, if the OS is slightly too slow to request the stop and the DMA engine starts descriptor "N+1", the N+1 transfer will be performed until its end. This means that after a terminate_all, the last descriptor must remain valid and the synchronization must wait for this last descriptor to be terminated. Fixes: 855c2e1d1842 ("dmaengine: xilinx: xdma: Rework xdma_terminate_all()") Fixes: f5c392d106e7 ("dmaengine: xilinx: xdma: Add terminate_all/synchronize callbacks") Cc: [email protected] Suggested-by: Miquel Raynal <[email protected]> Signed-off-by: Louis Chauvet <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Vinod Koul <[email protected]>
Diffstat (limited to 'tools/testing/selftests/bpf/progs/test_autoload.c')
0 files changed, 0 insertions, 0 deletions