media: raspberrypi: cfe: Fix mapping of dmabuf buffers
authorTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Mon, 4 Nov 2024 07:47:54 +0000 (09:47 +0200)
committerHans Verkuil <hverkuil@xs4all.nl>
Thu, 7 Nov 2024 08:05:58 +0000 (09:05 +0100)
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")
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c

index 4800d9a2668a6b7728e7c46cbb6632ee307c4150..12660087b12f229a910041e3b6bd3d4525165020 100644 (file)
@@ -2340,6 +2340,10 @@ 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)
+               goto err_cfe_put;
+
        /* TODO: Enable clock only when running. */
        cfe->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(cfe->clk)) {