Message ID | 20250417065554.437541-5-r-donadkar@ti.com |
---|---|
State | New |
Headers | show |
Series | media: cadence,ti: CSI2RX Multistream Support | expand |
Hi Rishikesh, Thank you for the patch. On Thu, Apr 17, 2025 at 12:25:45PM +0530, Rishikesh Donadkar wrote: > From: Pratyush Yadav <p.yadav@ti.com> > > With multiple contexts, there needs to be a different DMA channel for > each context. Earlier, the DMA channel name was hard coded to "rx0" for > the sake of simplicity. Generate the DMA channel name based on its index > and get the channel corresponding to the context. > > Signed-off-by: Pratyush Yadav <p.yadav@ti.com> > Signed-off-by: Jai Luthra <j-luthra@ti.com> > Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> > Signed-off-by: Rishikesh Donadkar <r-donadkar@ti.com> > --- > drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c > index d03dc4e56d306..523c890139098 100644 > --- a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c > +++ b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c > @@ -1015,6 +1015,7 @@ static int ti_csi2rx_init_dma(struct ti_csi2rx_ctx *ctx) > struct dma_slave_config cfg = { > .src_addr_width = DMA_SLAVE_BUSWIDTH_16_BYTES, > }; > + char name[32]; That seems a bit long. 5 characters should be enough. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > int ret; > > INIT_LIST_HEAD(&ctx->dma.queue); > @@ -1023,7 +1024,8 @@ static int ti_csi2rx_init_dma(struct ti_csi2rx_ctx *ctx) > > ctx->dma.state = TI_CSI2RX_DMA_STOPPED; > > - ctx->dma.chan = dma_request_chan(ctx->csi->dev, "rx0"); > + snprintf(name, sizeof(name), "rx%u", ctx->idx); > + ctx->dma.chan = dma_request_chan(ctx->csi->dev, name); > if (IS_ERR(ctx->dma.chan)) > return PTR_ERR(ctx->dma.chan); >
diff --git a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c index d03dc4e56d306..523c890139098 100644 --- a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c +++ b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c @@ -1015,6 +1015,7 @@ static int ti_csi2rx_init_dma(struct ti_csi2rx_ctx *ctx) struct dma_slave_config cfg = { .src_addr_width = DMA_SLAVE_BUSWIDTH_16_BYTES, }; + char name[32]; int ret; INIT_LIST_HEAD(&ctx->dma.queue); @@ -1023,7 +1024,8 @@ static int ti_csi2rx_init_dma(struct ti_csi2rx_ctx *ctx) ctx->dma.state = TI_CSI2RX_DMA_STOPPED; - ctx->dma.chan = dma_request_chan(ctx->csi->dev, "rx0"); + snprintf(name, sizeof(name), "rx%u", ctx->idx); + ctx->dma.chan = dma_request_chan(ctx->csi->dev, name); if (IS_ERR(ctx->dma.chan)) return PTR_ERR(ctx->dma.chan);