Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/bochs: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers

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

+2 -24
+2 -24
drivers/gpu/drm/bochs/bochs_kms.c
··· 69 69 } 70 70 } 71 71 72 - static int bochs_pipe_prepare_fb(struct drm_simple_display_pipe *pipe, 73 - struct drm_plane_state *new_state) 74 - { 75 - struct drm_gem_vram_object *gbo; 76 - 77 - if (!new_state->fb) 78 - return 0; 79 - gbo = drm_gem_vram_of_gem(new_state->fb->obj[0]); 80 - return drm_gem_vram_pin(gbo, DRM_GEM_VRAM_PL_FLAG_VRAM); 81 - } 82 - 83 - static void bochs_pipe_cleanup_fb(struct drm_simple_display_pipe *pipe, 84 - struct drm_plane_state *old_state) 85 - { 86 - struct drm_gem_vram_object *gbo; 87 - 88 - if (!old_state->fb) 89 - return; 90 - gbo = drm_gem_vram_of_gem(old_state->fb->obj[0]); 91 - drm_gem_vram_unpin(gbo); 92 - } 93 - 94 72 static const struct drm_simple_display_pipe_funcs bochs_pipe_funcs = { 95 73 .enable = bochs_pipe_enable, 96 74 .update = bochs_pipe_update, 97 - .prepare_fb = bochs_pipe_prepare_fb, 98 - .cleanup_fb = bochs_pipe_cleanup_fb, 75 + .prepare_fb = drm_gem_vram_simple_display_pipe_prepare_fb, 76 + .cleanup_fb = drm_gem_vram_simple_display_pipe_cleanup_fb, 99 77 }; 100 78 101 79 static int bochs_connector_get_modes(struct drm_connector *connector)