Structure drm_hdcp is defined to represent the HDCP state
of the connector. drm_connector will have a pointer to an instance
of this structure.

This will be used to hold all specification related information
along with state machine parameters.

Signed-off-by: Ramalingam C <ramalinga...@intel.com>
---
 include/drm/drm_connector.h |  5 +++++
 include/drm/drm_hdcp.h      | 39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+)

diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index ae5b7dc..45911db 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -27,6 +27,7 @@
 #include <linux/ctype.h>
 #include <linux/hdmi.h>
 #include <drm/drm_mode_object.h>
+#include <drm/drm_hdcp.h>
 
 #include <uapi/drm/drm_mode.h>
 
@@ -867,6 +868,10 @@ struct drm_connector {
         */
        struct drm_connector_state *state;
 
+       /* HDCP representation on the connector */
+       struct drm_hdcp *hdcp;
+       uint64_t hdcp_state;
+
        /* DisplayID bits */
        bool has_tile;
        struct drm_tile_group *tile_group;
diff --git a/include/drm/drm_hdcp.h b/include/drm/drm_hdcp.h
index 7cebf0f..92fd933 100644
--- a/include/drm/drm_hdcp.h
+++ b/include/drm/drm_hdcp.h
@@ -27,6 +27,45 @@
 #ifndef __DRM_HDCP_H__
 #define __DRM_HDCP_H__
 
+struct drm_connector;
+
+/**
+ * HDCP Software stack specific
+ */
+/* Bit mask for HDCP spec ver support */
+#define HDCP_1_4_SUPPORT                       (1<<0)
+#define HDCP_2_2_SUPPORT                       (1<<1)
+
+/**
+ * wired_protocol: Supported integrated wired HDCP protocol.
+ * Based on this value, Minor differenceneeded between wired specifications
+ * are handled.
+ */
+enum wired_protocol {
+       WIRED_PROTOCOL_INVALID,
+       WIRED_PROTOCOL_HDMI,
+       WIRED_PROTOCOL_DP
+};
+
+/**
+ * Struct drm_hdcp - central drm hdcp control structure
+ */
+struct drm_hdcp {
+       struct drm_connector *connector;
+
+       /* HDCP Specifications support flag */
+       uint32_t ver_support_on_plat;
+       uint32_t ver_support_on_panel;
+
+       /* HDCP requested state and also the current state */
+       uint64_t req_state;
+
+       /* HDMI/DP Protocol */
+       enum wired_protocol protocol;
+
+       struct mutex mutex;
+};
+
 /**
  * HDCP property related information
  */
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to