Re: [PATCH 37/43] drm/i915: Initialize HDCP2.2 and its MEI interface

Chris Wilson
2018-02-14T14:45:16Z

Quoting Ramalingam C (2018-02-14 14:13:52)
> Implements the init and exit for hdcp2.2 support. This includes the
> mei interface initialization also.
>
> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
> ---
> +static int intel_hdcp2_init(struct intel_hdcp *hdcp,
> + const struct intel_hdcp2_shim *shim)
> {
> + struct intel_connector *connector = hdcp->connector;
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> int ret;
> +
> + if (INTEL_GEN(dev_priv) < 10 && !IS_GEMINILAKE(dev_priv) &&
> + !IS_KABYLAKE(dev_priv))
> + return -EINVAL;
> +
> + if (!dev_priv->mei_cldev && !dev_priv->mei_ref_cnt) {
> + ret = mei_hdcp_cldev_get_reference((void *)dev_priv,
> + &dev_priv->mei_cldev,
> + intel_mei_cldev_reference_notify);
> + if (ret < 0)
> + return ret;
> + }
> +
> + dev_priv->mei_ref_cnt++;

So this is more or less unprotected? As there need not be any
serialisation between the construction of two connectors.
-Chris