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