From: Thomas Zimmermann Date: Thu, 9 Feb 2023 15:41:07 +0000 (+0100) Subject: drm/tidss: Implement struct drm_plane_helper_funcs.atomic_enable X-Git-Tag: microblaze-v6.6~31^2~21^2~408 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=b1e286d30de818ca1f10eb090c9b99a7c1c26363;p=linux-2.6-microblaze.git drm/tidss: Implement struct drm_plane_helper_funcs.atomic_enable Enable the primary plane for tidss hardware via atomic_enable. Atomic helpers invoke this callback only when the plane becomes active. Signed-off-by: Thomas Zimmermann Reviewed-by: Javier Martinez Canillas Reviewed-by: Tomi Valkeinen Link: https://patchwork.freedesktop.org/patch/msgid/20230209154107.30680-7-tzimmermann@suse.de --- diff --git a/drivers/gpu/drm/tidss/tidss_plane.c b/drivers/gpu/drm/tidss/tidss_plane.c index 0b12405edb47..6bdd6e4a955a 100644 --- a/drivers/gpu/drm/tidss/tidss_plane.c +++ b/drivers/gpu/drm/tidss/tidss_plane.c @@ -124,6 +124,16 @@ static void tidss_plane_atomic_update(struct drm_plane *plane, hw_videoport = to_tidss_crtc(new_state->crtc)->hw_videoport; dispc_plane_setup(tidss->dispc, tplane->hw_plane_id, new_state, hw_videoport); +} + +static void tidss_plane_atomic_enable(struct drm_plane *plane, + struct drm_atomic_state *state) +{ + struct drm_device *ddev = plane->dev; + struct tidss_device *tidss = to_tidss(ddev); + struct tidss_plane *tplane = to_tidss_plane(plane); + + dev_dbg(ddev->dev, "%s\n", __func__); dispc_plane_enable(tidss->dispc, tplane->hw_plane_id, true); } @@ -151,6 +161,7 @@ static void drm_plane_destroy(struct drm_plane *plane) static const struct drm_plane_helper_funcs tidss_plane_helper_funcs = { .atomic_check = tidss_plane_atomic_check, .atomic_update = tidss_plane_atomic_update, + .atomic_enable = tidss_plane_atomic_enable, .atomic_disable = tidss_plane_atomic_disable, };