Message ID | 20240131193929.938748-3-suraj.kandpal@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | HDCP Type1 MST fixes | expand |
LGTM. Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> On 2/1/2024 1:09 AM, Suraj Kandpal wrote: > Move checks on the source side for HDCP2.2 into its own function > so that they can be used in the HDCP remote capability check > function. > > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com> > --- > drivers/gpu/drm/i915/display/intel_hdcp.c | 20 +++++++++++++++++--- > 1 file changed, 17 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c > index c3e692e7f790..4593ac10e2fa 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c > @@ -160,12 +160,14 @@ bool intel_hdcp_capable(struct intel_connector *connector) > return capable; > } > > -/* Is HDCP2.2 capable on Platform and Sink */ > -bool intel_hdcp2_capable(struct intel_connector *connector) > +/* > + * Check if the source has all the building blocks ready to make > + * HDCP 2.2 work > + */ > +static bool intel_hdcp2_prerequisite(struct intel_connector *connector) > { > struct drm_i915_private *i915 = to_i915(connector->base.dev); > struct intel_hdcp *hdcp = &connector->hdcp; > - bool capable = false; > > /* I915 support for HDCP2.2 */ > if (!hdcp->hdcp2_supported) > @@ -185,6 +187,18 @@ bool intel_hdcp2_capable(struct intel_connector *connector) > } > mutex_unlock(&i915->display.hdcp.hdcp_mutex); > > + return true; > +} > + > +/* Is HDCP2.2 capable on Platform and Sink */ > +bool intel_hdcp2_capable(struct intel_connector *connector) > +{ > + struct intel_hdcp *hdcp = &connector->hdcp; > + bool capable = false; > + > + if (!intel_hdcp2_prerequisite(connector)) > + return false; > + > /* Sink's capability for HDCP2.2 */ > hdcp->shim->hdcp_2_2_capable(connector, &capable); >
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c index c3e692e7f790..4593ac10e2fa 100644 --- a/drivers/gpu/drm/i915/display/intel_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c @@ -160,12 +160,14 @@ bool intel_hdcp_capable(struct intel_connector *connector) return capable; } -/* Is HDCP2.2 capable on Platform and Sink */ -bool intel_hdcp2_capable(struct intel_connector *connector) +/* + * Check if the source has all the building blocks ready to make + * HDCP 2.2 work + */ +static bool intel_hdcp2_prerequisite(struct intel_connector *connector) { struct drm_i915_private *i915 = to_i915(connector->base.dev); struct intel_hdcp *hdcp = &connector->hdcp; - bool capable = false; /* I915 support for HDCP2.2 */ if (!hdcp->hdcp2_supported) @@ -185,6 +187,18 @@ bool intel_hdcp2_capable(struct intel_connector *connector) } mutex_unlock(&i915->display.hdcp.hdcp_mutex); + return true; +} + +/* Is HDCP2.2 capable on Platform and Sink */ +bool intel_hdcp2_capable(struct intel_connector *connector) +{ + struct intel_hdcp *hdcp = &connector->hdcp; + bool capable = false; + + if (!intel_hdcp2_prerequisite(connector)) + return false; + /* Sink's capability for HDCP2.2 */ hdcp->shim->hdcp_2_2_capable(connector, &capable);
Move checks on the source side for HDCP2.2 into its own function so that they can be used in the HDCP remote capability check function. Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com> --- drivers/gpu/drm/i915/display/intel_hdcp.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-)