On Thu, Feb 26, 2026 at 05:29:48PM +0200, Ville Syrjälä wrote:
> On Mon, Feb 23, 2026 at 07:14:20PM +0530, Ankit Nautiyal wrote:
> > Add a helper to check if AS SDP is needed. Currently AS SDP is only
> > required when VRR is enabled. However, there are other use cases, along
> > with the missing case of CMRR, dealt in subsequent changes.
> > 
> > Signed-off-by: Ankit Nautiyal <[email protected]>
> > ---
> >  drivers/gpu/drm/i915/display/intel_dp.c | 11 ++++++++++-
> >  1 file changed, 10 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
> > b/drivers/gpu/drm/i915/display/intel_dp.c
> > index b999d8c085c7..65764ab0bb9b 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > @@ -3111,6 +3111,12 @@ static void intel_dp_compute_vsc_colorimetry(const 
> > struct intel_crtc_state *crtc
> >     vsc->content_type = DP_CONTENT_TYPE_NOT_DEFINED;
> >  }
> >  
> > +static bool intel_dp_needs_as_sdp(struct intel_dp *intel_dp,
> > +                             struct intel_crtc_state *crtc_state)
> > +{
> > +   return crtc_state->vrr.enable;
> 
> Since we don't support VRR+PCON I don't think we actually
> need the AS SDP for VRR.

Hmm. DP 2.1a does say
"When the plugged DP device has DPCD 02214h[0] = 1, a DP Source
 device shall transmit an Adaptive-Sync SDP before enabling an
 Adaptive-Sync video transmission."

So maybe we do need to transmit it whenever the DP device
supports it. In that case someone will probably need to figure
out the fastset stuff.

> 
> And I don't think we even have a fastset path for this stuff
> (or where is it?) so isn't this already causing fastset
> failures for VRR enable/disable? Or maybe we don't have
> displays with both VRR and AS SDP support anywhere?
> 
> > +}
> > +
> >  static void intel_dp_compute_as_sdp(struct intel_dp *intel_dp,
> >                                 struct intel_crtc_state *crtc_state)
> >  {
> > @@ -3118,7 +3124,10 @@ static void intel_dp_compute_as_sdp(struct intel_dp 
> > *intel_dp,
> >     const struct drm_display_mode *adjusted_mode =
> >             &crtc_state->hw.adjusted_mode;
> >  
> > -   if (!crtc_state->vrr.enable || !intel_dp->as_sdp_supported)
> > +   if (!intel_dp->as_sdp_supported)
> > +           return;
> > +
> > +   if (!intel_dp_needs_as_sdp(intel_dp, crtc_state))
> >             return;
> >  
> >     crtc_state->infoframes.enable |= 
> > intel_hdmi_infoframe_enable(DP_SDP_ADAPTIVE_SYNC);
> > -- 
> > 2.45.2
> 
> -- 
> Ville Syrjälä
> Intel

-- 
Ville Syrjälä
Intel

Reply via email to