linux_dsm_epyc7002/drivers/dma/ti
Peter Ujfalusi 16cd3c6701 dmaengine: ti: k3-udma: Workaround for RX teardown with stale data in peer
When a channel is asked to be stopped (teardown) and we do not have active
descriptor to receive stale data buffered on the remote side then the
teardown will not complete as UDMA needs a descriptor to be able to flush
out the DMA pipe.
The peer is trying to push the data to UDMA in teardown, but UDMA is
pushing back because it has no descriptor which would allow it to drain the
data.

The workaround is to create 1K 'trashcan' to receive the discarded data and
set up descriptors for packet and TR mode channels.
When a channel is stopped and there is no active descriptor then a
descriptor is pushed to the ring for UDMA before the teardown is initiated.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20200214091441.27535-3-peter.ujfalusi@ti.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2020-02-19 13:09:10 +05:30
..
cppi41.c dmaengine: cppi41: Fix cppi41_dma_prep_slave_sg() when idle 2019-10-23 21:15:21 +05:30
dma-crossbar.c dmaengine: ti: dma-crossbar: Fix a memory leak bug 2019-08-20 17:16:15 +05:30
edma.c dmaengine: ti: edma: Fix error return code in edma_probe() 2019-12-18 11:39:34 +05:30
k3-psil-am654.c dmaengine: ti: k3-psil: make symbols static 2020-01-21 13:10:24 +05:30
k3-psil-j721e.c dmaengine: ti: k3-psil: make symbols static 2020-01-21 13:10:24 +05:30
k3-psil-priv.h dmaengine: ti: k3-psil: make symbols static 2020-01-21 13:10:24 +05:30
k3-psil.c dmaengine: ti: k3-psil: make symbols static 2020-01-21 13:10:24 +05:30
k3-udma-glue.c dmaengine: ti: k3-udma: Add glue layer for non DMAengine users 2020-01-21 11:06:12 +05:30
k3-udma-private.c dmaengine: ti: k3-udma: Add glue layer for non DMAengine users 2020-01-21 11:06:12 +05:30
k3-udma.c dmaengine: ti: k3-udma: Workaround for RX teardown with stale data in peer 2020-02-19 13:09:10 +05:30
k3-udma.h dmaengine: ti: k3-udma: Add glue layer for non DMAengine users 2020-01-21 11:06:12 +05:30
Kconfig dmaengine: ti: k3-udma: Add glue layer for non DMAengine users 2020-01-21 11:06:12 +05:30
Makefile dmaengine: ti: k3-udma: Add glue layer for non DMAengine users 2020-01-21 11:06:12 +05:30
omap-dma.c dmaengine: ti: omap-dma: don't allow a null od->plat pointer to be dereferenced 2020-01-13 09:36:45 -08:00