summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/hdcp_qseecom.h97
1 files changed, 58 insertions, 39 deletions
diff --git a/include/linux/hdcp_qseecom.h b/include/linux/hdcp_qseecom.h
index 8d7f19ad97ff..51cc4a1b6e6e 100644
--- a/include/linux/hdcp_qseecom.h
+++ b/include/linux/hdcp_qseecom.h
@@ -15,63 +15,83 @@
#include <linux/types.h>
enum hdcp_lib_wakeup_cmd {
- HDCP_WKUP_CMD_START,
- HDCP_WKUP_CMD_STOP,
- HDCP_WKUP_CMD_MSG_SEND_SUCCESS,
- HDCP_WKUP_CMD_MSG_SEND_FAILED,
- HDCP_WKUP_CMD_MSG_RECV_SUCCESS,
- HDCP_WKUP_CMD_MSG_RECV_FAILED,
- HDCP_WKUP_CMD_MSG_RECV_TIMEOUT,
+ HDCP_LIB_WKUP_CMD_INVALID,
+ HDCP_LIB_WKUP_CMD_START,
+ HDCP_LIB_WKUP_CMD_STOP,
+ HDCP_LIB_WKUP_CMD_MSG_SEND_SUCCESS,
+ HDCP_LIB_WKUP_CMD_MSG_SEND_FAILED,
+ HDCP_LIB_WKUP_CMD_MSG_RECV_SUCCESS,
+ HDCP_LIB_WKUP_CMD_MSG_RECV_FAILED,
+ HDCP_LIB_WKUP_CMD_MSG_RECV_TIMEOUT,
};
-enum hdmi_hdcp_cmd {
- HDMI_HDCP_SEND_MESSAGE,
- HDMI_HDCP_RECV_MESSAGE,
- HDMI_HDCP_STATUS_SUCCESS,
- HDMI_HDCP_STATUS_FAIL
+enum hdmi_hdcp_wakeup_cmd {
+ HDMI_HDCP_WKUP_CMD_INVALID,
+ HDMI_HDCP_WKUP_CMD_SEND_MESSAGE,
+ HDMI_HDCP_WKUP_CMD_RECV_MESSAGE,
+ HDMI_HDCP_WKUP_CMD_STATUS_SUCCESS,
+ HDMI_HDCP_WKUP_CMD_STATUS_FAILED,
+ HDMI_HDCP_WKUP_CMD_AUTHENTICATE
+};
+
+struct hdcp_lib_wakeup_data {
+ enum hdcp_lib_wakeup_cmd cmd;
+ void *context;
+ char *recvd_msg_buf;
+ uint32_t recvd_msg_len;
+ uint32_t timeout;
+};
+
+struct hdmi_hdcp_wakeup_data {
+ enum hdmi_hdcp_wakeup_cmd cmd;
+ void *context;
+ char *send_msg_buf;
+ uint32_t send_msg_len;
+ uint32_t timeout;
};
static inline char *hdmi_hdcp_cmd_to_str(uint32_t cmd)
{
switch (cmd) {
- case HDMI_HDCP_SEND_MESSAGE:
- return "HDMI_HDCP_SEND_MESSAGE";
- case HDMI_HDCP_RECV_MESSAGE:
- return "HDMI_HDCP_RECV_MESSAGE";
- case HDMI_HDCP_STATUS_SUCCESS:
- return "HDMI_HDCP_STATUS_SUCCESS";
- case HDMI_HDCP_STATUS_FAIL:
- return "HDMI_HDCP_STATUS_FAIL";
+ case HDMI_HDCP_WKUP_CMD_SEND_MESSAGE:
+ return "HDMI_HDCP_WKUP_CMD_SEND_MESSAGE";
+ case HDMI_HDCP_WKUP_CMD_RECV_MESSAGE:
+ return "HDMI_HDCP_WKUP_CMD_RECV_MESSAGE";
+ case HDMI_HDCP_WKUP_CMD_STATUS_SUCCESS:
+ return "HDMI_HDCP_WKUP_CMD_STATUS_SUCCESS";
+ case HDMI_HDCP_WKUP_CMD_STATUS_FAILED:
+ return "HDMI_HDCP_WKUP_CMD_STATUS_FAIL";
+ case HDMI_HDCP_WKUP_CMD_AUTHENTICATE:
+ return "HDMI_HDCP_WKUP_CMD_AUTHENTICATE";
default:
return "???";
}
}
-static inline char *hdcp_cmd_to_str(uint32_t cmd)
+static inline char *hdcp_lib_cmd_to_str(uint32_t cmd)
{
switch (cmd) {
- case HDCP_WKUP_CMD_START:
- return "HDCP_WKUP_CMD_START";
- case HDCP_WKUP_CMD_STOP:
- return "HDCP_WKUP_CMD_STOP";
- case HDCP_WKUP_CMD_MSG_SEND_SUCCESS:
- return "HDCP_WKUP_CMD_MSG_SEND_SUCCESS";
- case HDCP_WKUP_CMD_MSG_SEND_FAILED:
- return "HDCP_WKUP_CMD_MSG_SEND_FAILED";
- case HDCP_WKUP_CMD_MSG_RECV_SUCCESS:
- return "HDCP_WKUP_CMD_MSG_RECV_SUCCESS";
- case HDCP_WKUP_CMD_MSG_RECV_FAILED:
- return "HDCP_WKUP_CMD_MSG_RECV_FAILED";
- case HDCP_WKUP_CMD_MSG_RECV_TIMEOUT:
- return "HDCP_WKUP_CMD_MSG_RECV_TIMEOUT";
+ case HDCP_LIB_WKUP_CMD_START:
+ return "HDCP_LIB_WKUP_CMD_START";
+ case HDCP_LIB_WKUP_CMD_STOP:
+ return "HDCP_LIB_WKUP_CMD_STOP";
+ case HDCP_LIB_WKUP_CMD_MSG_SEND_SUCCESS:
+ return "HDCP_LIB_WKUP_CMD_MSG_SEND_SUCCESS";
+ case HDCP_LIB_WKUP_CMD_MSG_SEND_FAILED:
+ return "HDCP_LIB_WKUP_CMD_MSG_SEND_FAILED";
+ case HDCP_LIB_WKUP_CMD_MSG_RECV_SUCCESS:
+ return "HDCP_LIB_WKUP_CMD_MSG_RECV_SUCCESS";
+ case HDCP_LIB_WKUP_CMD_MSG_RECV_FAILED:
+ return "HDCP_LIB_WKUP_CMD_MSG_RECV_FAILED";
+ case HDCP_LIB_WKUP_CMD_MSG_RECV_TIMEOUT:
+ return "HDCP_LIB_WKUP_CMD_MSG_RECV_TIMEOUT";
default:
return "???";
}
}
struct hdcp_txmtr_ops {
- int (*wakeup)(void *phdcpcontext, enum hdcp_lib_wakeup_cmd cmd,
- char *msg, uint32_t len);
+ int (*wakeup)(struct hdcp_lib_wakeup_data *data);
bool (*feature_supported)(void *phdcpcontext);
int (*hdcp_txmtr_get_state)(void *phdcpcontext,
@@ -80,8 +100,7 @@ struct hdcp_txmtr_ops {
};
struct hdcp_client_ops {
- int (*wakeup)(void *client_ctx, enum hdmi_hdcp_cmd cmd,
- char *msg, uint32_t msglen, uint32_t timeout);
+ int (*wakeup)(struct hdmi_hdcp_wakeup_data *data);
};
int hdcp_library_register(void **pphdcpcontext,