Message ID | 20240627-multistream-v2-5-6ae96c54c1c3@ti.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | media: cadence,ti: CSI2RX Multistream Support | expand |
Hi Jai On Thu, Jun 27, 2024 at 06:40:00PM GMT, Jai Luthra 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> Thanks j > --- > 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 bffc8165fd33..361b0ea8e0d9 100644 > --- a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c > +++ b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c > @@ -1027,6 +1027,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); > @@ -1035,7 +1036,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); > > > -- > 2.43.0 > >
diff --git a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c index bffc8165fd33..361b0ea8e0d9 100644 --- a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c +++ b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c @@ -1027,6 +1027,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); @@ -1035,7 +1036,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);