Commit 26f03ef8 authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915: Assert that VRR is off during vblank evasion if necessary



Whenever we change the actual transcoder timings (clock via
seamless M/N, full modeset, (or soon) vtotal via LRR) we
want the timing generator to be in non-VRR during the commit.
Warn if we forgot to turn VRR off prior to vblank evasion.

Cc: Manasi Navare <navaremanasi@chromium.org>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230901130440.2085-12-ville.syrjala@linux.intel.com


Reviewed-by: default avatarManasi Navare <navaremanasi@chromium.org>
Reviewed-by: default avatarMitul Golani <mitulkumar.ajitkumar.golani@intel.com>
parent 0ce013a4
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -493,6 +493,10 @@ static void intel_crtc_vblank_evade_scanlines(struct intel_atomic_state *state,
	adjusted_mode = &crtc_state->hw.adjusted_mode;

	if (crtc->mode_flags & I915_MODE_FLAG_VRR) {
		/* timing changes should happen with VRR disabled */
		drm_WARN_ON(state->base.dev, intel_crtc_needs_modeset(new_crtc_state) ||
			    new_crtc_state->update_m_n);

		if (intel_vrr_is_push_sent(crtc_state))
			*vblank_start = intel_vrr_vmin_vblank_start(crtc_state);
		else