On Fri, Nov 14, 2025 at 10:57:44AM +0530, Ankit Nautiyal wrote:
> As per bspec the LOBF is allowed when running in fixed refresh rate mode
> i.e. when flipline = vmin = vmax. Apparently this means we can allow
> LOBF only when VRR timing generator is running in fixed refresh rate
> mode.

The VRR TG requirement rather comes from the fact that we need
a non-zero window1, and that is only possible when using the
VRR TG.

> 
> Use the check intel_vrr_always_use_vrr_tg() to avoid LOBF with legacy
> timing generator. Also use intel_vrr_is_fixed_rr() to check for fixed
> refresh rate mode.
> 
> Signed-off-by: Ankit Nautiyal <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_alpm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c 
> b/drivers/gpu/drm/i915/display/intel_alpm.c
> index 686e4d13f864..5cfb9345776a 100644
> --- a/drivers/gpu/drm/i915/display/intel_alpm.c
> +++ b/drivers/gpu/drm/i915/display/intel_alpm.c
> @@ -344,8 +344,8 @@ void intel_alpm_lobf_compute_config(struct intel_dp 
> *intel_dp,
>       if (crtc_state->has_psr)
>               return;
>  
> -     if (crtc_state->vrr.vmin != crtc_state->vrr.vmax ||
> -         crtc_state->vrr.vmin != crtc_state->vrr.flipline)
> +     if (!intel_vrr_always_use_vrr_tg(display) ||
> +         !intel_vrr_is_fixed_rr(crtc_state))
>               return;
>  
>       if (!(intel_alpm_aux_wake_supported(intel_dp) ||
> -- 
> 2.45.2

-- 
Ville Syrjälä
Intel

Reply via email to