Generic HDCP enable disable and late_init implemented.
When new HDCP version support is added to general stack corresponding
enable, disable and late_init will be invoked from these
implementation.

Signed-off-by: Ramalingam C <ramalinga...@intel.com>
---
 drivers/gpu/drm/drm_hdcp.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/drivers/gpu/drm/drm_hdcp.c b/drivers/gpu/drm/drm_hdcp.c
index 481bc24..ab80370 100644
--- a/drivers/gpu/drm/drm_hdcp.c
+++ b/drivers/gpu/drm/drm_hdcp.c
@@ -30,6 +30,57 @@
 #include <drm/drm_hdcp.h>
 #include <drm/drm_dp_helper.h>
 
+int drm_hdcp_enable(struct drm_connector *connector, uint8_t stream_type)
+{
+       struct drm_hdcp *hdcp = connector->hdcp;
+       int ret = -EINVAL;
+
+       if (!hdcp)
+               return ret;
+
+       if (connector->status != connector_status_connected) {
+               DRM_ERROR("Panel is not connected\n");
+               return ret;
+       }
+
+       /*
+        * TODO: Invoke the Version specific hdcp_enable
+        */
+
+       return 0;
+}
+
+int drm_hdcp_disable(struct drm_connector *connector)
+{
+       struct drm_hdcp *hdcp = connector->hdcp;
+
+       /* Skip if HDCP is not enabled or HDCP enable is not in progress */
+       if (!(connector->hdcp_state & DRM_HDCP_ENABLE ||
+                       (hdcp->req_state & DRM_HDCP_ENABLE &&
+                               connector->hdcp_state & DRM_HDCP_WIP))) {
+               DRM_ERROR("HDCP is not enabled\n");
+               return 0;
+       }
+
+       /*
+        * TODO: Invoke the Version specific hdcp_disable
+        */
+
+       return 0;
+}
+
+void drm_hdcp_late_init(struct drm_connector *connector)
+{
+       struct drm_hdcp *hdcp = connector->hdcp;
+
+       if (hdcp->hdcp_funcs->late_init)
+               hdcp->hdcp_funcs->late_init(hdcp);
+
+       /*
+        * TODO: Invoke the Version specific late_init
+        */
+}
+
 /**
  * @drm_hdcp_init:
  *     Initialization of the HDCP stack of the DRM
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to