drm/i915: Flag crtc scaling_filter changes as modeset
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 3 Feb 2022 18:38:14 +0000 (20:38 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 11 Feb 2022 20:38:56 +0000 (22:38 +0200)
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ä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220203183823.22890-2-ville.syrjala@linux.intel.com
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
drivers/gpu/drm/i915/display/intel_display.c

index 0443ef3..897f45e 100644 (file)
@@ -7632,6 +7632,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);