Re: [PATCH] media: raspberrypi: cfe: Fix mapping of dmabuf buffers

From: Laurent Pinchart
Date: Sat Nov 02 2024 - 20:25:26 EST


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@xxxxxxxxxxxxxxxx>
> ---
> 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@xxxxxxxxxxxxxxxx>

> + 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

--
Regards,

Laurent Pinchart