diff mbox series

dmaengine: ti: k3-udma: Set rflow count for BCDMA split channels

Message ID 20210112141403.30286-1-vigneshr@ti.com (mailing list archive)
State Accepted
Headers show
Series dmaengine: ti: k3-udma: Set rflow count for BCDMA split channels | expand

Commit Message

Vignesh Raghavendra Jan. 12, 2021, 2:14 p.m. UTC
BCDMA RX channels have one flow per channel, therefore set the rflow_cnt
to rchan_cnt.

Without this patch, request for BCDMA RX channel allocation fails as
rflow_cnt is 0 thus fails to reserve a rflow for the channel.

Fixes: 8844898028d4 ("dmaengine: ti: k3-udma: Add support for BCDMA channel TPL handling")
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
---
 drivers/dma/ti/k3-udma.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Péter Ujfalusi Jan. 12, 2021, 6:29 p.m. UTC | #1
Hi Vignesh,

On 1/12/21 4:14 PM, Vignesh Raghavendra wrote:
> BCDMA RX channels have one flow per channel, therefore set the rflow_cnt
> to rchan_cnt.
> 
> Without this patch, request for BCDMA RX channel allocation fails as
> rflow_cnt is 0 thus fails to reserve a rflow for the channel.

Good catch, thank you!

Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>

> 
> Fixes: 8844898028d4 ("dmaengine: ti: k3-udma: Add support for BCDMA channel TPL handling")
> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
> ---
>   drivers/dma/ti/k3-udma.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
> index 298460438bb4..a1af59d901be 100644
> --- a/drivers/dma/ti/k3-udma.c
> +++ b/drivers/dma/ti/k3-udma.c
> @@ -4305,6 +4305,7 @@ static int udma_get_mmrs(struct platform_device *pdev, struct udma_dev *ud)
>   		ud->bchan_cnt = BCDMA_CAP2_BCHAN_CNT(cap2);
>   		ud->tchan_cnt = BCDMA_CAP2_TCHAN_CNT(cap2);
>   		ud->rchan_cnt = BCDMA_CAP2_RCHAN_CNT(cap2);
> +		ud->rflow_cnt = ud->rchan_cnt;
>   		break;
>   	case DMA_TYPE_PKTDMA:
>   		cap4 = udma_read(ud->mmrs[MMR_GCFG], 0x30);
>
diff mbox series

Patch

diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
index 298460438bb4..a1af59d901be 100644
--- a/drivers/dma/ti/k3-udma.c
+++ b/drivers/dma/ti/k3-udma.c
@@ -4305,6 +4305,7 @@  static int udma_get_mmrs(struct platform_device *pdev, struct udma_dev *ud)
 		ud->bchan_cnt = BCDMA_CAP2_BCHAN_CNT(cap2);
 		ud->tchan_cnt = BCDMA_CAP2_TCHAN_CNT(cap2);
 		ud->rchan_cnt = BCDMA_CAP2_RCHAN_CNT(cap2);
+		ud->rflow_cnt = ud->rchan_cnt;
 		break;
 	case DMA_TYPE_PKTDMA:
 		cap4 = udma_read(ud->mmrs[MMR_GCFG], 0x30);