drm/atmel-hlcdc: Drop spurious csc_init call from reset

The lcdc_csc_init callback was introduced in commit aa71584b32 ("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 81af99cbd9 ("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: 81af99cbd9 ("drm/atmel-hlcdc: destroy properly the plane state in the reset callback")
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patch.msgid.link/20260908-drm-no-more-plane-reset-v4-28-a31b3fcfc989@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>
This commit is contained in:
Maxime Ripard 2026-09-08 16:46:59 +02:00
parent 325b30dfd9
commit 4699bb3b1d
No known key found for this signature in database
GPG Key ID: 275FCE19A23DBE76

View File

@ -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 = {