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: 8836317710 ("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: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Gustavo Sousa <gustavo.sousa@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/20230505041512.585486-1-suraj.kandpal@intel.com
pull/877/head
parent
6e4e9fbd5b
commit
6986f05b55
|
|
@ -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 = >->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 ? >->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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue