Re: [PATCH v2 3/7] drm/i915/hdcp: HDCP2.x Refactoring to agnotic cp f/w

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Subject: Re:  [PATCH v2 3/7] drm/i915/hdcp: HDCP2.x Refactoring to
> agnotic cp f/w
> 
> On Tue, 13 Dec 2022, Suraj Kandpal <suraj.kandpal@xxxxxxxxx> wrote:
> > From: Anshuman Gupta <anshuman.gupta@xxxxxxxxx>
> >
> > As now we have more then one type of content protection secrity
> > firmware. Let change the i915_cp_fw_hdcp_interface.h header naming
> > convention to suit generic f/w type.
> > %s/MEI_/FW_
> > %s/mei_fw/cp_fw
> > %s/mei_dev/fw_dev
> >
> > As interface to CP FW can be either a non i915 component or
> > i915 intergral component, change structure name Accordingly.
> > %s/i915_hdcp_comp_master/i915_hdcp_fw_master
> > %s/i915_hdcp_component_ops/i915_hdcp_fw_ops
> 
> Why not drop the fw part here too? Just take a step further and make the
> interface agnostic to being about firmware.
I kept the fw part here as the previous names had it with mei naming and still interact
with fw but the below names make more sense ill get that changed.

Regards,
Suraj Kandpal
> 
> fw_dev -> hdcp_dev
> enum cp_fw_ddi -> enum hdcp_port
> enum cp_fw_tc -> enum hdcp_transcoder
> 
> enumerator values accordingly, with a sensible prefix.
> 
> For naming, try saying the names aloud, as if you were discussing this on the
> phone with someone. "enum cp_fw_tc" just does not work.
> 
> 
> BR,
> Jani.
> 
> >
> > Cc: Tomas Winkler <tomas.winkler@xxxxxxxxx>
> > Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
> > Cc: Uma Shankar <uma.shankar@xxxxxxxxx>
> > Cc: Ankit Nautiyal <ankit.k.nautiyal@xxxxxxxxx>
> > Signed-off-by: Anshuman Gupta <anshuman.gupta@xxxxxxxxx>
> > Signed-off-by: Suraj Kandpal <suraj.kandpal@xxxxxxxxx>
> > ---
> >  .../gpu/drm/i915/display/intel_display_core.h |  3 +-
> >  drivers/gpu/drm/i915/display/intel_hdcp.c     | 66 ++++++++---------
> >  drivers/misc/mei/hdcp/mei_hdcp.c              | 12 ++--
> >  include/drm/i915_cp_fw_hdcp_interface.h       | 70 +++++++++----------
> >  4 files changed, 76 insertions(+), 75 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h
> > b/drivers/gpu/drm/i915/display/intel_display_core.h
> > index 57ddce3ba02b..a769cc8e2745 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> > @@ -16,6 +16,7 @@
> >  #include <drm/drm_connector.h>
> >  #include <drm/drm_modeset_lock.h>
> >
> > +#include "i915/i915_cp_fw_hdcp_interface.h"
> >  #include "intel_cdclk.h"
> >  #include "intel_display.h"
> >  #include "intel_display_power.h"
> > @@ -368,7 +369,7 @@ struct intel_display {
> >  	} gmbus;
> >
> >  	struct {
> > -		struct i915_hdcp_comp_master *master;
> > +		struct i915_hdcp_fw_master *master;
> >  		bool comp_added;
> >
> >  		/* Mutex to protect the above hdcp component related values.
> */
> > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c
> > b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > index 6406fd487ee5..e856b10948ab 100644
> > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > @@ -1143,7 +1143,7 @@ hdcp2_prepare_ake_init(struct intel_connector
> *connector,
> >  	struct intel_digital_port *dig_port =
> intel_attached_dig_port(connector);
> >  	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > -	struct i915_hdcp_comp_master *comp;
> > +	struct i915_hdcp_fw_master *comp;
> >  	int ret;
> >
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1154,7 +1154,7 @@ hdcp2_prepare_ake_init(struct intel_connector
> *connector,
> >  		return -EINVAL;
> >  	}
> >
> > -	ret = comp->ops->initiate_hdcp2_session(comp->mei_dev, data,
> ake_data);
> > +	ret = comp->ops->initiate_hdcp2_session(comp->fw_dev, data,
> > +ake_data);
> >  	if (ret)
> >  		drm_dbg_kms(&dev_priv->drm, "Prepare_ake_init failed.
> %d\n",
> >  			    ret);
> > @@ -1173,7 +1173,7 @@ hdcp2_verify_rx_cert_prepare_km(struct
> intel_connector *connector,
> >  	struct intel_digital_port *dig_port =
> intel_attached_dig_port(connector);
> >  	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > -	struct i915_hdcp_comp_master *comp;
> > +	struct i915_hdcp_fw_master *comp;
> >  	int ret;
> >
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1184,7 +1184,7 @@ hdcp2_verify_rx_cert_prepare_km(struct
> intel_connector *connector,
> >  		return -EINVAL;
> >  	}
> >
> > -	ret = comp->ops->verify_receiver_cert_prepare_km(comp->mei_dev,
> data,
> > +	ret = comp->ops->verify_receiver_cert_prepare_km(comp->fw_dev,
> data,
> >  							 rx_cert, paired,
> >  							 ek_pub_km, msg_sz);
> >  	if (ret < 0)
> > @@ -1201,7 +1201,7 @@ static int hdcp2_verify_hprime(struct intel_connector
> *connector,
> >  	struct intel_digital_port *dig_port =
> intel_attached_dig_port(connector);
> >  	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > -	struct i915_hdcp_comp_master *comp;
> > +	struct i915_hdcp_fw_master *comp;
> >  	int ret;
> >
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1212,7 +1212,7 @@ static int hdcp2_verify_hprime(struct intel_connector
> *connector,
> >  		return -EINVAL;
> >  	}
> >
> > -	ret = comp->ops->verify_hprime(comp->mei_dev, data, rx_hprime);
> > +	ret = comp->ops->verify_hprime(comp->fw_dev, data, rx_hprime);
> >  	if (ret < 0)
> >  		drm_dbg_kms(&dev_priv->drm, "Verify hprime failed. %d\n",
> ret);
> >  	mutex_unlock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1227,7 +1227,7 @@ hdcp2_store_pairing_info(struct intel_connector
> *connector,
> >  	struct intel_digital_port *dig_port =
> intel_attached_dig_port(connector);
> >  	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > -	struct i915_hdcp_comp_master *comp;
> > +	struct i915_hdcp_fw_master *comp;
> >  	int ret;
> >
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1238,7 +1238,7 @@ hdcp2_store_pairing_info(struct intel_connector
> *connector,
> >  		return -EINVAL;
> >  	}
> >
> > -	ret = comp->ops->store_pairing_info(comp->mei_dev, data,
> pairing_info);
> > +	ret = comp->ops->store_pairing_info(comp->fw_dev, data,
> > +pairing_info);
> >  	if (ret < 0)
> >  		drm_dbg_kms(&dev_priv->drm, "Store pairing info failed.
> %d\n",
> >  			    ret);
> > @@ -1254,7 +1254,7 @@ hdcp2_prepare_lc_init(struct intel_connector
> *connector,
> >  	struct intel_digital_port *dig_port =
> intel_attached_dig_port(connector);
> >  	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > -	struct i915_hdcp_comp_master *comp;
> > +	struct i915_hdcp_fw_master *comp;
> >  	int ret;
> >
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1265,7 +1265,7 @@ hdcp2_prepare_lc_init(struct intel_connector
> *connector,
> >  		return -EINVAL;
> >  	}
> >
> > -	ret = comp->ops->initiate_locality_check(comp->mei_dev, data, lc_init);
> > +	ret = comp->ops->initiate_locality_check(comp->fw_dev, data,
> > +lc_init);
> >  	if (ret < 0)
> >  		drm_dbg_kms(&dev_priv->drm, "Prepare lc_init failed. %d\n",
> >  			    ret);
> > @@ -1281,7 +1281,7 @@ hdcp2_verify_lprime(struct intel_connector
> *connector,
> >  	struct intel_digital_port *dig_port =
> intel_attached_dig_port(connector);
> >  	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > -	struct i915_hdcp_comp_master *comp;
> > +	struct i915_hdcp_fw_master *comp;
> >  	int ret;
> >
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1292,7 +1292,7 @@ hdcp2_verify_lprime(struct intel_connector
> *connector,
> >  		return -EINVAL;
> >  	}
> >
> > -	ret = comp->ops->verify_lprime(comp->mei_dev, data, rx_lprime);
> > +	ret = comp->ops->verify_lprime(comp->fw_dev, data, rx_lprime);
> >  	if (ret < 0)
> >  		drm_dbg_kms(&dev_priv->drm, "Verify L_Prime failed. %d\n",
> >  			    ret);
> > @@ -1307,7 +1307,7 @@ static int hdcp2_prepare_skey(struct intel_connector
> *connector,
> >  	struct intel_digital_port *dig_port =
> intel_attached_dig_port(connector);
> >  	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > -	struct i915_hdcp_comp_master *comp;
> > +	struct i915_hdcp_fw_master *comp;
> >  	int ret;
> >
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1318,7 +1318,7 @@ static int hdcp2_prepare_skey(struct intel_connector
> *connector,
> >  		return -EINVAL;
> >  	}
> >
> > -	ret = comp->ops->get_session_key(comp->mei_dev, data, ske_data);
> > +	ret = comp->ops->get_session_key(comp->fw_dev, data, ske_data);
> >  	if (ret < 0)
> >  		drm_dbg_kms(&dev_priv->drm, "Get session key failed. %d\n",
> >  			    ret);
> > @@ -1336,7 +1336,7 @@ hdcp2_verify_rep_topology_prepare_ack(struct
> intel_connector *connector,
> >  	struct intel_digital_port *dig_port =
> intel_attached_dig_port(connector);
> >  	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > -	struct i915_hdcp_comp_master *comp;
> > +	struct i915_hdcp_fw_master *comp;
> >  	int ret;
> >
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1347,7 +1347,7 @@ hdcp2_verify_rep_topology_prepare_ack(struct
> intel_connector *connector,
> >  		return -EINVAL;
> >  	}
> >
> > -	ret = comp->ops->repeater_check_flow_prepare_ack(comp->mei_dev,
> data,
> > +	ret = comp->ops->repeater_check_flow_prepare_ack(comp->fw_dev,
> data,
> >  							 rep_topology,
> >  							 rep_send_ack);
> >  	if (ret < 0)
> > @@ -1365,7 +1365,7 @@ hdcp2_verify_mprime(struct intel_connector
> *connector,
> >  	struct intel_digital_port *dig_port =
> intel_attached_dig_port(connector);
> >  	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > -	struct i915_hdcp_comp_master *comp;
> > +	struct i915_hdcp_fw_master *comp;
> >  	int ret;
> >
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1376,7 +1376,7 @@ hdcp2_verify_mprime(struct intel_connector
> *connector,
> >  		return -EINVAL;
> >  	}
> >
> > -	ret = comp->ops->verify_mprime(comp->mei_dev, data,
> stream_ready);
> > +	ret = comp->ops->verify_mprime(comp->fw_dev, data, stream_ready);
> >  	if (ret < 0)
> >  		drm_dbg_kms(&dev_priv->drm, "Verify mprime failed. %d\n",
> ret);
> >  	mutex_unlock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1389,7 +1389,7 @@ static int hdcp2_authenticate_port(struct
> intel_connector *connector)
> >  	struct intel_digital_port *dig_port =
> intel_attached_dig_port(connector);
> >  	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > -	struct i915_hdcp_comp_master *comp;
> > +	struct i915_hdcp_fw_master *comp;
> >  	int ret;
> >
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1400,7 +1400,7 @@ static int hdcp2_authenticate_port(struct
> intel_connector *connector)
> >  		return -EINVAL;
> >  	}
> >
> > -	ret = comp->ops->enable_hdcp_authentication(comp->mei_dev, data);
> > +	ret = comp->ops->enable_hdcp_authentication(comp->fw_dev, data);
> >  	if (ret < 0)
> >  		drm_dbg_kms(&dev_priv->drm, "Enable hdcp auth failed.
> %d\n",
> >  			    ret);
> > @@ -1413,7 +1413,7 @@ static int hdcp2_close_mei_session(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 i915_hdcp_comp_master *comp;
> > +	struct i915_hdcp_fw_master *comp;
> >  	int ret;
> >
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > @@ -1424,7 +1424,7 @@ static int hdcp2_close_mei_session(struct
> intel_connector *connector)
> >  		return -EINVAL;
> >  	}
> >
> > -	ret = comp->ops->close_hdcp_session(comp->mei_dev,
> > +	ret = comp->ops->close_hdcp_session(comp->fw_dev,
> >  					     &dig_port->hdcp_port_data);
> >  	mutex_unlock(&dev_priv->display.hdcp.comp_mutex);
> >
> > @@ -2145,8 +2145,8 @@ static int i915_hdcp_component_bind(struct
> > device *i915_kdev,
> >
> >  	drm_dbg(&dev_priv->drm, "I915 HDCP comp bind\n");
> >  	mutex_lock(&dev_priv->display.hdcp.comp_mutex);
> > -	dev_priv->display.hdcp.master = (struct i915_hdcp_comp_master
> *)data;
> > -	dev_priv->display.hdcp.master->mei_dev = mei_kdev;
> > +	dev_priv->display.hdcp.master = (struct i915_hdcp_fw_master *)data;
> > +	dev_priv->display.hdcp.master->fw_dev = mei_kdev;
> >  	mutex_unlock(&dev_priv->display.hdcp.comp_mutex);
> >
> >  	return 0;
> > @@ -2168,25 +2168,25 @@ static const struct component_ops
> i915_hdcp_component_ops = {
> >  	.unbind = i915_hdcp_component_unbind,  };
> >
> > -static enum mei_fw_ddi intel_get_mei_fw_ddi_index(enum port port)
> > +static enum cp_fw_ddi intel_get_mei_fw_ddi_index(enum port port)
> >  {
> >  	switch (port) {
> >  	case PORT_A:
> > -		return MEI_DDI_A;
> > +		return FW_DDI_A;
> >  	case PORT_B ... PORT_F:
> > -		return (enum mei_fw_ddi)port;
> > +		return (enum cp_fw_ddi)port;
> >  	default:
> > -		return MEI_DDI_INVALID_PORT;
> > +		return FW_DDI_INVALID_PORT;
> >  	}
> >  }
> >
> > -static enum mei_fw_tc intel_get_mei_fw_tc(enum transcoder
> > cpu_transcoder)
> > +static enum cp_fw_tc intel_get_mei_fw_tc(enum transcoder
> > +cpu_transcoder)
> >  {
> >  	switch (cpu_transcoder) {
> >  	case TRANSCODER_A ... TRANSCODER_D:
> > -		return (enum mei_fw_tc)(cpu_transcoder | 0x10);
> > +		return (enum cp_fw_tc)(cpu_transcoder | 0x10);
> >  	default: /* eDP, DSI TRANSCODERS are non HDCP capable */
> > -		return MEI_INVALID_TRANSCODER;
> > +		return FW_INVALID_TRANSCODER;
> >  	}
> >  }
> >
> > @@ -2206,14 +2206,14 @@ static int initialize_hdcp_port_data(struct
> intel_connector *connector,
> >  		 * As per ME FW API expectation, for GEN 12+, fw_ddi is filled
> >  		 * with zero(INVALID PORT index).
> >  		 */
> > -		data->fw_ddi = MEI_DDI_INVALID_PORT;
> > +		data->fw_ddi = FW_DDI_INVALID_PORT;
> >
> >  	/*
> >  	 * As associated transcoder is set and modified at modeset, here fw_tc
> >  	 * is initialized to zero (invalid transcoder index). This will be
> >  	 * retained for <Gen12 forever.
> >  	 */
> > -	data->fw_tc = MEI_INVALID_TRANSCODER;
> > +	data->fw_tc = FW_INVALID_TRANSCODER;
> >
> >  	data->port_type = (u8)HDCP_PORT_TYPE_INTEGRATED;
> >  	data->protocol = (u8)shim->protocol; diff --git
> > a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
> > index 7e3cd3fd7f7b..7ca8b739cd31 100644
> > --- a/drivers/misc/mei/hdcp/mei_hdcp.c
> > +++ b/drivers/misc/mei/hdcp/mei_hdcp.c
> > @@ -715,7 +715,7 @@ mei_hdcp_close_session(struct device *dev, struct
> hdcp_port_data *data)
> >  	return 0;
> >  }
> >
> > -static const struct i915_hdcp_component_ops mei_hdcp_ops = {
> > +static const struct i915_hdcp_fw_ops mei_hdcp_ops = {
> >  	.owner = THIS_MODULE,
> >  	.initiate_hdcp2_session = mei_hdcp_initiate_session,
> >  	.verify_receiver_cert_prepare_km =
> > @@ -735,13 +735,13 @@ static const struct i915_hdcp_component_ops
> > mei_hdcp_ops = {  static int mei_component_master_bind(struct device
> > *dev)  {
> >  	struct mei_cl_device *cldev = to_mei_cl_device(dev);
> > -	struct i915_hdcp_comp_master *comp_master =
> > +	struct i915_hdcp_fw_master *comp_master =
> >
> 	mei_cldev_get_drvdata(cldev);
> >  	int ret;
> >
> >  	dev_dbg(dev, "%s\n", __func__);
> >  	comp_master->ops = &mei_hdcp_ops;
> > -	comp_master->mei_dev = dev;
> > +	comp_master->fw_dev = dev;
> >  	ret = component_bind_all(dev, comp_master);
> >  	if (ret < 0)
> >  		return ret;
> > @@ -752,7 +752,7 @@ static int mei_component_master_bind(struct device
> > *dev)  static void mei_component_master_unbind(struct device *dev)  {
> >  	struct mei_cl_device *cldev = to_mei_cl_device(dev);
> > -	struct i915_hdcp_comp_master *comp_master =
> > +	struct i915_hdcp_fw_master *comp_master =
> >
> 	mei_cldev_get_drvdata(cldev);
> >
> >  	dev_dbg(dev, "%s\n", __func__);
> > @@ -801,7 +801,7 @@ static int mei_hdcp_component_match(struct device
> > *dev, int subcomponent,  static int mei_hdcp_probe(struct mei_cl_device
> *cldev,
> >  			  const struct mei_cl_device_id *id)  {
> > -	struct i915_hdcp_comp_master *comp_master;
> > +	struct i915_hdcp_fw_master *comp_master;
> >  	struct component_match *master_match;
> >  	int ret;
> >
> > @@ -846,7 +846,7 @@ static int mei_hdcp_probe(struct mei_cl_device
> > *cldev,
> >
> >  static void mei_hdcp_remove(struct mei_cl_device *cldev)  {
> > -	struct i915_hdcp_comp_master *comp_master =
> > +	struct i915_hdcp_fw_master *comp_master =
> >
> 	mei_cldev_get_drvdata(cldev);
> >  	int ret;
> >
> > diff --git a/include/drm/i915_cp_fw_hdcp_interface.h
> > b/include/drm/i915_cp_fw_hdcp_interface.h
> > index e5dc6b985b2f..3abfe6d414b8 100644
> > --- a/include/drm/i915_cp_fw_hdcp_interface.h
> > +++ b/include/drm/i915_cp_fw_hdcp_interface.h
> > @@ -41,38 +41,38 @@ enum hdcp_wired_protocol {
> >  	HDCP_PROTOCOL_DP
> >  };
> >
> > -enum mei_fw_ddi {
> > -	MEI_DDI_INVALID_PORT = 0x0,
> > +enum cp_fw_ddi {
> > +	FW_DDI_INVALID_PORT = 0x0,
> >
> > -	MEI_DDI_B = 1,
> > -	MEI_DDI_C,
> > -	MEI_DDI_D,
> > -	MEI_DDI_E,
> > -	MEI_DDI_F,
> > -	MEI_DDI_A = 7,
> > -	MEI_DDI_RANGE_END = MEI_DDI_A,
> > +	FW_DDI_B = 1,
> > +	FW_DDI_C,
> > +	FW_DDI_D,
> > +	FW_DDI_E,
> > +	FW_DDI_F,
> > +	FW_DDI_A = 7,
> > +	FW_DDI_RANGE_END = FW_DDI_A,
> >  };
> >
> >  /**
> >   * enum mei_fw_tc - ME Firmware defined index for transcoders
> > - * @MEI_INVALID_TRANSCODER: Index for Invalid transcoder
> > - * @MEI_TRANSCODER_EDP: Index for EDP Transcoder
> > - * @MEI_TRANSCODER_DSI0: Index for DSI0 Transcoder
> > - * @MEI_TRANSCODER_DSI1: Index for DSI1 Transcoder
> > - * @MEI_TRANSCODER_A: Index for Transcoder A
> > - * @MEI_TRANSCODER_B: Index for Transcoder B
> > - * @MEI_TRANSCODER_C: Index for Transcoder C
> > - * @MEI_TRANSCODER_D: Index for Transcoder D
> > + * @FW_INVALID_TRANSCODER: Index for Invalid transcoder
> > + * @FW_TRANSCODER_EDP: Index for EDP Transcoder
> > + * @FW_TRANSCODER_DSI0: Index for DSI0 Transcoder
> > + * @FW_TRANSCODER_DSI1: Index for DSI1 Transcoder
> > + * @FW_TRANSCODER_A: Index for Transcoder A
> > + * @FW_TRANSCODER_B: Index for Transcoder B
> > + * @FW_TRANSCODER_C: Index for Transcoder C
> > + * @FW_TRANSCODER_D: Index for Transcoder D
> >   */
> > -enum mei_fw_tc {
> > -	MEI_INVALID_TRANSCODER = 0x00,
> > -	MEI_TRANSCODER_EDP,
> > -	MEI_TRANSCODER_DSI0,
> > -	MEI_TRANSCODER_DSI1,
> > -	MEI_TRANSCODER_A = 0x10,
> > -	MEI_TRANSCODER_B,
> > -	MEI_TRANSCODER_C,
> > -	MEI_TRANSCODER_D
> > +enum cp_fw_tc {
> > +	FW_INVALID_TRANSCODER = 0x00,
> > +	FW_TRANSCODER_EDP,
> > +	FW_TRANSCODER_DSI0,
> > +	FW_TRANSCODER_DSI1,
> > +	FW_TRANSCODER_A = 0x10,
> > +	FW_TRANSCODER_B,
> > +	FW_TRANSCODER_C,
> > +	FW_TRANSCODER_D
> >  };
> >
> >  /**
> > @@ -90,8 +90,8 @@ enum mei_fw_tc {
> >   *	     streams
> >   */
> >  struct hdcp_port_data {
> > -	enum mei_fw_ddi fw_ddi;
> > -	enum mei_fw_tc fw_tc;
> > +	enum cp_fw_ddi fw_ddi;
> > +	enum cp_fw_tc fw_tc;
> >  	u8 port_type;
> >  	u8 protocol;
> >  	u16 k;
> > @@ -119,7 +119,7 @@ struct hdcp_port_data {
> >   * @close_hdcp_session: Close the Wired HDCP Tx session per port.
> >   *			This also disables the authenticated state of the port.
> >   */
> > -struct i915_hdcp_component_ops {
> > +struct i915_hdcp_fw_ops {
> >  	/**
> >  	 * @owner: mei_hdcp module
> >  	 */
> > @@ -168,14 +168,14 @@ struct i915_hdcp_component_ops {  };
> >
> >  /**
> > - * struct i915_hdcp_component_master - Used for communication between
> > i915
> > - * and mei_hdcp drivers for the HDCP2.2 services
> > - * @mei_dev: device that provide the HDCP2.2 service from MEI Bus.
> > + * struct i915_hdcp_fw_master - Used for communication between i915
> > + * and cp fw hdcp intf driver like mei_hdcp for the HDCP2.2 services
> > + * @fw_dev: device that provide the HDCP2.2 service from CP FW interface.
> >   * @hdcp_ops: Ops implemented by mei_hdcp driver, used by i915 driver.
> >   */
> > -struct i915_hdcp_comp_master {
> > -	struct device *mei_dev;
> > -	const struct i915_hdcp_component_ops *ops;
> > +struct i915_hdcp_fw_master {
> > +	struct device *fw_dev;
> > +	const struct i915_hdcp_fw_ops *ops;
> >
> >  	/* To protect the above members. */
> >  	struct mutex mutex;
> 
> --
> Jani Nikula, Intel Open Source Graphics Center




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux