From 4699bb3b1dbd8ccd25cd678acb4ca12da7bd45dd Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 8 Sep 2026 16:46:59 +0200 Subject: drm/atmel-hlcdc: Drop spurious csc_init call from reset The lcdc_csc_init callback was introduced in commit aa71584b323a ("drm: atmel-hlcdc: add driver ops to differentiate HLCDC and XLCDC IP") and called only once, at init time, from atmel_hlcdc_plane_init_properties(). commit 81af99cbd9e4 ("drm/atmel-hlcdc: destroy properly the plane state in the reset callback") then reworked the reset hook to use atmel_hlcdc_plane_atomic_destroy_state() instead of duplicating the code. However, it also introduced a new call to lcdc_csc_init in the reset path that wasn't there before and wasn't mentioned in the commit log. Since CSC coefficients are hardware constants that only need to be written once at init time. This also prevents the conversion to atomic_create_state, which must not have any hardware side-effect. Fixes: 81af99cbd9e4 ("drm/atmel-hlcdc: destroy properly the plane state in the reset callback") Acked-by: Thomas Zimmermann Link: https://patch.msgid.link/20260908-drm-no-more-plane-reset-v4-28-a31b3fcfc989@kernel.org Signed-off-by: Maxime Ripard --- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c index f17a832351e9..70a1cef24388 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c @@ -1186,8 +1186,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, static void atmel_hlcdc_plane_reset(struct drm_plane *p) { struct atmel_hlcdc_plane_state *state; - struct atmel_hlcdc_dc *dc = p->dev->dev_private; - struct atmel_hlcdc_plane *plane = drm_plane_to_atmel_hlcdc_plane(p); if (p->state) { atmel_hlcdc_plane_atomic_destroy_state(p, p->state); @@ -1204,9 +1202,6 @@ static void atmel_hlcdc_plane_reset(struct drm_plane *p) } __drm_atomic_helper_plane_reset(p, &state->base); } - - if (plane->layer.desc->layout.csc) - dc->desc->ops->lcdc_csc_init(plane, plane->layer.desc); } static const struct drm_plane_funcs layer_plane_funcs = { -- cgit v1.2.3