]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
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 c62f4ec315e8f50af1a1b1988d2765c6a96d56f5..c21064794f32196e08675f383e9b86cb8f451856 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 b0cfe759d3e5b366272a152ada04ccb601959bf7..3b579887bb993582edff13e8cf9b3afe8ed8e2e8 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 cb45f21f71eb650c5e5d307c73d1a498490d409f..8cca4793cf92d415148a48d576daa744bfcaaba5 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 116556d6352ae541f6635aab768db220b4508c19..d34eba5b132c81b5013fcd5ad190bcca6ebbfc45 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;