dmaengine: ti: k3-udma: Correct normal channel offset when uchan_cnt is not 0
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Tue, 8 Dec 2020 09:04:21 +0000 (11:04 +0200)
committerVinod Koul <vkoul@kernel.org>
Fri, 11 Dec 2020 15:50:07 +0000 (21:20 +0530)
According to different sections of the TRM, the hchan_cnt of CAP3 includes
the number of uchan in UDMA, thus the start offset of the normal channels
are hchan_cnt.

Fixes: daf4ad0499aa4 ("dmaengine: ti: k3-udma: Query throughput level information from hardware")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20201208090440.31792-2-peter.ujfalusi@ti.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/ti/k3-udma.c

index e508280..0e8426d 100644 (file)
@@ -3199,8 +3199,7 @@ static int udma_setup_resources(struct udma_dev *ud)
        } else if (UDMA_CAP3_UCHAN_CNT(cap3)) {
                ud->tpl_levels = 3;
                ud->tpl_start_idx[1] = UDMA_CAP3_UCHAN_CNT(cap3);
-               ud->tpl_start_idx[0] = ud->tpl_start_idx[1] +
-                                      UDMA_CAP3_HCHAN_CNT(cap3);
+               ud->tpl_start_idx[0] = UDMA_CAP3_HCHAN_CNT(cap3);
        } else if (UDMA_CAP3_HCHAN_CNT(cap3)) {
                ud->tpl_levels = 2;
                ud->tpl_start_idx[0] = UDMA_CAP3_HCHAN_CNT(cap3);