[PATCH 4/6] drm/ingenic: Don't request full modeset if property is not modified

From: Paul Cercueil
Date: Fri Jul 08 2022 - 16:54:57 EST


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@xxxxxxxxxxxxxxx>
---
drivers/gpu/drm/ingenic/ingenic-ipu.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/ingenic/ingenic-ipu.c b/drivers/gpu/drm/ingenic/ingenic-ipu.c
index 32a50935aa6d..d13f58ad4769 100644
--- a/drivers/gpu/drm/ingenic/ingenic-ipu.c
+++ b/drivers/gpu/drm/ingenic/ingenic-ipu.c
@@ -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;
--
2.35.1