[RFC v1 06/20] drm/hdcp: display driver callback funcs defined

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

 



Callback functions for Platform specific services are defined. These
pointers has to be initialized from display driver's hdcp_init and
passed onto drm_hdcp_init.

drm_hdcp_funcs will have pointers of functions common for all HDCP
versions supported on that platform.

Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx>
---
 include/drm/drm_hdcp.h | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/include/drm/drm_hdcp.h b/include/drm/drm_hdcp.h
index bf77d37..2a48ef9 100644
--- a/include/drm/drm_hdcp.h
+++ b/include/drm/drm_hdcp.h
@@ -28,6 +28,7 @@
 #define __DRM_HDCP_H__
 
 struct drm_connector;
+struct drm_hdcp;
 
 /**
  * HDCP Software stack specific
@@ -67,6 +68,43 @@ enum wired_protocol {
 	WIRED_PROTOCOL_DP
 };
 
+struct drm_hdcp_funcs {
+
+	/**
+	 * @link_write:
+	 *
+	 * Service Function to implement the HDCP protocol write on
+	 * I2C/AUX bus based on HDCP protocol.
+	 *
+	 * returns No of Bytes written on success
+	 *		else negative error codes
+	 **/
+	ssize_t (*link_write)(struct drm_hdcp *hdcp, uint32_t offset,
+			void *buf, size_t size);
+
+	/**
+	 * @link_read:
+	 *
+	 * Service Function to implement the HDCP protocol read on
+	 * I2C/AUX bus based on HDCP protocol.
+	 *
+	 * returns No of Bytes read on success
+	 *		else negative error codes
+	 **/
+	ssize_t (*link_read)(struct drm_hdcp *hdcp, uint32_t offset,
+			void *buf, size_t size);
+
+	/**
+	 * @late_init:
+	 *
+	 * Service function to do any deferred init at platform level.
+	 *
+	 * returns 0 on success
+	 *		else negative error codes
+	 **/
+	int (*late_init)(struct drm_hdcp *hdcp);
+};
+
 /**
  * Struct drm_hdcp - central drm hdcp control structure
  */
@@ -83,6 +121,8 @@ struct drm_hdcp {
 	/* HDMI/DP Protocol */
 	enum wired_protocol protocol;
 
+	const struct drm_hdcp_funcs *hdcp_funcs;
+
 	struct mutex mutex;
 };
 
-- 
2.7.4

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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux