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 <navaremanasi@chromium.org>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230901130440.2085-7-ville.syrjala@linux.intel.com
Reviewed-by: Manasi Navare <navaremanasi@chromium.org>
This commit is contained in:
Ville Syrjälä 2023-09-01 16:04:34 +03:00
parent 825edc8bc7
commit b4ac591b8e

View File

@ -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))