aboutsummaryrefslogtreecommitdiff
path: root/drivers/dma/ti
diff options
context:
space:
mode:
authorVignesh Raghavendra <vigneshr@ti.com>2020-09-17 20:11:22 +0530
committerLokesh Vutla <lokeshvutla@ti.com>2020-10-12 08:09:18 +0530
commit85bdcf03b79bb35b98fce26d8dd064cc1165917a (patch)
treeed34d60f5f897b101f099d0853770f92ec98c083 /drivers/dma/ti
parent6d7364016a4da0d8faeb6a2566aed9e0f188ffbe (diff)
downloadu-boot-85bdcf03b79bb35b98fce26d8dd064cc1165917a.zip
u-boot-85bdcf03b79bb35b98fce26d8dd064cc1165917a.tar.gz
u-boot-85bdcf03b79bb35b98fce26d8dd064cc1165917a.tar.bz2
dma: ti: k3-udma: Reset the channel during release
Reset the channel completely during channel release in order to clear teardown bit before handing over to next user or jumping to Linux. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Diffstat (limited to 'drivers/dma/ti')
-rw-r--r--drivers/dma/ti/k3-udma.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
index 57d9fbf..9421604 100644
--- a/drivers/dma/ti/k3-udma.c
+++ b/drivers/dma/ti/k3-udma.c
@@ -1134,7 +1134,9 @@ err_free_res:
static void udma_free_chan_resources(struct udma_chan *uc)
{
- /* Some configuration to UDMA-P channel: disable, reset, whatever */
+ /* Hard reset UDMA channel */
+ udma_stop_hard(uc);
+ udma_reset_counters(uc);
/* Release PSI-L pairing */
udma_navss_psil_unpair(uc->ud, uc->config.src_thread, uc->config.dst_thread);