]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
drm/i915/hdcp: Move source hdcp2 checks into its own function
authorSuraj Kandpal <suraj.kandpal@intel.com>
Fri, 23 Feb 2024 08:14:43 +0000 (13:44 +0530)
committerAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Mon, 26 Feb 2024 05:48:11 +0000 (11:18 +0530)
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>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240223081453.1576918-4-suraj.kandpal@intel.com
drivers/gpu/drm/i915/display/intel_hdcp.c

index c3e692e7f790db2a3999822b315132fb9973052a..4593ac10e2fae4660732475464ee40f4947ed09d 100644 (file)
@@ -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);