summaryrefslogtreecommitdiffstats
path: root/drivers/dma/ti/k3-udma.c
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@ti.com>2020-05-12 15:45:44 +0200
committerVinod Koul <vkoul@kernel.org>2020-05-15 07:52:41 +0200
commit5bbeea34bc7ab579516486fc387da8bde94b09a4 (patch)
tree8a4b1e36f04133bab1e664cf5fce551f350e75df /drivers/dma/ti/k3-udma.c
parentdmaengine: at_xdmac: Replace zero-length array with flexible-array (diff)
downloadlinux-5bbeea34bc7ab579516486fc387da8bde94b09a4.tar.xz
linux-5bbeea34bc7ab579516486fc387da8bde94b09a4.zip
dmaengine: ti: k3-udma: Add missing dma_sync call for rx flush descriptor
The TR mode rx flush descriptor did not had a dma_sync_single_for_device() call to make sure that the DMA see the correct information. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20200512134544.5839-1-peter.ujfalusi@ti.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/ti/k3-udma.c')
-rw-r--r--drivers/dma/ti/k3-udma.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
index 80d64f71a7cb..58af578d8dc1 100644
--- a/drivers/dma/ti/k3-udma.c
+++ b/drivers/dma/ti/k3-udma.c
@@ -3463,6 +3463,9 @@ static int udma_setup_rx_flush(struct udma_dev *ud)
tr_req->icnt0 = rx_flush->buffer_size;
tr_req->icnt1 = 1;
+ dma_sync_single_for_device(dev, hwdesc->cppi5_desc_paddr,
+ hwdesc->cppi5_desc_size, DMA_TO_DEVICE);
+
/* Set up descriptor to be used for packet mode */
hwdesc = &rx_flush->hwdescs[1];
hwdesc->cppi5_desc_size = ALIGN(sizeof(struct cppi5_host_desc_t) +