[PATCH] drm/i915/hdcp: Use HDCP2_STREAM_STATUS to verify content type status

Kandpal, Suraj suraj.kandpal at intel.com
Thu Jun 19 08:33:15 UTC 2025



> -----Original Message-----
> From: Golani, Mitulkumar Ajitkumar
> <mitulkumar.ajitkumar.golani at intel.com>
> Sent: Thursday, June 19, 2025 1:57 PM
> To: Kandpal, Suraj <suraj.kandpal at intel.com>; intel-xe at lists.freedesktop.org;
> intel-gfx at lists.freedesktop.org
> Cc: Nautiyal, Ankit K <ankit.k.nautiyal at intel.com>; Kandpal, Suraj
> <suraj.kandpal at intel.com>
> Subject: RE: [PATCH] drm/i915/hdcp: Use HDCP2_STREAM_STATUS to verify
> content type status
> 
> 
> 
> > -----Original Message-----
> > From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf Of
> > Suraj Kandpal
> > Sent: 19 June 2025 09:35
> > To: intel-xe at lists.freedesktop.org; intel-gfx at lists.freedesktop.org
> > Cc: Nautiyal, Ankit K <ankit.k.nautiyal at intel.com>; Kandpal, Suraj
> > <suraj.kandpal at intel.com>
> > Subject: [PATCH] drm/i915/hdcp: Use HDCP2_STREAM_STATUS to verify
> > content type status
> >
> > From PTL we need to move to using HDCP2_STREAM_STATUS to check if the
> > written content type info is the same as we expect since
> > HDCP2_AUTH_STREAM is inaccessible to us now.
> 
> Any reference of bspec you want to add here or it is based on some
> experiment which need to be mentioned  ?

Not on bspec it will be mentioned later but this was found on debug with gsc and h/w team.
This is  fix patch for an blocker bug that why we need to get this merged as soon as possible.

Regards,
Suraj Kandpal

> 
> Regards,
> Mitul
> >
> > Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 13 ++++++++++---
> >  1 file changed, 10 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> > b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> > index 7bd775fb65a0..131fc0cae13b 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> > @@ -806,9 +806,11 @@ intel_dp_mst_hdcp2_stream_encryption(struct
> > intel_connector *connector,
> >  	enum port port = dig_port->base.port;
> >  	int ret;
> >
> > -	drm_WARN_ON(display->drm, enable &&
> > -		    !!(intel_de_read(display, HDCP2_AUTH_STREAM(display,
> > cpu_transcoder, port))
> > -		    & AUTH_STREAM_TYPE) != data->streams[0].stream_type);
> > +	if (DISPLAY_VER(display) < 30)
> > +		drm_WARN_ON(display->drm, enable &&
> > +			    !!(intel_de_read(display,
> > +			    HDCP2_AUTH_STREAM(display, cpu_transcoder,
> > port))
> > +			    & AUTH_STREAM_TYPE) != data-
> > >streams[0].stream_type);
> >
> >  	ret = intel_dp_mst_toggle_hdcp_stream_select(connector, enable);
> >  	if (ret)
> > @@ -824,6 +826,11 @@ intel_dp_mst_hdcp2_stream_encryption(struct
> > intel_connector *connector,
> >  		return -ETIMEDOUT;
> >  	}
> >
> > +	if (DISPLAY_VER(display) >= 30)
> > +		drm_WARN_ON(display->drm, enable &&
> > +			    !!(intel_de_read(display,
> > +			    HDCP2_STREAM_STATUS(display, cpu_transcoder,
> > port))
> > +			    & STREAM_TYPE_STATUS) != data-
> > >streams[0].stream_type);
> >  	return 0;
> >  }
> >
> > --
> > 2.34.1



More information about the Intel-gfx mailing list