drm/i915/hdcp: Use intel_connector as argument for hdcp_2_2_capable
authorSuraj Kandpal <suraj.kandpal@intel.com>
Wed, 30 Aug 2023 07:34:37 +0000 (13:04 +0530)
committerUma Shankar <uma.shankar@intel.com>
Fri, 1 Sep 2023 07:47:44 +0000 (13:17 +0530)
Use intel_connector as argument instead of intel_digital_port in
hdcp_2_2_capable function and dig_port can be later derived from
connector. This will help with getting the correct hdcp version of
particular monitor in a MST setup.

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230830073437.666263-2-suraj.kandpal@intel.com
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/intel_dp_hdcp.c
drivers/gpu/drm/i915/display/intel_hdcp.c
drivers/gpu/drm/i915/display/intel_hdmi.c

index c62f4ec..c210647 100644 (file)
@@ -500,7 +500,7 @@ struct intel_hdcp_shim {
        enum hdcp_wired_protocol protocol;
 
        /* Detects whether sink is HDCP2.2 capable */
-       int (*hdcp_2_2_capable)(struct intel_digital_port *dig_port,
+       int (*hdcp_2_2_capable)(struct intel_connector *connector,
                                bool *capable);
 
        /* Write HDCP2.2 messages */
index b0cfe75..3b57988 100644 (file)
@@ -648,9 +648,10 @@ int intel_dp_hdcp2_check_link(struct intel_digital_port *dig_port,
 }
 
 static
-int intel_dp_hdcp2_capable(struct intel_digital_port *dig_port,
+int intel_dp_hdcp2_capable(struct intel_connector *connector,
                           bool *capable)
 {
+       struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
        u8 rx_caps[3];
        int ret;
 
index cb45f21..8cca479 100644 (file)
@@ -163,7 +163,6 @@ bool intel_hdcp_capable(struct intel_connector *connector)
 /* Is HDCP2.2 capable on Platform and Sink */
 bool intel_hdcp2_capable(struct intel_connector *connector)
 {
-       struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
        struct drm_i915_private *i915 = to_i915(connector->base.dev);
        struct intel_hdcp *hdcp = &connector->hdcp;
        bool capable = false;
@@ -193,7 +192,7 @@ bool intel_hdcp2_capable(struct intel_connector *connector)
        mutex_unlock(&i915->display.hdcp.hdcp_mutex);
 
        /* Sink's capability for HDCP2.2 */
-       hdcp->shim->hdcp_2_2_capable(dig_port, &capable);
+       hdcp->shim->hdcp_2_2_capable(connector, &capable);
 
        return capable;
 }
index 116556d..d34eba5 100644 (file)
@@ -1735,9 +1735,10 @@ int intel_hdmi_hdcp2_check_link(struct intel_digital_port *dig_port,
 }
 
 static
-int intel_hdmi_hdcp2_capable(struct intel_digital_port *dig_port,
+int intel_hdmi_hdcp2_capable(struct intel_connector *connector,
                             bool *capable)
 {
+       struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
        u8 hdcp2_version;
        int ret;