[PATCH] dma: ti: k3-udma: Fix BCDMA probe by adding check for MMR_RFLOW

RFLOW config related MMR does not exist incase of BCDMA. Add check to bypass the RFLOW MMR extraction. Without this, the probe sequence fails checking for the MMR_RFLOW region, which is valid only for packet based DMA and obselete for BCDMA.
Signed-off-by: Prasanth Babu Mantena p-mantena@ti.com --- drivers/dma/ti/k3-udma.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index dac4023ccfd..3013c4741d0 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -1331,6 +1331,8 @@ static int udma_get_mmrs(struct udevice *dev) continue; if (i == MMR_RCHANRT && ud->rchan_cnt == 0) continue; + if (i == MMR_RFLOW && ud->match_data->type == DMA_TYPE_BCDMA) + continue;
ud->mmrs[i] = dev_read_addr_name_ptr(dev, mmr_names[i]); if (!ud->mmrs[i])

Prasanth Babu Mantena p-mantena@ti.com writes:
RFLOW config related MMR does not exist incase of BCDMA. Add check to bypass the RFLOW MMR extraction. Without this, the probe sequence fails checking for the MMR_RFLOW region, which is valid only for packet based DMA and obselete for BCDMA.
Signed-off-by: Prasanth Babu Mantena p-mantena@ti.com
drivers/dma/ti/k3-udma.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index dac4023ccfd..3013c4741d0 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -1331,6 +1331,8 @@ static int udma_get_mmrs(struct udevice *dev) continue; if (i == MMR_RCHANRT && ud->rchan_cnt == 0) continue;
if (i == MMR_RFLOW && ud->match_data->type == DMA_TYPE_BCDMA)
continue;
ud->mmrs[i] = dev_read_addr_name_ptr(dev, mmr_names[i]); if (!ud->mmrs[i])
-- 2.34.1
Tested-by: Jonathan Humphreys j-humphreys@ti.com
participants (2)
-
Jon Humphreys
-
Prasanth Babu Mantena