drm/i915/hdcp: Fill hdcp2_streamid_type and k in appropriate places
authorSuraj Kandpal <suraj.kandpal@intel.com>
Mon, 15 May 2023 11:27:26 +0000 (16:57 +0530)
committerAnimesh Manna <animesh.manna@intel.com>
Tue, 16 May 2023 08:16:19 +0000 (13:46 +0530)
stream_id and k(no of streams) should be set in
intel_hdcp_set_content_streams. stream_type should be set in
intel_hdcp_required_content_stream.

--v5
-add missing stream_id assignment [Ankit]

Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Animesh Manna <animesh.manna@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230515112726.689116-1-suraj.kandpal@intel.com
drivers/gpu/drm/i915/display/intel_hdcp.c

index 6d3ea6859328618450714ac11445e8570fdc7095..dd539106ee5ada95348f590a4405c071efa5db68 100644 (file)
@@ -97,7 +97,6 @@ static void intel_hdcp_prepare_streams(struct intel_connector *connector)
        struct intel_hdcp *hdcp = &connector->hdcp;
 
        if (!intel_encoder_is_mst(intel_attached_encoder(connector))) {
-               data->k = 1;
                data->streams[0].stream_type = hdcp->content_type;
        } else {
                intel_hdcp_required_content_stream(dig_port);
@@ -2161,7 +2160,6 @@ static int initialize_hdcp_port_data(struct intel_connector *connector,
 {
        struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
        struct hdcp_port_data *data = &dig_port->hdcp_port_data;
-       struct intel_hdcp *hdcp = &connector->hdcp;
        enum port port = dig_port->base.port;
 
        if (DISPLAY_VER(dev_priv) < 12)
@@ -2191,9 +2189,6 @@ static int initialize_hdcp_port_data(struct intel_connector *connector,
                drm_err(&dev_priv->drm, "Out of Memory\n");
                return -ENOMEM;
        }
-       /* For SST */
-       data->streams[0].stream_id = 0;
-       data->streams[0].stream_type = hdcp->content_type;
 
        return 0;
 }
@@ -2299,8 +2294,11 @@ intel_hdcp_set_streams(struct intel_digital_port *dig_port,
        struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
        struct hdcp_port_data *data = &dig_port->hdcp_port_data;
 
-       if (!intel_encoder_is_mst(&dig_port->base))
+       if (!intel_encoder_is_mst(&dig_port->base)) {
+               data->k = 1;
+               data->streams[0].stream_id = 0;
                return 0;
+       }
 
        data->k = 0;