[RFC v1 04/20] drm/hdcp: Struct drm_hdcp for connector's hdcp state
Ramalingam C
ramalingam.c at intel.com
Wed Jul 12 08:28:48 UTC 2017
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 <ramalingam.c at 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
More information about the dri-devel
mailing list