diff options
| author | Maxime Ripard <mripard@kernel.org> | 2026-09-08 16:46:59 +0200 |
|---|---|---|
| committer | Maxime Ripard <mripard@kernel.org> | 2026-09-15 11:46:57 +0200 |
| commit | 4699bb3b1dbd8ccd25cd678acb4ca12da7bd45dd (patch) | |
| tree | 17d4037610b4ef43e63be39f0b0983a4fcbb1a90 | |
| parent | 325b30dfd9b56fd7dd57fad0071d95b453f10027 (diff) | |
| download | linux-next-4699bb3b1dbd8ccd25cd678acb4ca12da7bd45dd.tar.gz linux-next-4699bb3b1dbd8ccd25cd678acb4ca12da7bd45dd.zip | |
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 <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>
| -rw-r--r-- | drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 5 |
1 files changed, 0 insertions, 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 = { |
