On Thu, Mar 06, 2025 at 06:40:52PM +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. > > v2: Set vmax = vmin for non VRR panels. (Ville) > > Signed-off-by: Ankit Nautiyal <ankit.k.nauti...@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrj...@linux.intel.com> > --- > drivers/gpu/drm/i915/display/intel_vrr.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c > b/drivers/gpu/drm/i915/display/intel_vrr.c > index 622a70e21737..310add32781f 100644 > --- a/drivers/gpu/drm/i915/display/intel_vrr.c > +++ b/drivers/gpu/drm/i915/display/intel_vrr.c > @@ -363,14 +363,16 @@ intel_vrr_compute_config(struct intel_crtc_state > *crtc_state, > > 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; > > vmin = intel_vrr_compute_vmin(crtc_state); > - vmax = intel_vrr_compute_vmax(connector, adjusted_mode); > + > + 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; > + } > > if (vmin >= vmax) > return; > -- > 2.45.2 -- Ville Syrjälä Intel