On 2020-10-27 at 22:12:00 +0530, Anshuman Gupta wrote:
> Pass dig_port as an argument to intel_hdcp_init()
> and intel_hdcp2_init().
> This will be required for HDCP 2.2 stream encryption.
> 
> Cc: Ramalingam C <ramalinga...@intel.com>
> Reviewed-by: Uma Shankar <uma.shan...@intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gu...@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp_hdcp.c |  4 ++--
>  drivers/gpu/drm/i915/display/intel_hdcp.c    | 12 +++++++-----
>  drivers/gpu/drm/i915/display/intel_hdcp.h    |  4 +++-
>  drivers/gpu/drm/i915/display/intel_hdmi.c    |  2 +-
>  4 files changed, 13 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c 
> b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> index 6dcbfaffd2c5..591b68e5de48 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> @@ -751,10 +751,10 @@ int intel_dp_init_hdcp(struct intel_digital_port 
> *dig_port,
>               return 0;
>  
>       if (intel_connector->mst_port)
> -             return intel_hdcp_init(intel_connector, port,
> +             return intel_hdcp_init(intel_connector, dig_port,
cant we retrieve the dig_port from connector?

-Ram
>                                      &intel_dp_mst_hdcp_shim);
>       else if (!intel_dp_is_edp(intel_dp))
> -             return intel_hdcp_init(intel_connector, port,
> +             return intel_hdcp_init(intel_connector, dig_port,
>                                      &intel_dp_hdcp_shim);
>  
>       return 0;
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c 
> b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 937af4aeaac2..b0f47687bc59 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -1982,12 +1982,13 @@ static enum mei_fw_tc intel_get_mei_fw_tc(enum 
> transcoder cpu_transcoder)
>  }
>  
>  static int initialize_hdcp_port_data(struct intel_connector *connector,
> -                                  enum port port,
> +                                  struct intel_digital_port *dig_port,
>                                    const struct intel_hdcp_shim *shim)
>  {
>       struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
>       struct intel_hdcp *hdcp = &connector->hdcp;
>       struct hdcp_port_data *data = &hdcp->port_data;
> +     enum port port = dig_port->base.port;
>  
>       if (INTEL_GEN(dev_priv) < 12)
>               data->fw_ddi = intel_get_mei_fw_ddi_index(port);
> @@ -2060,14 +2061,15 @@ void intel_hdcp_component_init(struct 
> drm_i915_private *dev_priv)
>       }
>  }
>  
> -static void intel_hdcp2_init(struct intel_connector *connector, enum port 
> port,
> +static void intel_hdcp2_init(struct intel_connector *connector,
> +                          struct intel_digital_port *dig_port,
>                            const struct intel_hdcp_shim *shim)
>  {
>       struct drm_i915_private *i915 = to_i915(connector->base.dev);
>       struct intel_hdcp *hdcp = &connector->hdcp;
>       int ret;
>  
> -     ret = initialize_hdcp_port_data(connector, port, shim);
> +     ret = initialize_hdcp_port_data(connector, dig_port, shim);
>       if (ret) {
>               drm_dbg_kms(&i915->drm, "Mei hdcp data init failed\n");
>               return;
> @@ -2077,7 +2079,7 @@ static void intel_hdcp2_init(struct intel_connector 
> *connector, enum port port,
>  }
>  
>  int intel_hdcp_init(struct intel_connector *connector,
> -                 enum port port,
> +                 struct intel_digital_port *dig_port,
>                   const struct intel_hdcp_shim *shim)
>  {
>       struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> @@ -2088,7 +2090,7 @@ int intel_hdcp_init(struct intel_connector *connector,
>               return -EINVAL;
>  
>       if (is_hdcp2_supported(dev_priv) && !connector->mst_port)
> -             intel_hdcp2_init(connector, port, shim);
> +             intel_hdcp2_init(connector, dig_port, shim);
>  
>       ret =
>       drm_connector_attach_content_protection_property(&connector->base,
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.h 
> b/drivers/gpu/drm/i915/display/intel_hdcp.h
> index b912a3a0f5b8..8f53b0c7fe5c 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.h
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.h
> @@ -18,13 +18,15 @@ struct intel_connector;
>  struct intel_crtc_state;
>  struct intel_encoder;
>  struct intel_hdcp_shim;
> +struct intel_digital_port;
>  enum port;
>  enum transcoder;
>  
>  void intel_hdcp_atomic_check(struct drm_connector *connector,
>                            struct drm_connector_state *old_state,
>                            struct drm_connector_state *new_state);
> -int intel_hdcp_init(struct intel_connector *connector, enum port port,
> +int intel_hdcp_init(struct intel_connector *connector,
> +                 struct intel_digital_port *dig_port,
>                   const struct intel_hdcp_shim *hdcp_shim);
>  int intel_hdcp_enable(struct intel_connector *connector,
>                     const struct intel_crtc_state *pipe_config, u8 
> content_type);
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c 
> b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index f58469226694..0788de04711b 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -3302,7 +3302,7 @@ void intel_hdmi_init_connector(struct 
> intel_digital_port *dig_port,
>       intel_hdmi->attached_connector = intel_connector;
>  
>       if (is_hdcp_supported(dev_priv, port)) {
> -             int ret = intel_hdcp_init(intel_connector, port,
> +             int ret = intel_hdcp_init(intel_connector, dig_port,
>                                         &intel_hdmi_hdcp_shim);
>               if (ret)
>                       drm_dbg_kms(&dev_priv->drm,
> -- 
> 2.26.2
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to