1 #ifndef _UAPI__HDMI_HDCP_MGR_H
2 #define _UAPI__MSM_HDMI_HDCP_MGR_H
3 
4 enum DS_TYPE {  /* type of downstream device */
5 	DS_UNKNOWN,
6 	DS_RECEIVER,
7 	DS_REPEATER,
8 };
9 
10 enum {
11 	MSG_ID_IDX,
12 	RET_CODE_IDX,
13 	HEADER_LEN,
14 };
15 
16 enum RET_CODE {
17 	HDCP_NOT_AUTHED,
18 	HDCP_AUTHED,
19 	HDCP_DISABLE,
20 };
21 
22 enum MSG_ID { /* List of functions expected to be called after it */
23 	DOWN_CHECK_TOPOLOGY,
24 	UP_REQUEST_TOPOLOGY,
25 	UP_SEND_TOPOLOGY,
26 	DOWN_REQUEST_TOPOLOGY,
27 	MSG_NUM,
28 };
29 
30 enum SOURCE_ID {
31 	HDCP_V1_TX,
32 	HDCP_V1_RX,
33 	HDCP_V2_RX,
34 	HDCP_V2_TX,
35 	SRC_NUM,
36 };
37 
38 /*
39  * how to parse sysfs params buffer
40  * from hdcp_tx driver.
41  */
42 
43 struct HDCP_V2V1_MSG_TOPOLOGY {
44 	/* indicates downstream's type */
45 	uint32_t ds_type;
46 	uint8_t bksv[5];
47 	uint8_t dev_count;
48 	uint8_t depth;
49 	uint8_t ksv_list[5 * 127];
50 	uint32_t max_cascade_exceeded;
51 	uint32_t max_dev_exceeded;
52 };
53 
54 #endif /* _UAPI__MSM_HDMI_HDCP_MGR_H */
55