Hello Suraj,

> -----Original Message-----
> From: Intel-gfx <[email protected]> On Behalf Of
> Suraj Kandpal
> Sent: Thursday, May 18, 2023 12:06 PM
> To: [email protected]
> Cc: Nikula, Jani <[email protected]>; Winkler, Tomas
> <[email protected]>
> Subject: [Intel-gfx] [PATCH 3/3] drm/i915/hdcp: Rename comp_mutex to
> hdcp_mutex
> 
> Rename comp_mutex to hdcp_mutex as after MTL we use gsc cs to enable
> hdcp hence this mutex protects not only hdcp component we add to mei.
> 

Nit: the commit message could be better framed.

Other than that LGTM

Reviewed-by: Chaitanya Kumar Borah <[email protected]>

> Cc: Jani Nikula <[email protected]>
> Cc: Ankit Nautiyal <[email protected]>
> Signed-off-by: Suraj Kandpal <[email protected]>
> ---
>  .../gpu/drm/i915/display/intel_display_core.h |  4 +-
>  drivers/gpu/drm/i915/display/intel_hdcp.c     | 94 +++++++++----------
>  drivers/gpu/drm/i915/display/intel_hdcp_gsc.c |  4 +-
>  drivers/gpu/drm/i915/i915_driver.c            |  2 +-
>  4 files changed, 52 insertions(+), 52 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h
> b/drivers/gpu/drm/i915/display/intel_display_core.h
> index 57f76321a393..e853ca3b72ed 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -404,8 +404,8 @@ struct intel_display {
>                * this is only populated post Meteorlake
>                */
>               struct intel_hdcp_gsc_message *hdcp_message;
> -             /* Mutex to protect the above hdcp component related
> values. */
> -             struct mutex comp_mutex;
> +             /* Mutex to protect the above hdcp related values. */
> +             struct mutex hdcp_mutex;
>       } hdcp;
> 
>       struct {
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c
> b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 7d43845d5157..3413455df36e 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -182,12 +182,12 @@ bool intel_hdcp2_capable(struct intel_connector
> *connector)
>       }
> 
>       /* MEI/GSC interface is solid depending on which is used */
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       if (!i915->display.hdcp.comp_added ||  !i915->display.hdcp.arbiter) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return false;
>       }
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       /* Sink's capability for HDCP2.2 */
>       hdcp->shim->hdcp_2_2_capable(dig_port, &capable); @@ -1117,11
> +1117,11 @@ hdcp2_prepare_ake_init(struct intel_connector *connector,
>       struct i915_hdcp_arbiter *arbiter;
>       int ret;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       arbiter = i915->display.hdcp.arbiter;
> 
>       if (!arbiter || !arbiter->ops) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return -EINVAL;
>       }
> 
> @@ -1129,7 +1129,7 @@ hdcp2_prepare_ake_init(struct intel_connector
> *connector,
>       if (ret)
>               drm_dbg_kms(&i915->drm, "Prepare_ake_init failed. %d\n",
>                           ret);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> @@ -1147,11 +1147,11 @@ hdcp2_verify_rx_cert_prepare_km(struct
> intel_connector *connector,
>       struct i915_hdcp_arbiter *arbiter;
>       int ret;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       arbiter = i915->display.hdcp.arbiter;
> 
>       if (!arbiter || !arbiter->ops) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return -EINVAL;
>       }
> 
> @@ -1161,7 +1161,7 @@ hdcp2_verify_rx_cert_prepare_km(struct
> intel_connector *connector,
>       if (ret < 0)
>               drm_dbg_kms(&i915->drm, "Verify rx_cert failed. %d\n",
>                           ret);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> @@ -1175,18 +1175,18 @@ static int hdcp2_verify_hprime(struct
> intel_connector *connector,
>       struct i915_hdcp_arbiter *arbiter;
>       int ret;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       arbiter = i915->display.hdcp.arbiter;
> 
>       if (!arbiter || !arbiter->ops) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return -EINVAL;
>       }
> 
>       ret = arbiter->ops->verify_hprime(arbiter->hdcp_dev, data,
> rx_hprime);
>       if (ret < 0)
>               drm_dbg_kms(&i915->drm, "Verify hprime failed. %d\n",
> ret);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> @@ -1201,11 +1201,11 @@ hdcp2_store_pairing_info(struct
> intel_connector *connector,
>       struct i915_hdcp_arbiter *arbiter;
>       int ret;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       arbiter = i915->display.hdcp.arbiter;
> 
>       if (!arbiter || !arbiter->ops) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return -EINVAL;
>       }
> 
> @@ -1213,7 +1213,7 @@ hdcp2_store_pairing_info(struct intel_connector
> *connector,
>       if (ret < 0)
>               drm_dbg_kms(&i915->drm, "Store pairing info failed. %d\n",
>                           ret);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> @@ -1228,11 +1228,11 @@ hdcp2_prepare_lc_init(struct intel_connector
> *connector,
>       struct i915_hdcp_arbiter *arbiter;
>       int ret;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       arbiter = i915->display.hdcp.arbiter;
> 
>       if (!arbiter || !arbiter->ops) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return -EINVAL;
>       }
> 
> @@ -1240,7 +1240,7 @@ hdcp2_prepare_lc_init(struct intel_connector
> *connector,
>       if (ret < 0)
>               drm_dbg_kms(&i915->drm, "Prepare lc_init failed. %d\n",
>                           ret);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> @@ -1255,11 +1255,11 @@ hdcp2_verify_lprime(struct intel_connector
> *connector,
>       struct i915_hdcp_arbiter *arbiter;
>       int ret;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       arbiter = i915->display.hdcp.arbiter;
> 
>       if (!arbiter || !arbiter->ops) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return -EINVAL;
>       }
> 
> @@ -1267,7 +1267,7 @@ hdcp2_verify_lprime(struct intel_connector
> *connector,
>       if (ret < 0)
>               drm_dbg_kms(&i915->drm, "Verify L_Prime failed. %d\n",
>                           ret);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> @@ -1281,11 +1281,11 @@ static int hdcp2_prepare_skey(struct
> intel_connector *connector,
>       struct i915_hdcp_arbiter *arbiter;
>       int ret;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       arbiter = i915->display.hdcp.arbiter;
> 
>       if (!arbiter || !arbiter->ops) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return -EINVAL;
>       }
> 
> @@ -1293,7 +1293,7 @@ static int hdcp2_prepare_skey(struct
> intel_connector *connector,
>       if (ret < 0)
>               drm_dbg_kms(&i915->drm, "Get session key failed. %d\n",
>                           ret);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> @@ -1310,11 +1310,11 @@ hdcp2_verify_rep_topology_prepare_ack(struct
> intel_connector *connector,
>       struct i915_hdcp_arbiter *arbiter;
>       int ret;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       arbiter = i915->display.hdcp.arbiter;
> 
>       if (!arbiter || !arbiter->ops) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return -EINVAL;
>       }
> 
> @@ -1325,7 +1325,7 @@ hdcp2_verify_rep_topology_prepare_ack(struct
> intel_connector *connector,
>       if (ret < 0)
>               drm_dbg_kms(&i915->drm,
>                           "Verify rep topology failed. %d\n", ret);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> @@ -1340,18 +1340,18 @@ hdcp2_verify_mprime(struct intel_connector
> *connector,
>       struct i915_hdcp_arbiter *arbiter;
>       int ret;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       arbiter = i915->display.hdcp.arbiter;
> 
>       if (!arbiter || !arbiter->ops) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return -EINVAL;
>       }
> 
>       ret = arbiter->ops->verify_mprime(arbiter->hdcp_dev, data,
> stream_ready);
>       if (ret < 0)
>               drm_dbg_kms(&i915->drm, "Verify mprime failed. %d\n",
> ret);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> @@ -1364,11 +1364,11 @@ static int hdcp2_authenticate_port(struct
> intel_connector *connector)
>       struct i915_hdcp_arbiter *arbiter;
>       int ret;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       arbiter = i915->display.hdcp.arbiter;
> 
>       if (!arbiter || !arbiter->ops) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return -EINVAL;
>       }
> 
> @@ -1376,7 +1376,7 @@ static int hdcp2_authenticate_port(struct
> intel_connector *connector)
>       if (ret < 0)
>               drm_dbg_kms(&i915->drm, "Enable hdcp auth failed. %d\n",
>                           ret);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> @@ -1388,17 +1388,17 @@ static int hdcp2_close_session(struct
> intel_connector *connector)
>       struct i915_hdcp_arbiter *arbiter;
>       int ret;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       arbiter = i915->display.hdcp.arbiter;
> 
>       if (!arbiter || !arbiter->ops) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return -EINVAL;
>       }
> 
>       ret = arbiter->ops->close_hdcp_session(arbiter->hdcp_dev,
>                                            &dig_port->hdcp_port_data);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> @@ -2108,10 +2108,10 @@ static int i915_hdcp_component_bind(struct
> device *i915_kdev,
>       struct drm_i915_private *i915 = kdev_to_i915(i915_kdev);
> 
>       drm_dbg(&i915->drm, "I915 HDCP comp bind\n");
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       i915->display.hdcp.arbiter = (struct i915_hdcp_arbiter *)data;
>       i915->display.hdcp.arbiter->hdcp_dev = mei_kdev;
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return 0;
>  }
> @@ -2122,9 +2122,9 @@ static void i915_hdcp_component_unbind(struct
> device *i915_kdev,
>       struct drm_i915_private *i915 = kdev_to_i915(i915_kdev);
> 
>       drm_dbg(&i915->drm, "I915 HDCP comp unbind\n");
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       i915->display.hdcp.arbiter = NULL;
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>  }
> 
>  static const struct component_ops i915_hdcp_ops = { @@ -2214,11
> +2214,11 @@ void intel_hdcp_component_init(struct drm_i915_private
> *i915)
>       if (!is_hdcp2_supported(i915))
>               return;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       drm_WARN_ON(&i915->drm, i915->display.hdcp.comp_added);
> 
>       i915->display.hdcp.comp_added = true;
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>       if (intel_hdcp_gsc_cs_required(i915))
>               ret = intel_hdcp_gsc_init(i915);
>       else
> @@ -2228,9 +2228,9 @@ void intel_hdcp_component_init(struct
> drm_i915_private *i915)
>       if (ret < 0) {
>               drm_dbg_kms(&i915->drm, "Failed at fw component
> add(%d)\n",
>                           ret);
> -             mutex_lock(&i915->display.hdcp.comp_mutex);
> +             mutex_lock(&i915->display.hdcp.hdcp_mutex);
>               i915->display.hdcp.comp_added = false;
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return;
>       }
>  }
> @@ -2500,14 +2500,14 @@ void intel_hdcp_update_pipe(struct
> intel_atomic_state *state,
> 
>  void intel_hdcp_component_fini(struct drm_i915_private *i915)  {
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       if (!i915->display.hdcp.comp_added) {
> -             mutex_unlock(&i915->display.hdcp.comp_mutex);
> +             mutex_unlock(&i915->display.hdcp.hdcp_mutex);
>               return;
>       }
> 
>       i915->display.hdcp.comp_added = false;
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       if (intel_hdcp_gsc_cs_required(i915))
>               intel_hdcp_gsc_fini(i915);
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp_gsc.c
> b/drivers/gpu/drm/i915/display/intel_hdcp_gsc.c
> index 62e7bf0e1035..72573ce1d0e9 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp_gsc.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp_gsc.c
> @@ -704,12 +704,12 @@ int intel_hdcp_gsc_init(struct drm_i915_private
> *i915)
>       if (!data)
>               return -ENOMEM;
> 
> -     mutex_lock(&i915->display.hdcp.comp_mutex);
> +     mutex_lock(&i915->display.hdcp.hdcp_mutex);
>       i915->display.hdcp.arbiter = data;
>       i915->display.hdcp.arbiter->hdcp_dev = i915->drm.dev;
>       i915->display.hdcp.arbiter->ops = &gsc_hdcp_ops;
>       ret = intel_hdcp_gsc_hdcp2_init(i915);
> -     mutex_unlock(&i915->display.hdcp.comp_mutex);
> +     mutex_unlock(&i915->display.hdcp.hdcp_mutex);
> 
>       return ret;
>  }
> diff --git a/drivers/gpu/drm/i915/i915_driver.c
> b/drivers/gpu/drm/i915/i915_driver.c
> index 522733a89946..8ba87864bbd2 100644
> --- a/drivers/gpu/drm/i915/i915_driver.c
> +++ b/drivers/gpu/drm/i915/i915_driver.c
> @@ -222,7 +222,7 @@ static int i915_driver_early_probe(struct
> drm_i915_private *dev_priv)
>       mutex_init(&dev_priv->display.audio.mutex);
>       mutex_init(&dev_priv->display.wm.wm_mutex);
>       mutex_init(&dev_priv->display.pps.mutex);
> -     mutex_init(&dev_priv->display.hdcp.comp_mutex);
> +     mutex_init(&dev_priv->display.hdcp.hdcp_mutex);
> 
>       i915_memcpy_init_early(dev_priv);
>       intel_runtime_pm_init_early(&dev_priv->runtime_pm);
> --
> 2.25.1

Reply via email to