From: Ville Syrjälä <[email protected]>

The core doesn't flag scaling_filter prop changes as needing
a modeset. That doesn't work for us since we only reprogram the
pipe scaler during full modesets and fastsets. So we need to
flag the prop change as a modeset ourselves. Assuming nothing else
has changed the operation will get promoted (demoted?) to a fastset
later.

Signed-off-by: Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_display.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index df347329d90e..85dce8a093d4 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7846,6 +7846,10 @@ static int intel_atomic_check(struct drm_device *dev,
                                            new_crtc_state, i) {
                if (new_crtc_state->inherited != old_crtc_state->inherited)
                        new_crtc_state->uapi.mode_changed = true;
+
+               if (new_crtc_state->uapi.scaling_filter !=
+                   old_crtc_state->uapi.scaling_filter)
+                       new_crtc_state->uapi.mode_changed = true;
        }
 
        intel_vrr_check_modeset(state);
-- 
2.34.1

Reply via email to