]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/dp: Program AS SDP DB[1:0] for PR with Link off
authorAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Wed, 27 May 2026 04:10:46 +0000 (09:40 +0530)
committerAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Thu, 28 May 2026 11:18:07 +0000 (16:48 +0530)
For Panel Replay with AUX-less ALPM (link-off PR), the source must send
Adaptive-Sync SDP v2. Program DB[1:0] per DP spec v2.1:
- VRR AVT: 00b (variable VTotal)
- VRR FAVT: 10b/11b (TRR not reached/reached)
- Fixed timing with PR link-off (VRR off): 01b (AS disabled; VTotal fixed)

Also, drop the redundant target_rr assignment.

v2: Fix the else case. (Ville)

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20260527041050.601735-9-ankit.k.nautiyal@intel.com
drivers/gpu/drm/i915/display/intel_dp.c

index 53ba99f179c38c99f6800db8944b06912693aae9..959e1575dffb779371d031f5397033dde3aa67b2 100644 (file)
@@ -3249,9 +3249,10 @@ static void intel_dp_compute_as_sdp(struct intel_dp *intel_dp,
                as_sdp->mode = DP_AS_SDP_FAVT_TRR_REACHED;
                as_sdp->target_rr = drm_mode_vrefresh(adjusted_mode);
                as_sdp->target_rr_divider = true;
-       } else {
+       } else if (crtc_state->vrr.enable) {
                as_sdp->mode = DP_AS_SDP_AVT_DYNAMIC_VTOTAL;
-               as_sdp->target_rr = 0;
+       } else {
+               as_sdp->mode = DP_AS_SDP_AVT_FIXED_VTOTAL;
        }
 }