Commit d34b4288 authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915/vrr: Fix "window2" handling

The "window2" delay is just the difference of vactive
(undelayed vblank) vs. vblank_start (delayed vblank).
Just use vblank_start during the VRR calculations so
that things work correctly regardless of whether delayed
vblank is used or not.
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127173044.24108-2-ville.syrjala@linux.intel.comReviewed-by: default avatarJouni Högander <jouni.hogander@intel.com>
parent fe82b93f
...@@ -144,17 +144,11 @@ intel_vrr_compute_config(struct intel_crtc_state *crtc_state, ...@@ -144,17 +144,11 @@ intel_vrr_compute_config(struct intel_crtc_state *crtc_state,
* is deprecated. * is deprecated.
*/ */
if (DISPLAY_VER(i915) >= 13) { if (DISPLAY_VER(i915) >= 13) {
/*
* FIXME: Subtract Window2 delay from below value.
*
* Window2 specifies time required to program DSB (Window2) in
* number of scan lines. Assuming 0 for no DSB.
*/
crtc_state->vrr.guardband = crtc_state->vrr.guardband =
crtc_state->vrr.vmin + 1 - adjusted_mode->crtc_vdisplay; crtc_state->vrr.vmin + 1 - adjusted_mode->crtc_vblank_start;
} else { } else {
crtc_state->vrr.pipeline_full = crtc_state->vrr.pipeline_full =
min(255, crtc_state->vrr.vmin - adjusted_mode->crtc_vdisplay - min(255, crtc_state->vrr.vmin - adjusted_mode->crtc_vblank_start -
crtc_state->framestart_delay - 1); crtc_state->framestart_delay - 1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment