drm/bochs: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 24 Oct 2019 08:14:02 +0000 (10:14 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Thu, 24 Oct 2019 14:12:30 +0000 (16:12 +0200)
GEM VRAM provides an implementation for prepare_fb() and cleanup_fb()
of struct drm_simple_display_pipe_funcs. Switch over bochs.

v2:
* use helpers for struct drm_simple_display_pipe_funcs

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20191024081404.6978-3-tzimmermann@suse.de
drivers/gpu/drm/bochs/bochs_kms.c

index 02a9c1ed165bba9871d3af1b6759fe8647da46e6..3f0006c2470d1a28d61fb03853eac3b3f6470c1f 100644 (file)
@@ -69,33 +69,11 @@ static void bochs_pipe_update(struct drm_simple_display_pipe *pipe,
        }
 }
 
-static int bochs_pipe_prepare_fb(struct drm_simple_display_pipe *pipe,
-                                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_VRAM);
-}
-
-static void bochs_pipe_cleanup_fb(struct drm_simple_display_pipe *pipe,
-                                 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 const struct drm_simple_display_pipe_funcs bochs_pipe_funcs = {
        .enable     = bochs_pipe_enable,
        .update     = bochs_pipe_update,
-       .prepare_fb = bochs_pipe_prepare_fb,
-       .cleanup_fb = bochs_pipe_cleanup_fb,
+       .prepare_fb = drm_gem_vram_simple_display_pipe_prepare_fb,
+       .cleanup_fb = drm_gem_vram_simple_display_pipe_cleanup_fb,
 };
 
 static int bochs_connector_get_modes(struct drm_connector *connector)