aboutsummaryrefslogtreecommitdiff
path: root/kernel-headers/cmdq_event.h
blob: 442e096ad0278d2c2709944e8ca7c962642d3df8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/* MDP start frame */
DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_RDMA0_SOF, 0)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_RSZ0_SOF, 1)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_RSZ1_SOF, 2)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DSI_TE, 3)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_WDMA_SOF, 4)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_WROT_SOF, 5)

/* Display start frame */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_OVL0_SOF, 6)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_RDMA0_SOF, 7)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_RDMA1_SOF, 8)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_WDMA0_SOF, 9)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_CCORR_SOF, 10)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_COLOR_SOF, 11)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_AAL_SOF, 12)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_GAMMA_SOF, 13)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_DITHER_SOF, 14)

    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_PWM0_SOF, 16)
    
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_OVL1_SOF, (-2))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_UFOE_SOF, (-3))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_WDMA1_SOF, (-4))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA0_L0_SOF, (-5))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA0_L1_SOF, (-6))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA0_L2_SOF, (-7))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA0_L3_SOF, (-8))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA1_L0_SOF, (-9))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA1_L1_SOF, (-10))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA1_L2_SOF, (-11))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA1_L3_SOF, (-12))

/* MDP frame done */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_RDMA0_EOF, 17)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_RSZ0_EOF, 18)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_RSZ1_EOF, 19)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_TDSHP_EOF, 20)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_WDMA_EOF, 21)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_WROT_WRITE_EOF, 22)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_WROT_READ_EOF, 23)

/* Display frame done */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_OVL0_EOF, 24)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_RDMA0_EOF, 25)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_RDMA1_EOF, 26)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_WDMA0_EOF, 27)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_CCORR_EOF, 28)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_COLOR_EOF, 29)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_AAL_EOF, 30)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_GAMMA_EOF, 31)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_DITHER_EOF, 32)

    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_DPI0_EOF, 34)
    
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_OVL1_EOF, (-13))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_UFOE_EOF, (-14))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_WDMA1_EOF, (-15))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA0_L0_EOF, (-16))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA0_L1_EOF, (-17))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA0_L2_EOF, (-18))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA0_L3_EOF, (-19))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA1_L0_EOF, (-20))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA1_L1_EOF, (-21))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA1_L2_EOF, (-22))
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_UFOD_RAMA1_L3_EOF, (-23))

/* Mutex frame done */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MUTEX0_STREAM_EOF, 35)/* DISPSYS */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MUTEX1_STREAM_EOF, 36)/* DISPSYS */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MUTEX2_STREAM_EOF, 37)/* DISPSYS */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MUTEX3_STREAM_EOF, 38)/* DISPSYS */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MUTEX4_STREAM_EOF, 39)/* DISPSYS, please refer to disp_hal.h */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MUTEX5_STREAM_EOF, 40)/* DpFramework */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MUTEX6_STREAM_EOF, 41)/* DpFramework */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MUTEX7_STREAM_EOF, 42)/* DpFramework */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MUTEX8_STREAM_EOF, 43)/* DpFramework */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MUTEX9_STREAM_EOF, 44)/* DpFramework via CMDQ_IOCTL_LOCK_MUTEX */

/* Display underrun */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_RDMA0_UNDERRUN, 45)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_DISP_RDMA1_UNDERRUN, 46)

/* Display TE */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_MDP_TDSHP_SOF, 47)

/* ISP frame done */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_ISP_PASS2_2_EOF, 65)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_ISP_PASS2_1_EOF, 66)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_ISP_PASS2_0_EOF, 67)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_ISP_PASS1_1_EOF, 68)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_ISP_PASS1_0_EOF, 69)

/* ISP engine events */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_ISP_CAMSV_2_PASS1_DONE, 70)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_ISP_CAMSV_1_PASS1_DONE, 71)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_ISP_SENINF_CAM1_2_3_FULL, 72)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_ISP_SENINF_CAM0_FULL, 73)

/* VENC frame done */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_VENC_EOF, 129)

/* JPEG frame done */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_JPEG_ENC_EOF, 130)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_JPEG_DEC_EOF, 131)

/* VENC engine events */
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_VENC_MB_DONE, 132)
    DECLARE_CMDQ_EVENT(CMDQ_EVENT_VENC_128BYTE_CNT_DONE, 133)

/* Keep this at the end of HW events */
    DECLARE_CMDQ_EVENT(CMDQ_MAX_HW_EVENT_COUNT, 270)

/* SW Sync Tokens (Pre-defined) */
    /* Config thread notify trigger thread */
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_CONFIG_DIRTY, 271)
    /* Trigger thread notify config thread */
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_STREAM_EOF, 272)
    /* Block Trigger thread until the ESD check finishes. */
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_ESD_EOF, 273)
    /* check CABC setup finish */
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_CABC_EOF, 274)
    /* Pass-2 notifies VENC frame is ready to be encoded */
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_VENC_INPUT_READY, 280)
    /* VENC notifies Pass-2 encode done so next frame may start */
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_VENC_EOF, 281)

/* SW Sync Tokens (User-defined) */
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_USER_0, 300)
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_USER_1, 301)

/* GPR access tokens (for HW register backup) */
/* There are 15 32-bit GPR, 3 GPR form a set (64-bit for address, 32-bit for value) */
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_GPR_SET_0, 400)
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_GPR_SET_1, 401)
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_GPR_SET_2, 402)
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_GPR_SET_3, 403)
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_GPR_SET_4, 404)

/* Resource lock event to control resource in GCE thread */
	DECLARE_CMDQ_EVENT(CMDQ_SYNC_RESOURCE_WROT0, 460)
	
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_MAX, (0x1FF))	/* event id is 9 bit */
    DECLARE_CMDQ_EVENT(CMDQ_SYNC_TOKEN_INVALID, (-1))