Message ID | 1531538117-1606-5-git-send-email-ramalingam.c@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
>-----Original Message----- >From: C, Ramalingam >Sent: Saturday, July 14, 2018 8:45 AM >To: intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org; >daniel@ffwll.ch; seanpaul@chromium.org; Winkler, Tomas ><tomas.winkler@intel.com>; Usyskin, Alexander <alexander.usyskin@intel.com>; >Shankar, Uma <uma.shankar@intel.com> >Cc: Sharma, Shashank <shashank.sharma@intel.com>; C, Ramalingam ><ramalingam.c@intel.com> >Subject: [PATCH v6 04/35] linux/mei: Header for mei_hdcp driver interface > >Data structures and Enum for the I915-MEI_HDCP interface are defined at ><linux/mei_hdcp.h> > >v2: > Rebased. >v3: > mei_cl_device is removed from mei_hdcp_data [Tomas] >v4: > Comment style and typo fixed [Uma] >v5: > Rebased. >v6: > No changes. > >Signed-off-by: Ramalingam C <ramalingam.c@intel.com> >--- > include/linux/mei_hdcp.h | 100 >+++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 100 insertions(+) > create mode 100644 include/linux/mei_hdcp.h > >diff --git a/include/linux/mei_hdcp.h b/include/linux/mei_hdcp.h new file mode >100644 index 000000000000..f993e389d7cf >--- /dev/null >+++ b/include/linux/mei_hdcp.h >@@ -0,0 +1,100 @@ >+/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ >+/* >+ * Copyright © 2017-2018 Intel Corporation >+ * >+ * Permission to use, copy, modify, distribute, and sell this software >+and its >+ * documentation for any purpose is hereby granted without fee, >+provided that >+ * the above copyright notice appear in all copies and that both that >+copyright >+ * notice and this permission notice appear in supporting >+documentation, and >+ * that the name of the copyright holders not be used in advertising or >+ * publicity pertaining to distribution of the software without >+specific, >+ * written prior permission. The copyright holders make no >+representations >+ * about the suitability of this software for any purpose. It is >+provided "as >+ * is" without express or implied warranty. >+ * >+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO >THIS >+SOFTWARE, >+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, >IN >+NO >+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, >+INDIRECT OR >+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING >FROM LOSS >+OF USE, >+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR >+OTHER >+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR >+PERFORMANCE >+ * OF THIS SOFTWARE. >+ * >+ * Authors: >+ * Ramalingam C <ramalingam.c@intel.com> >+ */ >+ >+#ifndef _LINUX_MEI_HDCP_H >+#define _LINUX_MEI_HDCP_H >+ >+#include <linux/mei_cl_bus.h> >+ >+/* >+ * Enumeration of the physical DDI available on the platform */ enum No need of multi line comment style. >+hdcp_physical_port { >+ INVALID_PORT = 0x00, /* Not a valid port */ >+ >+ DDI_RANGE_BEGIN = 0x01, /* Beginning of the valid DDI port range >*/ >+ DDI_B = 0x01, /* Port DDI B */ >+ DDI_C = 0x02, /* Port DDI C */ >+ DDI_D = 0x03, /* Port DDI D */ >+ DDI_E = 0x04, /* Port DDI E */ >+ DDI_F = 0x05, /* Port DDI F */ >+ DDI_A = 0x07, /* Port DDI A */ >+ DDI_RANGE_END = DDI_A,/* End of the valid DDI port range */ >+}; >+ >+/* The types of HDCP 2.2 ports supported */ enum >+hdcp_integrated_port_type { >+ HDCP_INVALID_TYPE = 0x00, >+ >+ /* HDCP 2.x ports that are integrated into Intel HW */ >+ INTEGRATED = 0x01, >+ >+ /* HDCP2.2 discrete wired Tx port with LSPCON (HDMI 2.0) solution */ >+ LSPCON = 0x02, >+ >+ /* HDCP2.2 discrete wired Tx port using the CPDP (DP 1.3) solution */ >+ CPDP = 0x03, >+}; >+ >+/* >+ * wired_protocol: Supported integrated wired HDCP protocol. >+ * Based on this value, Minor difference needed between wired >+specifications >+ * are handled. >+ */ >+enum hdcp_protocol { >+ HDCP_PROTOCOL_INVALID, >+ HDCP_PROTOCOL_HDMI, >+ HDCP_PROTOCOL_DP >+}; >+ >+/* >+ * mei_hdcp_data: Input data to the mei_hdcp APIs. >+ */ No need of multi line comment. With above comments addressed. Reviewed-by: Uma Shankar <uma.shankar@intel.com> >+struct mei_hdcp_data { >+ enum hdcp_physical_port port; >+ enum hdcp_integrated_port_type port_type; >+ enum hdcp_protocol protocol; >+ >+ /* >+ * No of streams transmitted on a port. >+ * In case of HDMI & DP SST, single stream will be >+ * transmitted on a port. >+ */ >+ uint16_t k; >+ >+ /* >+ * 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; >+ >+ /* k(No of Streams per port) x structure of wired_streamid_type */ >+ struct hdcp2_streamid_type *streams; >+}; >+ >+#endif /* defined (_LINUX_MEI_HDCP_H) */ >-- >2.7.4
diff --git a/include/linux/mei_hdcp.h b/include/linux/mei_hdcp.h new file mode 100644 index 000000000000..f993e389d7cf --- /dev/null +++ b/include/linux/mei_hdcp.h @@ -0,0 +1,100 @@ +/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ +/* + * Copyright © 2017-2018 Intel Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + * + * Authors: + * Ramalingam C <ramalingam.c@intel.com> + */ + +#ifndef _LINUX_MEI_HDCP_H +#define _LINUX_MEI_HDCP_H + +#include <linux/mei_cl_bus.h> + +/* + * Enumeration of the physical DDI available on the platform + */ +enum hdcp_physical_port { + INVALID_PORT = 0x00, /* Not a valid port */ + + DDI_RANGE_BEGIN = 0x01, /* Beginning of the valid DDI port range */ + DDI_B = 0x01, /* Port DDI B */ + DDI_C = 0x02, /* Port DDI C */ + DDI_D = 0x03, /* Port DDI D */ + DDI_E = 0x04, /* Port DDI E */ + DDI_F = 0x05, /* Port DDI F */ + DDI_A = 0x07, /* Port DDI A */ + DDI_RANGE_END = DDI_A,/* End of the valid DDI port range */ +}; + +/* The types of HDCP 2.2 ports supported */ +enum hdcp_integrated_port_type { + HDCP_INVALID_TYPE = 0x00, + + /* HDCP 2.x ports that are integrated into Intel HW */ + INTEGRATED = 0x01, + + /* HDCP2.2 discrete wired Tx port with LSPCON (HDMI 2.0) solution */ + LSPCON = 0x02, + + /* HDCP2.2 discrete wired Tx port using the CPDP (DP 1.3) solution */ + CPDP = 0x03, +}; + +/* + * wired_protocol: Supported integrated wired HDCP protocol. + * Based on this value, Minor difference needed between wired specifications + * are handled. + */ +enum hdcp_protocol { + HDCP_PROTOCOL_INVALID, + HDCP_PROTOCOL_HDMI, + HDCP_PROTOCOL_DP +}; + +/* + * mei_hdcp_data: Input data to the mei_hdcp APIs. + */ +struct mei_hdcp_data { + enum hdcp_physical_port port; + enum hdcp_integrated_port_type port_type; + enum hdcp_protocol protocol; + + /* + * No of streams transmitted on a port. + * In case of HDMI & DP SST, single stream will be + * transmitted on a port. + */ + uint16_t k; + + /* + * 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; + + /* k(No of Streams per port) x structure of wired_streamid_type */ + struct hdcp2_streamid_type *streams; +}; + +#endif /* defined (_LINUX_MEI_HDCP_H) */
Data structures and Enum for the I915-MEI_HDCP interface are defined at <linux/mei_hdcp.h> v2: Rebased. v3: mei_cl_device is removed from mei_hdcp_data [Tomas] v4: Comment style and typo fixed [Uma] v5: Rebased. v6: No changes. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> --- include/linux/mei_hdcp.h | 100 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 include/linux/mei_hdcp.h