[PATCH 13/21] drm/i915/vrr: Refactor condition for computing vmax and LRR
Ville Syrjälä
ville.syrjala at linux.intel.com
Thu Mar 6 16:40:16 UTC 2025
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.nautiyal at intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala at 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
More information about the Intel-gfx
mailing list