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.

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

Reply via email to