Switching between variable and fixed timings is possible as for that we just need to flip between VRR timings. However for CMRR along with the timings, few other bits also need to be changed on the fly, which might cause issues. So disable CMRR for now, till we have variable and fixed timings sorted out. Since CMRR is disabled, the check for intel_vrr_is_enabled can be simplified to have just the INTEL_VRRTG_MODE_VRR. Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@xxxxxxxxx> --- drivers/gpu/drm/i915/display/intel_vrr.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c index 34e44cd52353..42e661acdf32 100644 --- a/drivers/gpu/drm/i915/display/intel_vrr.c +++ b/drivers/gpu/drm/i915/display/intel_vrr.c @@ -182,7 +182,8 @@ is_cmrr_frac_required(struct intel_crtc_state *crtc_state) int calculated_refresh_k, actual_refresh_k, pixel_clock_per_line; struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode; - if (!HAS_CMRR(display)) + /* Avoid CMRR for now till we have VRR with fixed timings working */ + if (!HAS_CMRR(display) || true) return false; actual_refresh_k = @@ -294,7 +295,7 @@ int intel_vrr_compute_vmax(struct intel_connector *connector, bool intel_vrrtg_is_enabled(const struct intel_crtc_state *crtc_state) { - return crtc_state->vrr.mode != INTEL_VRRTG_MODE_NONE; + return crtc_state->vrr.mode == INTEL_VRRTG_MODE_VRR; } void -- 2.45.2