drm/ingenic: Don't request full modeset if property is not modified
authorPaul Cercueil <paul@crapouillou.net>
Fri, 8 Jul 2022 20:54:04 +0000 (21:54 +0100)
committerPaul Cercueil <paul@crapouillou.net>
Sat, 9 Jul 2022 15:51:49 +0000 (16:51 +0100)
Avoid requesting a full modeset if the sharpness property is not
modified, because then we don't actually need it.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220708205406.96473-5-paul@crapouillou.net
drivers/gpu/drm/ingenic/ingenic-ipu.c

index 32a5093..d13f58a 100644 (file)
@@ -697,10 +697,12 @@ ingenic_ipu_plane_atomic_set_property(struct drm_plane *plane,
 {
        struct ingenic_ipu *ipu = plane_to_ingenic_ipu(plane);
        struct drm_crtc_state *crtc_state;
+       bool mode_changed;
 
        if (property != ipu->sharpness_prop)
                return -EINVAL;
 
+       mode_changed = val != ipu->sharpness;
        ipu->sharpness = val;
 
        if (state->crtc) {
@@ -708,7 +710,7 @@ ingenic_ipu_plane_atomic_set_property(struct drm_plane *plane,
                if (WARN_ON(!crtc_state))
                        return -EINVAL;
 
-               crtc_state->mode_changed = true;
+               crtc_state->mode_changed |= mode_changed;
        }
 
        return 0;