Merge patch series "riscv: asid: switch to alternative way to fix stale TLB entries"
[linux-2.6-microblaze.git] / drivers / gpu / drm / etnaviv / cmdstream.xml.h
1 #ifndef CMDSTREAM_XML
2 #define CMDSTREAM_XML
3
4 /* Autogenerated file, DO NOT EDIT manually!
5
6 This file was generated by the rules-ng-ng headergen tool in this git repository:
7 http://0x04.net/cgit/index.cgi/rules-ng-ng
8 git clone git://0x04.net/rules-ng-ng
9
10 The rules-ng-ng source files this header was generated from are:
11 - cmdstream.xml (  14094 bytes, from 2016-11-11 06:55:14)
12 - copyright.xml (   1597 bytes, from 2016-10-29 07:29:22)
13 - common.xml    (  23344 bytes, from 2016-11-10 15:14:07)
14
15 Copyright (C) 2012-2016 by the following authors:
16 - Wladimir J. van der Laan <laanwj@gmail.com>
17 - Christian Gmeiner <christian.gmeiner@gmail.com>
18 - Lucas Stach <l.stach@pengutronix.de>
19 - Russell King <rmk@arm.linux.org.uk>
20
21 Permission is hereby granted, free of charge, to any person obtaining a
22 copy of this software and associated documentation files (the "Software"),
23 to deal in the Software without restriction, including without limitation
24 the rights to use, copy, modify, merge, publish, distribute, sub license,
25 and/or sell copies of the Software, and to permit persons to whom the
26 Software is furnished to do so, subject to the following conditions:
27
28 The above copyright notice and this permission notice (including the
29 next paragraph) shall be included in all copies or substantial portions
30 of the Software.
31
32 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34 FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
35 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
36 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
37 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
38 DEALINGS IN THE SOFTWARE.
39 */
40
41
42 #define FE_OPCODE_LOAD_STATE                                    0x00000001
43 #define FE_OPCODE_END                                           0x00000002
44 #define FE_OPCODE_NOP                                           0x00000003
45 #define FE_OPCODE_DRAW_2D                                       0x00000004
46 #define FE_OPCODE_DRAW_PRIMITIVES                               0x00000005
47 #define FE_OPCODE_DRAW_INDEXED_PRIMITIVES                       0x00000006
48 #define FE_OPCODE_WAIT                                          0x00000007
49 #define FE_OPCODE_LINK                                          0x00000008
50 #define FE_OPCODE_STALL                                         0x00000009
51 #define FE_OPCODE_CALL                                          0x0000000a
52 #define FE_OPCODE_RETURN                                        0x0000000b
53 #define FE_OPCODE_DRAW_INSTANCED                                0x0000000c
54 #define FE_OPCODE_CHIP_SELECT                                   0x0000000d
55 #define PRIMITIVE_TYPE_POINTS                                   0x00000001
56 #define PRIMITIVE_TYPE_LINES                                    0x00000002
57 #define PRIMITIVE_TYPE_LINE_STRIP                               0x00000003
58 #define PRIMITIVE_TYPE_TRIANGLES                                0x00000004
59 #define PRIMITIVE_TYPE_TRIANGLE_STRIP                           0x00000005
60 #define PRIMITIVE_TYPE_TRIANGLE_FAN                             0x00000006
61 #define PRIMITIVE_TYPE_LINE_LOOP                                0x00000007
62 #define PRIMITIVE_TYPE_QUADS                                    0x00000008
63 #define VIV_FE_LOAD_STATE                                       0x00000000
64
65 #define VIV_FE_LOAD_STATE_HEADER                                0x00000000
66 #define VIV_FE_LOAD_STATE_HEADER_OP__MASK                       0xf8000000
67 #define VIV_FE_LOAD_STATE_HEADER_OP__SHIFT                      27
68 #define VIV_FE_LOAD_STATE_HEADER_OP_LOAD_STATE                  0x08000000
69 #define VIV_FE_LOAD_STATE_HEADER_FIXP                           0x04000000
70 #define VIV_FE_LOAD_STATE_HEADER_COUNT__MASK                    0x03ff0000
71 #define VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT                   16
72 #define VIV_FE_LOAD_STATE_HEADER_COUNT(x)                       (((x) << VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT) & VIV_FE_LOAD_STATE_HEADER_COUNT__MASK)
73 #define VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK                   0x0000ffff
74 #define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT                  0
75 #define VIV_FE_LOAD_STATE_HEADER_OFFSET(x)                      (((x) << VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT) & VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK)
76 #define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHR                    2
77
78 #define VIV_FE_END                                              0x00000000
79
80 #define VIV_FE_END_HEADER                                       0x00000000
81 #define VIV_FE_END_HEADER_EVENT_ID__MASK                        0x0000001f
82 #define VIV_FE_END_HEADER_EVENT_ID__SHIFT                       0
83 #define VIV_FE_END_HEADER_EVENT_ID(x)                           (((x) << VIV_FE_END_HEADER_EVENT_ID__SHIFT) & VIV_FE_END_HEADER_EVENT_ID__MASK)
84 #define VIV_FE_END_HEADER_EVENT_ENABLE                          0x00000100
85 #define VIV_FE_END_HEADER_OP__MASK                              0xf8000000
86 #define VIV_FE_END_HEADER_OP__SHIFT                             27
87 #define VIV_FE_END_HEADER_OP_END                                0x10000000
88
89 #define VIV_FE_NOP                                              0x00000000
90
91 #define VIV_FE_NOP_HEADER                                       0x00000000
92 #define VIV_FE_NOP_HEADER_OP__MASK                              0xf8000000
93 #define VIV_FE_NOP_HEADER_OP__SHIFT                             27
94 #define VIV_FE_NOP_HEADER_OP_NOP                                0x18000000
95
96 #define VIV_FE_DRAW_2D                                          0x00000000
97
98 #define VIV_FE_DRAW_2D_HEADER                                   0x00000000
99 #define VIV_FE_DRAW_2D_HEADER_COUNT__MASK                       0x0000ff00
100 #define VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT                      8
101 #define VIV_FE_DRAW_2D_HEADER_COUNT(x)                          (((x) << VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_COUNT__MASK)
102 #define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK                  0x07ff0000
103 #define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT                 16
104 #define VIV_FE_DRAW_2D_HEADER_DATA_COUNT(x)                     (((x) << VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK)
105 #define VIV_FE_DRAW_2D_HEADER_OP__MASK                          0xf8000000
106 #define VIV_FE_DRAW_2D_HEADER_OP__SHIFT                         27
107 #define VIV_FE_DRAW_2D_HEADER_OP_DRAW_2D                        0x20000000
108
109 #define VIV_FE_DRAW_2D_TOP_LEFT                                 0x00000008
110 #define VIV_FE_DRAW_2D_TOP_LEFT_X__MASK                         0x0000ffff
111 #define VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT                        0
112 #define VIV_FE_DRAW_2D_TOP_LEFT_X(x)                            (((x) << VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT) & VIV_FE_DRAW_2D_TOP_LEFT_X__MASK)
113 #define VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK                         0xffff0000
114 #define VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT                        16
115 #define VIV_FE_DRAW_2D_TOP_LEFT_Y(x)                            (((x) << VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT) & VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK)
116
117 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT                             0x0000000c
118 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK                     0x0000ffff
119 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT                    0
120 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X(x)                        (((x) << VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT) & VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK)
121 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK                     0xffff0000
122 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT                    16
123 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y(x)                        (((x) << VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT) & VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK)
124
125 #define VIV_FE_DRAW_PRIMITIVES                                  0x00000000
126
127 #define VIV_FE_DRAW_PRIMITIVES_HEADER                           0x00000000
128 #define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__MASK                  0xf8000000
129 #define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__SHIFT                 27
130 #define VIV_FE_DRAW_PRIMITIVES_HEADER_OP_DRAW_PRIMITIVES        0x28000000
131
132 #define VIV_FE_DRAW_PRIMITIVES_COMMAND                          0x00000004
133 #define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK               0x000000ff
134 #define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT              0
135 #define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE(x)                  (((x) << VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT) & VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK)
136
137 #define VIV_FE_DRAW_PRIMITIVES_START                            0x00000008
138
139 #define VIV_FE_DRAW_PRIMITIVES_COUNT                            0x0000000c
140
141 #define VIV_FE_DRAW_INDEXED_PRIMITIVES                          0x00000000
142
143 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER                   0x00000000
144 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__MASK          0xf8000000
145 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__SHIFT         27
146 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP_DRAW_INDEXED_PRIMITIVES        0x30000000
147
148 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND                  0x00000004
149 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK       0x000000ff
150 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT      0
151 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE(x)          (((x) << VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT) & VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK)
152
153 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_START                    0x00000008
154
155 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_COUNT                    0x0000000c
156
157 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_OFFSET                   0x00000010
158
159 #define VIV_FE_WAIT                                             0x00000000
160
161 #define VIV_FE_WAIT_HEADER                                      0x00000000
162 #define VIV_FE_WAIT_HEADER_DELAY__MASK                          0x0000ffff
163 #define VIV_FE_WAIT_HEADER_DELAY__SHIFT                         0
164 #define VIV_FE_WAIT_HEADER_DELAY(x)                             (((x) << VIV_FE_WAIT_HEADER_DELAY__SHIFT) & VIV_FE_WAIT_HEADER_DELAY__MASK)
165 #define VIV_FE_WAIT_HEADER_OP__MASK                             0xf8000000
166 #define VIV_FE_WAIT_HEADER_OP__SHIFT                            27
167 #define VIV_FE_WAIT_HEADER_OP_WAIT                              0x38000000
168
169 #define VIV_FE_LINK                                             0x00000000
170
171 #define VIV_FE_LINK_HEADER                                      0x00000000
172 #define VIV_FE_LINK_HEADER_PREFETCH__MASK                       0x0000ffff
173 #define VIV_FE_LINK_HEADER_PREFETCH__SHIFT                      0
174 #define VIV_FE_LINK_HEADER_PREFETCH(x)                          (((x) << VIV_FE_LINK_HEADER_PREFETCH__SHIFT) & VIV_FE_LINK_HEADER_PREFETCH__MASK)
175 #define VIV_FE_LINK_HEADER_OP__MASK                             0xf8000000
176 #define VIV_FE_LINK_HEADER_OP__SHIFT                            27
177 #define VIV_FE_LINK_HEADER_OP_LINK                              0x40000000
178
179 #define VIV_FE_LINK_ADDRESS                                     0x00000004
180
181 #define VIV_FE_STALL                                            0x00000000
182
183 #define VIV_FE_STALL_HEADER                                     0x00000000
184 #define VIV_FE_STALL_HEADER_OP__MASK                            0xf8000000
185 #define VIV_FE_STALL_HEADER_OP__SHIFT                           27
186 #define VIV_FE_STALL_HEADER_OP_STALL                            0x48000000
187
188 #define VIV_FE_STALL_TOKEN                                      0x00000004
189 #define VIV_FE_STALL_TOKEN_FROM__MASK                           0x0000001f
190 #define VIV_FE_STALL_TOKEN_FROM__SHIFT                          0
191 #define VIV_FE_STALL_TOKEN_FROM(x)                              (((x) << VIV_FE_STALL_TOKEN_FROM__SHIFT) & VIV_FE_STALL_TOKEN_FROM__MASK)
192 #define VIV_FE_STALL_TOKEN_TO__MASK                             0x00001f00
193 #define VIV_FE_STALL_TOKEN_TO__SHIFT                            8
194 #define VIV_FE_STALL_TOKEN_TO(x)                                (((x) << VIV_FE_STALL_TOKEN_TO__SHIFT) & VIV_FE_STALL_TOKEN_TO__MASK)
195
196 #define VIV_FE_CALL                                             0x00000000
197
198 #define VIV_FE_CALL_HEADER                                      0x00000000
199 #define VIV_FE_CALL_HEADER_PREFETCH__MASK                       0x0000ffff
200 #define VIV_FE_CALL_HEADER_PREFETCH__SHIFT                      0
201 #define VIV_FE_CALL_HEADER_PREFETCH(x)                          (((x) << VIV_FE_CALL_HEADER_PREFETCH__SHIFT) & VIV_FE_CALL_HEADER_PREFETCH__MASK)
202 #define VIV_FE_CALL_HEADER_OP__MASK                             0xf8000000
203 #define VIV_FE_CALL_HEADER_OP__SHIFT                            27
204 #define VIV_FE_CALL_HEADER_OP_CALL                              0x50000000
205
206 #define VIV_FE_CALL_ADDRESS                                     0x00000004
207
208 #define VIV_FE_CALL_RETURN_PREFETCH                             0x00000008
209
210 #define VIV_FE_CALL_RETURN_ADDRESS                              0x0000000c
211
212 #define VIV_FE_RETURN                                           0x00000000
213
214 #define VIV_FE_RETURN_HEADER                                    0x00000000
215 #define VIV_FE_RETURN_HEADER_OP__MASK                           0xf8000000
216 #define VIV_FE_RETURN_HEADER_OP__SHIFT                          27
217 #define VIV_FE_RETURN_HEADER_OP_RETURN                          0x58000000
218
219 #define VIV_FE_CHIP_SELECT                                      0x00000000
220
221 #define VIV_FE_CHIP_SELECT_HEADER                               0x00000000
222 #define VIV_FE_CHIP_SELECT_HEADER_OP__MASK                      0xf8000000
223 #define VIV_FE_CHIP_SELECT_HEADER_OP__SHIFT                     27
224 #define VIV_FE_CHIP_SELECT_HEADER_OP_CHIP_SELECT                0x68000000
225 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP15                 0x00008000
226 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP14                 0x00004000
227 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP13                 0x00002000
228 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP12                 0x00001000
229 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP11                 0x00000800
230 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP10                 0x00000400
231 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP9                  0x00000200
232 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP8                  0x00000100
233 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP7                  0x00000080
234 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP6                  0x00000040
235 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP5                  0x00000020
236 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP4                  0x00000010
237 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP3                  0x00000008
238 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP2                  0x00000004
239 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP1                  0x00000002
240 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP0                  0x00000001
241
242 #define VIV_FE_DRAW_INSTANCED                                   0x00000000
243
244 #define VIV_FE_DRAW_INSTANCED_HEADER                            0x00000000
245 #define VIV_FE_DRAW_INSTANCED_HEADER_OP__MASK                   0xf8000000
246 #define VIV_FE_DRAW_INSTANCED_HEADER_OP__SHIFT                  27
247 #define VIV_FE_DRAW_INSTANCED_HEADER_OP_DRAW_INSTANCED          0x60000000
248 #define VIV_FE_DRAW_INSTANCED_HEADER_INDEXED                    0x00100000
249 #define VIV_FE_DRAW_INSTANCED_HEADER_TYPE__MASK                 0x000f0000
250 #define VIV_FE_DRAW_INSTANCED_HEADER_TYPE__SHIFT                16
251 #define VIV_FE_DRAW_INSTANCED_HEADER_TYPE(x)                    (((x) << VIV_FE_DRAW_INSTANCED_HEADER_TYPE__SHIFT) & VIV_FE_DRAW_INSTANCED_HEADER_TYPE__MASK)
252 #define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__MASK    0x0000ffff
253 #define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__SHIFT   0
254 #define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO(x)       (((x) << VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__SHIFT) & VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__MASK)
255
256 #define VIV_FE_DRAW_INSTANCED_COUNT                             0x00000004
257 #define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__MASK     0xff000000
258 #define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__SHIFT    24
259 #define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI(x)        (((x) << VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__SHIFT) & VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__MASK)
260 #define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__MASK          0x00ffffff
261 #define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__SHIFT         0
262 #define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT(x)             (((x) << VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__SHIFT) & VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__MASK)
263
264 #define VIV_FE_DRAW_INSTANCED_START                             0x00000008
265 #define VIV_FE_DRAW_INSTANCED_START_INDEX__MASK                 0xffffffff
266 #define VIV_FE_DRAW_INSTANCED_START_INDEX__SHIFT                0
267 #define VIV_FE_DRAW_INSTANCED_START_INDEX(x)                    (((x) << VIV_FE_DRAW_INSTANCED_START_INDEX__SHIFT) & VIV_FE_DRAW_INSTANCED_START_INDEX__MASK)
268
269
270 #endif /* CMDSTREAM_XML */