Enabling and disabling VRR should not trigger full modeset,
for this use vrr.flipline instead of vrr.enable while computing
Adaptive Sync SDP. This prevents VRR enable/disable to trigger full
modeset.

--v1:
- Explain commit message more clearly [Jani]
- Instead of tweaking to fastset use vrr.flipline while computing AS_SDP.

Signed-off-by: Mitul Golani <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_display.c | 1 -
 drivers/gpu/drm/i915/display/intel_dp.c      | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index f7667931f9d9..2c0124aa56ce 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -5472,7 +5472,6 @@ intel_pipe_config_compare(const struct intel_crtc_state 
*current_config,
        PIPE_CONF_CHECK_INFOFRAME(drm);
        PIPE_CONF_CHECK_DP_VSC_SDP(vsc);
        PIPE_CONF_CHECK_DP_AS_SDP(as_sdp);
-
        PIPE_CONF_CHECK_X(sync_mode_slaves_mask);
        PIPE_CONF_CHECK_I(master_transcoder);
        PIPE_CONF_CHECK_X(joiner_pipes);
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
b/drivers/gpu/drm/i915/display/intel_dp.c
index f2a2541c1091..4c0437af1520 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2712,7 +2712,7 @@ static void intel_dp_compute_as_sdp(struct intel_dp 
*intel_dp,
        const struct drm_display_mode *adjusted_mode =
                &crtc_state->hw.adjusted_mode;
 
-       if (!crtc_state->vrr.enable || !intel_dp->as_sdp_supported)
+       if (!crtc_state->vrr.flipline || !intel_dp->as_sdp_supported)
                return;
 
        crtc_state->infoframes.enable |= 
intel_hdmi_infoframe_enable(DP_SDP_ADAPTIVE_SYNC);
-- 
2.46.0

Reply via email to