When using hardware-accelerated video decoding via v4l2m2m-copy with mpv or similar players, the video decoder driver (`meson_vdec`) exports contiguous memory allocations as DMABUFs. When these buffers are subsequently imported by the display controller driver (`meson-drm`) for rendering via the GPU or compositor, the DMA API throws constraint validation warnings.
- Call dma_set_max_seg_size(dev, UINT_MAX) to allow large scatter‑gather segments. - Ensures the DRM core and canvas allocations can handle full sized buffers without hitting DMA‑API warnings. This aligns the driver with common DMA setup practices and avoids failures on platforms with strict segment limits. Cc: Nicolas Dufresne <[email protected]> Signed-off-by: Anand Moon <[email protected]> --- drivers/gpu/drm/meson/meson_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c index 49ff9f1f16d3..8570add8b831 100644 --- a/drivers/gpu/drm/meson/meson_drv.c +++ b/drivers/gpu/drm/meson/meson_drv.c @@ -247,6 +247,8 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) goto free_drm; } + dma_set_max_seg_size(dev, UINT_MAX); + ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_osd1); if (ret) goto free_drm; -- 2.50.1
