Commit 6986f05b authored by Suraj Kandpal's avatar Suraj Kandpal Committed by Animesh Manna
Browse files

drm/i915/hdcp: Check if media_gt exists



Check if media_gt exists if we are using gsc cs

--v2
-correct typo [Ankit]
-assign gsc variable if gt exists [Ankit]

--v3
-declare gsc and gt variables in if block [Ankit]

--v4
-add fixes tag [Ankit]

Fixes: 88363177 ("drm/i915/mtl: Add HDCP GSC interface")
Cc: Tomas Winkler <tomas.winkler@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Uma Shankar <uma.shankar@intel.com>
Cc: Anshuman Gupta <anshuman.gupta@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: default avatarSuraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: default avatarGustavo Sousa <gustavo.sousa@intel.com>
Reviewed-by: default avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: default avatarAnimesh Manna <animesh.manna@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230505041512.585486-1-suraj.kandpal@intel.com
parent 6e4e9fbd
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -204,8 +204,6 @@ bool intel_hdcp2_capable(struct intel_connector *connector)
	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
	struct intel_hdcp *hdcp = &connector->hdcp;
	struct intel_gt *gt = dev_priv->media_gt;
	struct intel_gsc_uc *gsc = &gt->uc.gsc;
	bool capable = false;

	/* I915 support for HDCP2.2 */
@@ -213,9 +211,13 @@ bool intel_hdcp2_capable(struct intel_connector *connector)
		return false;

	/* If MTL+ make sure gsc is loaded and proxy is setup */
	if (intel_hdcp_gsc_cs_required(dev_priv))
		if (!intel_uc_fw_is_running(&gsc->fw))
	if (intel_hdcp_gsc_cs_required(dev_priv)) {
		struct intel_gt *gt = dev_priv->media_gt;
		struct intel_gsc_uc *gsc = gt ? &gt->uc.gsc : NULL;

		if (!gsc || !intel_uc_fw_is_running(&gsc->fw))
			return false;
	}

	/* MEI/GSC interface is solid depending on which is used */
	mutex_lock(&dev_priv->display.hdcp.comp_mutex);