GEM VRAM provides an implementation for prepare_fb() and cleanup_fb()
of struct drm_plane_helper_funcs. Switch over vboxvideo.

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
---
 drivers/gpu/drm/vboxvideo/vbox_mode.c | 61 ++-------------------------
 1 file changed, 4 insertions(+), 57 deletions(-)

diff --git a/drivers/gpu/drm/vboxvideo/vbox_mode.c 
b/drivers/gpu/drm/vboxvideo/vbox_mode.c
index b5604d32122e..b93001cfa0e6 100644
--- a/drivers/gpu/drm/vboxvideo/vbox_mode.c
+++ b/drivers/gpu/drm/vboxvideo/vbox_mode.c
@@ -334,35 +334,6 @@ static void vbox_primary_atomic_disable(struct drm_plane 
*plane,
                                    old_state->src_y >> 16);
 }
 
-static int vbox_primary_prepare_fb(struct drm_plane *plane,
-                                  struct drm_plane_state *new_state)
-{
-       struct drm_gem_vram_object *gbo;
-       int ret;
-
-       if (!new_state->fb)
-               return 0;
-
-       gbo = drm_gem_vram_of_gem(new_state->fb->obj[0]);
-       ret = drm_gem_vram_pin(gbo, DRM_GEM_VRAM_PL_FLAG_VRAM);
-       if (ret)
-               DRM_WARN("Error %d pinning new fb, out of video mem?\n", ret);
-
-       return ret;
-}
-
-static void vbox_primary_cleanup_fb(struct drm_plane *plane,
-                                   struct drm_plane_state *old_state)
-{
-       struct drm_gem_vram_object *gbo;
-
-       if (!old_state->fb)
-               return;
-
-       gbo = drm_gem_vram_of_gem(old_state->fb->obj[0]);
-       drm_gem_vram_unpin(gbo);
-}
-
 static int vbox_cursor_atomic_check(struct drm_plane *plane,
                                    struct drm_plane_state *new_state)
 {
@@ -492,30 +463,6 @@ static void vbox_cursor_atomic_disable(struct drm_plane 
*plane,
        mutex_unlock(&vbox->hw_mutex);
 }
 
-static int vbox_cursor_prepare_fb(struct drm_plane *plane,
-                                 struct drm_plane_state *new_state)
-{
-       struct drm_gem_vram_object *gbo;
-
-       if (!new_state->fb)
-               return 0;
-
-       gbo = drm_gem_vram_of_gem(new_state->fb->obj[0]);
-       return drm_gem_vram_pin(gbo, DRM_GEM_VRAM_PL_FLAG_SYSTEM);
-}
-
-static void vbox_cursor_cleanup_fb(struct drm_plane *plane,
-                                  struct drm_plane_state *old_state)
-{
-       struct drm_gem_vram_object *gbo;
-
-       if (!plane->state->fb)
-               return;
-
-       gbo = drm_gem_vram_of_gem(plane->state->fb->obj[0]);
-       drm_gem_vram_unpin(gbo);
-}
-
 static const u32 vbox_cursor_plane_formats[] = {
        DRM_FORMAT_ARGB8888,
 };
@@ -524,8 +471,8 @@ static const struct drm_plane_helper_funcs 
vbox_cursor_helper_funcs = {
        .atomic_check   = vbox_cursor_atomic_check,
        .atomic_update  = vbox_cursor_atomic_update,
        .atomic_disable = vbox_cursor_atomic_disable,
-       .prepare_fb     = vbox_cursor_prepare_fb,
-       .cleanup_fb     = vbox_cursor_cleanup_fb,
+       .prepare_fb     = drm_gem_vram_plane_helper_funcs_prepare_fb,
+       .cleanup_fb     = drm_gem_vram_plane_helper_funcs_cleanup_fb,
 };
 
 static const struct drm_plane_funcs vbox_cursor_plane_funcs = {
@@ -546,8 +493,8 @@ static const struct drm_plane_helper_funcs 
vbox_primary_helper_funcs = {
        .atomic_check = vbox_primary_atomic_check,
        .atomic_update = vbox_primary_atomic_update,
        .atomic_disable = vbox_primary_atomic_disable,
-       .prepare_fb = vbox_primary_prepare_fb,
-       .cleanup_fb = vbox_primary_cleanup_fb,
+       .prepare_fb     = drm_gem_vram_plane_helper_funcs_prepare_fb,
+       .cleanup_fb     = drm_gem_vram_plane_helper_funcs_cleanup_fb,
 };
 
 static const struct drm_plane_funcs vbox_primary_plane_funcs = {
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to