Message ID | 1530088829-11730-7-git-send-email-ramalingam.c@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Jun 27, 2018 at 02:09:55PM +0530, Ramalingam C wrote: > For upcoming implementation of HDCP2.2 in I915, important variable > required for HDCP2.2 are defined. Please just introduce them when you use them. I can't provide useful review on this patch unless I can see how the variables are used. This will also reduce the series size, which is an added bonus for reviewers :-) Sean > > HDCP_shim is extended to support encoder specific HDCP2.2 flows. > > v2: > 1.4 shim is extended to support hdcp2.2. [Sean Paul] > platform's/panel's hdcp ver capability is removed. [Sean Paul] > mei references in i915_private are moved to later patches. [Chris Wilson] > v3: > mei_cl_device ref is moved into intel_hdcp > v4: > Extra * in comment is removed [Uma] > v5: > No Change. > > Signed-off-by: Ramalingam C <ramalingam.c@intel.com> > --- > drivers/gpu/drm/i915/intel_drv.h | 61 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 61 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h > index eb480574a92e..b615ea4a44c3 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -29,6 +29,7 @@ > #include <linux/i2c.h> > #include <linux/hdmi.h> > #include <linux/sched/clock.h> > +#include <linux/mei_hdcp.h> > #include <drm/i915_drm.h> > #include "i915_drv.h" > #include <drm/drm_crtc.h> > @@ -375,6 +376,32 @@ struct intel_hdcp_shim { > /* Detects panel's hdcp capability. This is optional for HDMI. */ > int (*hdcp_capable)(struct intel_digital_port *intel_dig_port, > bool *hdcp_capable); > + > + /* Write HDCP2.2 messages */ > + int (*write_2_2_msg)(struct intel_digital_port *intel_dig_port, > + void *buf, size_t size); > + > + /* Read HDCP2.2 messages */ > + int (*read_2_2_msg)(struct intel_digital_port *intel_dig_port, > + uint8_t msg_id, void *buf, size_t size); > + > + /* > + * Implementation of DP HDCP2.2 Errata for the communication of stream > + * type to Receivers. In DP HDCP2.2 Stream type is one of the input to > + * the HDCP2.2 Chiper for En/De-Cryption. Not applicable for HDMI. > + */ > + int (*config_stream_type)(struct intel_digital_port *intel_dig_port, > + void *buf, size_t size); > + > + /* HDCP2.2 Link Integrity Check */ > + int (*check_2_2_link)(struct intel_digital_port *intel_dig_port); > + > + /* Detects whether Panel is HDCP2.2 capable */ > + int (*hdcp_2_2_capable)(struct intel_digital_port *intel_dig_port, > + bool *capable); > + > + /* Detects the HDCP protocol(DP/HDMI) required on the port */ > + enum hdcp_protocol (*hdcp_protocol)(void); > }; > > struct intel_hdcp { > @@ -384,6 +411,40 @@ struct intel_hdcp { > uint64_t hdcp_value; > struct delayed_work hdcp_check_work; > struct work_struct hdcp_prop_work; > + > + /* HDCP2.2 related definitions */ > + bool hdcp2_supported; > + > + /* > + * Content Stream Type defined by content owner. TYPE0(0x0) content can > + * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1) > + * content can flow only through a link protected by HDCP2.2. > + */ > + u8 content_type; > + > + bool is_paired; > + bool is_repeater; > + > + /* > + * Count of ReceiverID_List received. Initialized to 0 at AKE_INIT. > + * Incremented after processing the RepeaterAuth_Send_ReceiverID_List. > + * When it rolls over re-auth has to be triggered. > + */ > + uint32_t seq_num_v; > + > + /* > + * Count of RepeaterAuth_Stream_Manage msg propagated. > + * Initialized to 0 on AKE_INIT. Incremented after every successful > + * transmission of RepeaterAuth_Stream_Manage message. When it rolls > + * over re-Auth has to be triggered. > + */ > + uint32_t seq_num_m; > + > + /* mei interface related information */ > + struct mei_cl_device *cldev; > + struct mei_hdcp_data mei_data; > + > + struct delayed_work hdcp2_check_work; > }; > > struct intel_connector { > -- > 2.7.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Tuesday 10 July 2018 02:01 AM, Sean Paul wrote: > On Wed, Jun 27, 2018 at 02:09:55PM +0530, Ramalingam C wrote: >> For upcoming implementation of HDCP2.2 in I915, important variable >> required for HDCP2.2 are defined. > Please just introduce them when you use them. I can't provide useful review on > this patch unless I can see how the variables are used. This will also reduce > the series size, which is an added bonus for reviewers :-) Squashed these change into the subsequent patches. Ram. > > Sean > >> HDCP_shim is extended to support encoder specific HDCP2.2 flows. >> >> v2: >> 1.4 shim is extended to support hdcp2.2. [Sean Paul] >> platform's/panel's hdcp ver capability is removed. [Sean Paul] >> mei references in i915_private are moved to later patches. [Chris Wilson] >> v3: >> mei_cl_device ref is moved into intel_hdcp >> v4: >> Extra * in comment is removed [Uma] >> v5: >> No Change. >> >> Signed-off-by: Ramalingam C <ramalingam.c@intel.com> >> --- >> drivers/gpu/drm/i915/intel_drv.h | 61 ++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 61 insertions(+) >> >> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h >> index eb480574a92e..b615ea4a44c3 100644 >> --- a/drivers/gpu/drm/i915/intel_drv.h >> +++ b/drivers/gpu/drm/i915/intel_drv.h >> @@ -29,6 +29,7 @@ >> #include <linux/i2c.h> >> #include <linux/hdmi.h> >> #include <linux/sched/clock.h> >> +#include <linux/mei_hdcp.h> >> #include <drm/i915_drm.h> >> #include "i915_drv.h" >> #include <drm/drm_crtc.h> >> @@ -375,6 +376,32 @@ struct intel_hdcp_shim { >> /* Detects panel's hdcp capability. This is optional for HDMI. */ >> int (*hdcp_capable)(struct intel_digital_port *intel_dig_port, >> bool *hdcp_capable); >> + >> + /* Write HDCP2.2 messages */ >> + int (*write_2_2_msg)(struct intel_digital_port *intel_dig_port, >> + void *buf, size_t size); >> + >> + /* Read HDCP2.2 messages */ >> + int (*read_2_2_msg)(struct intel_digital_port *intel_dig_port, >> + uint8_t msg_id, void *buf, size_t size); >> + >> + /* >> + * Implementation of DP HDCP2.2 Errata for the communication of stream >> + * type to Receivers. In DP HDCP2.2 Stream type is one of the input to >> + * the HDCP2.2 Chiper for En/De-Cryption. Not applicable for HDMI. >> + */ >> + int (*config_stream_type)(struct intel_digital_port *intel_dig_port, >> + void *buf, size_t size); >> + >> + /* HDCP2.2 Link Integrity Check */ >> + int (*check_2_2_link)(struct intel_digital_port *intel_dig_port); >> + >> + /* Detects whether Panel is HDCP2.2 capable */ >> + int (*hdcp_2_2_capable)(struct intel_digital_port *intel_dig_port, >> + bool *capable); >> + >> + /* Detects the HDCP protocol(DP/HDMI) required on the port */ >> + enum hdcp_protocol (*hdcp_protocol)(void); >> }; >> >> struct intel_hdcp { >> @@ -384,6 +411,40 @@ struct intel_hdcp { >> uint64_t hdcp_value; >> struct delayed_work hdcp_check_work; >> struct work_struct hdcp_prop_work; >> + >> + /* HDCP2.2 related definitions */ >> + bool hdcp2_supported; >> + >> + /* >> + * Content Stream Type defined by content owner. TYPE0(0x0) content can >> + * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1) >> + * content can flow only through a link protected by HDCP2.2. >> + */ >> + u8 content_type; >> + >> + bool is_paired; >> + bool is_repeater; >> + >> + /* >> + * Count of ReceiverID_List received. Initialized to 0 at AKE_INIT. >> + * Incremented after processing the RepeaterAuth_Send_ReceiverID_List. >> + * When it rolls over re-auth has to be triggered. >> + */ >> + uint32_t seq_num_v; >> + >> + /* >> + * Count of RepeaterAuth_Stream_Manage msg propagated. >> + * Initialized to 0 on AKE_INIT. Incremented after every successful >> + * transmission of RepeaterAuth_Stream_Manage message. When it rolls >> + * over re-Auth has to be triggered. >> + */ >> + uint32_t seq_num_m; >> + >> + /* mei interface related information */ >> + struct mei_cl_device *cldev; >> + struct mei_hdcp_data mei_data; >> + >> + struct delayed_work hdcp2_check_work; >> }; >> >> struct intel_connector { >> -- >> 2.7.4 >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index eb480574a92e..b615ea4a44c3 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -29,6 +29,7 @@ #include <linux/i2c.h> #include <linux/hdmi.h> #include <linux/sched/clock.h> +#include <linux/mei_hdcp.h> #include <drm/i915_drm.h> #include "i915_drv.h" #include <drm/drm_crtc.h> @@ -375,6 +376,32 @@ struct intel_hdcp_shim { /* Detects panel's hdcp capability. This is optional for HDMI. */ int (*hdcp_capable)(struct intel_digital_port *intel_dig_port, bool *hdcp_capable); + + /* Write HDCP2.2 messages */ + int (*write_2_2_msg)(struct intel_digital_port *intel_dig_port, + void *buf, size_t size); + + /* Read HDCP2.2 messages */ + int (*read_2_2_msg)(struct intel_digital_port *intel_dig_port, + uint8_t msg_id, void *buf, size_t size); + + /* + * Implementation of DP HDCP2.2 Errata for the communication of stream + * type to Receivers. In DP HDCP2.2 Stream type is one of the input to + * the HDCP2.2 Chiper for En/De-Cryption. Not applicable for HDMI. + */ + int (*config_stream_type)(struct intel_digital_port *intel_dig_port, + void *buf, size_t size); + + /* HDCP2.2 Link Integrity Check */ + int (*check_2_2_link)(struct intel_digital_port *intel_dig_port); + + /* Detects whether Panel is HDCP2.2 capable */ + int (*hdcp_2_2_capable)(struct intel_digital_port *intel_dig_port, + bool *capable); + + /* Detects the HDCP protocol(DP/HDMI) required on the port */ + enum hdcp_protocol (*hdcp_protocol)(void); }; struct intel_hdcp { @@ -384,6 +411,40 @@ struct intel_hdcp { uint64_t hdcp_value; struct delayed_work hdcp_check_work; struct work_struct hdcp_prop_work; + + /* HDCP2.2 related definitions */ + bool hdcp2_supported; + + /* + * Content Stream Type defined by content owner. TYPE0(0x0) content can + * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1) + * content can flow only through a link protected by HDCP2.2. + */ + u8 content_type; + + bool is_paired; + bool is_repeater; + + /* + * Count of ReceiverID_List received. Initialized to 0 at AKE_INIT. + * Incremented after processing the RepeaterAuth_Send_ReceiverID_List. + * When it rolls over re-auth has to be triggered. + */ + uint32_t seq_num_v; + + /* + * Count of RepeaterAuth_Stream_Manage msg propagated. + * Initialized to 0 on AKE_INIT. Incremented after every successful + * transmission of RepeaterAuth_Stream_Manage message. When it rolls + * over re-Auth has to be triggered. + */ + uint32_t seq_num_m; + + /* mei interface related information */ + struct mei_cl_device *cldev; + struct mei_hdcp_data mei_data; + + struct delayed_work hdcp2_check_work; }; struct intel_connector {
For upcoming implementation of HDCP2.2 in I915, important variable required for HDCP2.2 are defined. HDCP_shim is extended to support encoder specific HDCP2.2 flows. v2: 1.4 shim is extended to support hdcp2.2. [Sean Paul] platform's/panel's hdcp ver capability is removed. [Sean Paul] mei references in i915_private are moved to later patches. [Chris Wilson] v3: mei_cl_device ref is moved into intel_hdcp v4: Extra * in comment is removed [Uma] v5: No Change. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> --- drivers/gpu/drm/i915/intel_drv.h | 61 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+)