drm/virtio: Use drm_gem_plane_helper_prepare_fb()
authorDongwon Kim <dongwon.kim@intel.com>
Sun, 20 Oct 2024 23:08:02 +0000 (02:08 +0300)
committerDmitry Osipenko <dmitry.osipenko@collabora.com>
Mon, 18 Nov 2024 18:18:13 +0000 (21:18 +0300)
Use drm_gem_plane_helper_prepare_fb() helper for explicit framebuffer
synchronization. We need to wait for explicit fences in a case of
Venus and native contexts when guest user space uses explicit fencing.

Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
[dmitry.osipenko@collabora.com: edit commit message]
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Acked-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241020230803.247419-1-dmitry.osipenko@collabora.com
drivers/gpu/drm/virtio/virtgpu_plane.c

index a72a2dbda031c220e62d018f3b77aab4bb0401d3..ab7232921cb7d270ae42eb8f05394e8283829a78 100644 (file)
@@ -26,6 +26,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_damage_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 
 #include "virtgpu_drv.h"
 
@@ -254,6 +255,9 @@ static int virtio_gpu_plane_prepare_fb(struct drm_plane *plane,
 
        vgfb = to_virtio_gpu_framebuffer(new_state->fb);
        bo = gem_to_virtio_gpu_obj(vgfb->base.obj[0]);
+
+       drm_gem_plane_helper_prepare_fb(plane, new_state);
+
        if (!bo || (plane->type == DRM_PLANE_TYPE_PRIMARY && !bo->guest_blob))
                return 0;