diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/hdcp_qseecom.h | 97 |
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, |
