]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/alpm: Allow LOBF only for platform that have Always on VRR TG
authorAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Wed, 4 Feb 2026 05:02:48 +0000 (10:32 +0530)
committerAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Thu, 5 Feb 2026 08:50:28 +0000 (14:20 +0530)
As per bspec the LOBF is allowed when running in fixed refresh rate mode
i.e. when flipline = vmin = vmax and when window1 is non zero. This
implies that we can allow LOBF only when VRR timing generator is running
in the 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.

v2: Modify commit message to clarify window1 requirement for LOBF.
(Ville)

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: MichaƂ Grzelak <michal.grzelak@intel.com>
Link: https://patch.msgid.link/20260204050250.762718-4-ankit.k.nautiyal@intel.com
drivers/gpu/drm/i915/display/intel_alpm.c

index 27b26e5813dc05587cb8252269fd2ecfda05dc3e..3aeab4bebce22f307f866df5239ec038ca424eb2 100644 (file)
@@ -351,8 +351,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) ||