Commit 02d6f9a1 authored by Thomas Zimmermann's avatar Thomas Zimmermann
Browse files

drm/plane-helper: Provide DRM_PLANE_NON_ATOMIC_FUNCS initializer macro



Provide DRM_PLANE_NON_ATOMIC_FUNCS, which initializes plane functions
of non-atomic drivers to default values. The macro is not supposed to
be used in new code, but helps with documenting and finding existing
users.

Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Lyude Paul <lyude@redhat.com> # nouveau
Link: https://patchwork.freedesktop.org/patch/msgid/20220909105947.6487-5-tzimmermann@suse.de
parent fa0706e9
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -108,9 +108,7 @@ static const uint32_t safe_modeset_formats[] = {
};

static const struct drm_plane_funcs primary_plane_funcs = {
	.update_plane = drm_plane_helper_update_primary,
	.disable_plane = drm_plane_helper_disable_primary,
	.destroy = drm_plane_helper_destroy,
	DRM_PLANE_NON_ATOMIC_FUNCS,
};

/**
+1 −3
Original line number Diff line number Diff line
@@ -1276,9 +1276,7 @@ static const uint32_t modeset_formats[] = {
};

static const struct drm_plane_funcs nv04_primary_plane_funcs = {
	.update_plane = drm_plane_helper_update_primary,
	.disable_plane = drm_plane_helper_disable_primary,
	.destroy = drm_plane_helper_destroy,
	DRM_PLANE_NON_ATOMIC_FUNCS,
};

static int nv04_crtc_vblank_handler(struct nvif_notify *notify)
+12 −0
Original line number Diff line number Diff line
@@ -43,4 +43,16 @@ int drm_plane_helper_disable_primary(struct drm_plane *plane,
void drm_plane_helper_destroy(struct drm_plane *plane);
int drm_plane_helper_atomic_check(struct drm_plane *plane, struct drm_atomic_state *state);

/**
 * DRM_PLANE_NON_ATOMIC_FUNCS - Default plane functions for non-atomic drivers
 *
 * This macro initializes plane functions for non-atomic drivers to default
 * values. Non-atomic interfaces are deprecated and should not be used in new
 * drivers.
 */
#define DRM_PLANE_NON_ATOMIC_FUNCS \
	.update_plane = drm_plane_helper_update_primary, \
	.disable_plane = drm_plane_helper_disable_primary, \
	.destroy = drm_plane_helper_destroy

#endif