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

drm/armada: Remove prepare/cleanup_fb hooks

All they do is refcount the fb, which the atomic helpers already do.

This is was necessary with the legacy helpers and I guess just carry
over in the conversion. drm_plane_state always has a full reference
for its ->fb pointer during its entire lifetime,
see __drm_atomic_helper_plane_destroy_state()

Acked-by: Maxime Ripard <maxime@cerno.tech>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Russell King <linux@armlinux.org.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20210622165511.3169559-10-daniel.vetter@ffwll.ch

-33
-2
drivers/gpu/drm/armada/armada_overlay.c
··· 247 247 } 248 248 249 249 static const struct drm_plane_helper_funcs armada_overlay_plane_helper_funcs = { 250 - .prepare_fb = armada_drm_plane_prepare_fb, 251 - .cleanup_fb = armada_drm_plane_cleanup_fb, 252 250 .atomic_check = armada_drm_plane_atomic_check, 253 251 .atomic_update = armada_drm_overlay_plane_atomic_update, 254 252 .atomic_disable = armada_drm_overlay_plane_atomic_disable,
-29
drivers/gpu/drm/armada/armada_plane.c
··· 78 78 } 79 79 } 80 80 81 - int armada_drm_plane_prepare_fb(struct drm_plane *plane, 82 - struct drm_plane_state *state) 83 - { 84 - DRM_DEBUG_KMS("[PLANE:%d:%s] [FB:%d]\n", 85 - plane->base.id, plane->name, 86 - state->fb ? state->fb->base.id : 0); 87 - 88 - /* 89 - * Take a reference on the new framebuffer - we want to 90 - * hold on to it while the hardware is displaying it. 91 - */ 92 - if (state->fb) 93 - drm_framebuffer_get(state->fb); 94 - return 0; 95 - } 96 - 97 - void armada_drm_plane_cleanup_fb(struct drm_plane *plane, 98 - struct drm_plane_state *old_state) 99 - { 100 - DRM_DEBUG_KMS("[PLANE:%d:%s] [FB:%d]\n", 101 - plane->base.id, plane->name, 102 - old_state->fb ? old_state->fb->base.id : 0); 103 - 104 - if (old_state->fb) 105 - drm_framebuffer_put(old_state->fb); 106 - } 107 - 108 81 int armada_drm_plane_atomic_check(struct drm_plane *plane, 109 82 struct drm_atomic_state *state) 110 83 { ··· 255 282 } 256 283 257 284 static const struct drm_plane_helper_funcs armada_primary_plane_helper_funcs = { 258 - .prepare_fb = armada_drm_plane_prepare_fb, 259 - .cleanup_fb = armada_drm_plane_cleanup_fb, 260 285 .atomic_check = armada_drm_plane_atomic_check, 261 286 .atomic_update = armada_drm_primary_plane_atomic_update, 262 287 .atomic_disable = armada_drm_primary_plane_atomic_disable,
-2
drivers/gpu/drm/armada/armada_plane.h
··· 21 21 22 22 void armada_drm_plane_calc(struct drm_plane_state *state, u32 addrs[2][3], 23 23 u16 pitches[3], bool interlaced); 24 - int armada_drm_plane_prepare_fb(struct drm_plane *plane, 25 - struct drm_plane_state *state); 26 24 void armada_drm_plane_cleanup_fb(struct drm_plane *plane, 27 25 struct drm_plane_state *old_state); 28 26 int armada_drm_plane_atomic_check(struct drm_plane *plane,