On Mon, Feb 24, 2025 at 11:47:11AM +0530, Ankit Nautiyal wrote: > LRR and Vmax can be computed only if VRR is supported and vrr.in_range > is set. Currently we proceed with vrr timings only for VRR supporting > panels and return otherwise. For using VRR TG with fix timings, need to > continue even for panels that do not support VRR. > > To achieve this, refactor the condition for computing vmax and > update_lrr so that we can continue for fixed timings for panels that do > not support VRR. > > Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_vrr.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c > index 30fcd1e66a12..024c3014670a 100644 > --- a/drivers/gpu/drm/i915/display/intel_vrr.c > +++ b/drivers/gpu/drm/i915/display/intel_vrr.c > @@ -343,21 +343,21 @@ intel_vrr_compute_config(struct intel_crtc_state *crtc_state, > struct intel_dp *intel_dp = intel_attached_dp(connector); > bool is_edp = intel_dp_is_edp(intel_dp); > struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode; > - int vmin, vmax; > + int vmin = 0, vmax = 0; > > if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) > return; > > crtc_state->vrr.in_range = > intel_vrr_is_in_range(connector, drm_mode_vrefresh(adjusted_mode)); > - if (!crtc_state->vrr.in_range) > - return; > > - if (HAS_LRR(display)) > - crtc_state->update_lrr = true; > + if (crtc_state->vrr.in_range) { > + if (HAS_LRR(display)) > + crtc_state->update_lrr = true; > + vmax = intel_vrr_compute_vmax(connector, adjusted_mode); } else { vmax = vmin; } might be a bit more clear way do this? > > vmin = intel_vrr_compute_vmin(crtc_state); > - vmax = intel_vrr_compute_vmax(connector, adjusted_mode); > > if (vmin >= vmax) > return; > -- > 2.45.2 -- Ville Syrjälä Intel