Message ID | 20241101-rp1-cfe-fixes-seg-size-v1-1-0aacf2da56e5@ideasonboard.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | media: raspberrypi: cfe: Fix mapping of dmabuf buffers | expand |
Hi Tomi, Thank you for the patch. On Fri, Nov 01, 2024 at 01:55:15PM +0200, Tomi Valkeinen wrote: > When using buffers from DRM, DMA-API gives a warning about: "mapping sg > segment longer than device claims to support [len=307200] [max=65536]" > > Add a call to vb2_dma_contig_set_max_seg_size() to tell the DMA-API > about the supported segment size (which is UINT_MAX). > > Fixes: 6edb685abb2a ("media: raspberrypi: Add support for RP1-CFE") > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> > --- > drivers/media/platform/raspberrypi/rp1-cfe/cfe.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/media/platform/raspberrypi/rp1-cfe/cfe.c b/drivers/media/platform/raspberrypi/rp1-cfe/cfe.c > index 045910de6c57..e52d8b20df40 100644 > --- a/drivers/media/platform/raspberrypi/rp1-cfe/cfe.c > +++ b/drivers/media/platform/raspberrypi/rp1-cfe/cfe.c > @@ -2341,6 +2341,12 @@ static int cfe_probe(struct platform_device *pdev) > goto err_cfe_put; > } > > + ret = vb2_dma_contig_set_max_seg_size(&pdev->dev, UINT_MAX); > + if (ret) { > + dev_err(&pdev->dev, "Unable to set max_seg_size\n"); Maybe dev_err_probe() ? Or drop the error message, as vb2_dma_contig_set_max_seg_size() already prints an error. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > + goto err_cfe_put; > + } > + > /* TODO: Enable clock only when running. */ > cfe->clk = devm_clk_get(&pdev->dev, NULL); > if (IS_ERR(cfe->clk)) > > --- > base-commit: 698b6e3163bafd61e1b7d13572e2c42974ac85ec > change-id: 20241101-rp1-cfe-fixes-seg-size-b70309da74a2
diff --git a/drivers/media/platform/raspberrypi/rp1-cfe/cfe.c b/drivers/media/platform/raspberrypi/rp1-cfe/cfe.c index 045910de6c57..e52d8b20df40 100644 --- a/drivers/media/platform/raspberrypi/rp1-cfe/cfe.c +++ b/drivers/media/platform/raspberrypi/rp1-cfe/cfe.c @@ -2341,6 +2341,12 @@ static int cfe_probe(struct platform_device *pdev) goto err_cfe_put; } + ret = vb2_dma_contig_set_max_seg_size(&pdev->dev, UINT_MAX); + if (ret) { + dev_err(&pdev->dev, "Unable to set max_seg_size\n"); + goto err_cfe_put; + } + /* TODO: Enable clock only when running. */ cfe->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(cfe->clk))
When using buffers from DRM, DMA-API gives a warning about: "mapping sg segment longer than device claims to support [len=307200] [max=65536]" Add a call to vb2_dma_contig_set_max_seg_size() to tell the DMA-API about the supported segment size (which is UINT_MAX). Fixes: 6edb685abb2a ("media: raspberrypi: Add support for RP1-CFE") Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> --- drivers/media/platform/raspberrypi/rp1-cfe/cfe.c | 6 ++++++ 1 file changed, 6 insertions(+) --- base-commit: 698b6e3163bafd61e1b7d13572e2c42974ac85ec change-id: 20241101-rp1-cfe-fixes-seg-size-b70309da74a2 Best regards,