]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/i915/dp: Fix readback for target_rr in Adaptive Sync SDP
authorAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Mon, 11 May 2026 12:32:15 +0000 (18:02 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Jun 2026 15:54:48 +0000 (17:54 +0200)
[ Upstream commit f87abd0c6604fb6cc31cc86fc7ccc6a576924352 ]

Correct the bit-shift logic to properly readback the 10 bit target_rr from
DB3 and DB4.

v2: Align the style with readback for vtotal. (Ville)

Fixes: 12ea89291603 ("drm/i915/dp: Add Read/Write support for Adaptive Sync SDP")
Cc: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
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/20260511123218.1589830-2-ankit.k.nautiyal@intel.com
(cherry picked from commit f7abc4af2b19240a145a221461dfe756cc01d74a)
Signed-off-by: Tvrtko Ursulin <tursulin@ursulin.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/i915/display/intel_dp.c

index 2906dc6e630eccfb38e9df2ee1de62369c30d1b4..d52205d714eee692a0e55501f34563125414436f 100644 (file)
@@ -5067,7 +5067,7 @@ int intel_dp_as_sdp_unpack(struct drm_dp_as_sdp *as_sdp,
        as_sdp->length = sdp->sdp_header.HB3 & DP_ADAPTIVE_SYNC_SDP_LENGTH;
        as_sdp->mode = sdp->db[0] & DP_ADAPTIVE_SYNC_SDP_OPERATION_MODE;
        as_sdp->vtotal = (sdp->db[2] << 8) | sdp->db[1];
-       as_sdp->target_rr = (u64)sdp->db[3] | ((u64)sdp->db[4] & 0x3);
+       as_sdp->target_rr = ((sdp->db[4] & 0x3) << 8) | sdp->db[3];
        as_sdp->target_rr_divider = sdp->db[4] & 0x20 ? true : false;
 
        return 0;