On Wed, Mar 11, 2026 at 05:06:02PM +0530, Ankit Nautiyal wrote: > Use the revision field of struct drm_dp_as_sdp instead of current > hardcoding for the AS SDP revisions. > > Signed-off-by: Ankit Nautiyal <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_display.c | 3 ++- > drivers/gpu/drm/i915/display/intel_dp.c | 7 +++---- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c > b/drivers/gpu/drm/i915/display/intel_display.c > index b18ce0c36a64..88e1b503d301 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -4900,7 +4900,8 @@ static bool > intel_compare_dp_as_sdp(const struct drm_dp_as_sdp *a, > const struct drm_dp_as_sdp *b) > { > - return a->vtotal == b->vtotal && > + return a->revision == b->revision &&
Someone should add the check for the type and length as well (and other relevant stuff in the header if any). But that can be a separate patch. Reviewed-by: Ville Syrjälä <[email protected]> > + a->vtotal == b->vtotal && > a->target_rr == b->target_rr && > a->duration_incr_ms == b->duration_incr_ms && > a->duration_decr_ms == b->duration_decr_ms && > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c > b/drivers/gpu/drm/i915/display/intel_dp.c > index 17af68a1a9e5..0d2403d48528 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -3154,6 +3154,7 @@ static void intel_dp_compute_as_sdp(struct intel_dp > *intel_dp, > as_sdp->sdp_type = DP_SDP_ADAPTIVE_SYNC; > as_sdp->length = 0x9; > as_sdp->duration_incr_ms = 0; > + as_sdp->revision = 0x2; > as_sdp->vtotal = intel_vrr_vmin_vtotal(crtc_state); > > if (crtc_state->cmrr.enable) { > @@ -5117,7 +5118,7 @@ static ssize_t intel_dp_as_sdp_pack(const struct > drm_dp_as_sdp *as_sdp, > /* Prepare AS (Adaptive Sync) SDP Header */ > sdp->sdp_header.HB0 = 0; > sdp->sdp_header.HB1 = as_sdp->sdp_type; > - sdp->sdp_header.HB2 = 0x02; > + sdp->sdp_header.HB2 = as_sdp->revision; > sdp->sdp_header.HB3 = as_sdp->length; > > /* Fill AS (Adaptive Sync) SDP Payload */ > @@ -5304,13 +5305,11 @@ int intel_dp_as_sdp_unpack(struct drm_dp_as_sdp > *as_sdp, > if (sdp->sdp_header.HB1 != DP_SDP_ADAPTIVE_SYNC) > return -EINVAL; > > - if (sdp->sdp_header.HB2 != 0x02) > - return -EINVAL; > - > if ((sdp->sdp_header.HB3 & 0x3F) != 9) > return -EINVAL; > > as_sdp->length = sdp->sdp_header.HB3 & DP_AS_SDP_LENGTH_MASK; > + as_sdp->revision = sdp->sdp_header.HB2; > as_sdp->mode = sdp->db[0] & DP_AS_SDP_OPERATION_MODE_MASK; > as_sdp->vtotal = (sdp->db[2] << 8) | sdp->db[1]; > as_sdp->target_rr = ((sdp->db[4] & 0x3) << 8) | sdp->db[3]; > -- > 2.45.2 -- Ville Syrjälä Intel
