From: Ville Syrjälä Date: Fri, 1 Sep 2023 13:04:34 +0000 (+0300) Subject: drm/i915: Optimize out redundant M/N updates X-Git-Tag: v6.7-rc1~145^2~15^2~62 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b4ac591b8e1be78c4eaf089e75034760c0be942c;p=thirdparty%2Fkernel%2Flinux.git drm/i915: Optimize out redundant M/N updates Don't perform a seamless M/N update if the values aren't actually changing. This avoids doing extra shenanigans during vblank evasion needlessly. Cc: Manasi Navare Signed-off-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/20230901130440.2085-7-ville.syrjala@linux.intel.com Reviewed-by: Manasi Navare --- diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 22ed72c7d6bf9..d3c41bf492635 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -5557,7 +5557,9 @@ static void intel_crtc_check_fastset(const struct intel_crtc_state *old_crtc_sta else new_crtc_state->uapi.mode_changed = false; - if (intel_crtc_needs_modeset(new_crtc_state)) + if (intel_crtc_needs_modeset(new_crtc_state) || + intel_compare_link_m_n(&old_crtc_state->dp_m_n, + &new_crtc_state->dp_m_n)) new_crtc_state->update_m_n = false; if (!intel_crtc_needs_modeset(new_crtc_state))