1848b8605Smrg#ifndef RNNDB_NV_OBJECT_XML
2848b8605Smrg#define RNNDB_NV_OBJECT_XML
3848b8605Smrg
4848b8605Smrg/* WARNING ABOUT NOT EDITING AUTOGENERATED FILE IGNORED, _CLASS SUFFIX HAS
5848b8605Smrg * BEEN ADDED TO ALL THE OBJECT CLASS DEFINITIONS TO AVOID CONFLICTS WITH
6848b8605Smrg * THE RING MACROS WE WANT TO USE
7848b8605Smrg */
8848b8605Smrg
9848b8605Smrg/* Autogenerated file, DO NOT EDIT manually!
10848b8605Smrg
11848b8605SmrgThis file was generated by the rules-ng-ng headergen tool in this git repository:
12848b8605Smrghttp://0x04.net/cgit/index.cgi/rules-ng-ng
13848b8605Smrggit clone git://0x04.net/rules-ng-ng
14848b8605Smrg
15848b8605SmrgThe rules-ng-ng source files this header was generated from are:
16848b8605Smrg- rnndb/nv_object.xml    (  12672 bytes, from 2011-07-17 12:14:32)
17848b8605Smrg- ./rnndb/copyright.xml  (   6452 bytes, from 2011-07-09 13:43:58)
18848b8605Smrg- ./rnndb/nvchipsets.xml (   3701 bytes, from 2012-04-06 13:21:15)
19848b8605Smrg- ./rnndb/nv_defs.xml    (   4437 bytes, from 2011-07-09 13:43:58)
20848b8605Smrg- ./rnndb/nv50_defs.xml  (   5468 bytes, from 2011-07-09 13:43:58)
21848b8605Smrg
22848b8605SmrgCopyright (C) 2006-2011 by the following authors:
23848b8605Smrg- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
24848b8605Smrg- Ben Skeggs (darktama, darktama_)
25848b8605Smrg- B. R. <koala_br@users.sourceforge.net> (koala_br)
26848b8605Smrg- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
27848b8605Smrg- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
28848b8605Smrg- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
29848b8605Smrg- Dmitry Baryshkov
30848b8605Smrg- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
31848b8605Smrg- EdB <edb_@users.sf.net> (edb_)
32848b8605Smrg- Erik Waling <erikwailing@users.sf.net> (erikwaling)
33848b8605Smrg- Francisco Jerez <currojerez@riseup.net> (curro)
34848b8605Smrg- imirkin <imirkin@users.sf.net> (imirkin)
35848b8605Smrg- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
36848b8605Smrg- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
37848b8605Smrg- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
38848b8605Smrg- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
39848b8605Smrg- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
40848b8605Smrg- Marcin Kościelnicki <koriakin@0x04.net> (mwk, koriakin)
41848b8605Smrg- Mark Carey <mark.carey@gmail.com> (careym)
42848b8605Smrg- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
43848b8605Smrg- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
44848b8605Smrg- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
45848b8605Smrg- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
46848b8605Smrg- Peter Popov <ironpeter@users.sf.net> (ironpeter)
47848b8605Smrg- Richard Hughes <hughsient@users.sf.net> (hughsient)
48848b8605Smrg- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
49848b8605Smrg- Serge Martin
50848b8605Smrg- Simon Raffeiner
51848b8605Smrg- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
52848b8605Smrg- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
53848b8605Smrg- sturmflut <sturmflut@users.sf.net> (sturmflut)
54848b8605Smrg- Sylvain Munaut <tnt@246tNt.com>
55848b8605Smrg- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
56848b8605Smrg- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
57848b8605Smrg- Younes Manton <younes.m@gmail.com> (ymanton)
58848b8605Smrg
59848b8605SmrgPermission is hereby granted, free of charge, to any person obtaining
60848b8605Smrga copy of this software and associated documentation files (the
61848b8605Smrg"Software"), to deal in the Software without restriction, including
62848b8605Smrgwithout limitation the rights to use, copy, modify, merge, publish,
63848b8605Smrgdistribute, sublicense, and/or sell copies of the Software, and to
64848b8605Smrgpermit persons to whom the Software is furnished to do so, subject to
65848b8605Smrgthe following conditions:
66848b8605Smrg
67848b8605SmrgThe above copyright notice and this permission notice (including the
68848b8605Smrgnext paragraph) shall be included in all copies or substantial
69848b8605Smrgportions of the Software.
70848b8605Smrg
71848b8605SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
72848b8605SmrgEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
73848b8605SmrgMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
74848b8605SmrgIN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
75848b8605SmrgLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
76848b8605SmrgOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
77848b8605SmrgWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
78848b8605Smrg*/
79848b8605Smrg
80848b8605Smrg
81848b8605Smrg#define NV01_DMA_FROM_MEMORY_CLASS				0x00000002
82848b8605Smrg#define NV01_DMA_TO_MEMORY_CLASS				0x00000003
83848b8605Smrg#define NV01_NULL_CLASS						0x00000030
84848b8605Smrg#define NV03_DMA_IN_MEMORY_CLASS				0x0000003d
85848b8605Smrg#define NV01_OP_CLIP_CLASS					0x00000010
86848b8605Smrg#define NV01_OP_BLEND_AND_CLASS					0x00000011
87848b8605Smrg#define NV01_BETA_CLASS						0x00000012
88848b8605Smrg#define NV04_BETA4_CLASS					0x00000072
89848b8605Smrg#define NV01_OP_ROP_AND_CLASS					0x00000013
90848b8605Smrg#define NV01_ROP_CLASS						0x00000014
91848b8605Smrg#define NV03_ROP_CLASS						0x00000043
92848b8605Smrg#define NV01_OP_CHROMA_CLASS					0x00000015
93848b8605Smrg#define NV01_OP_PLANE_SWITCH_CLASS				0x00000016
94848b8605Smrg#define NV01_CHROMA_CLASS					0x00000017
95848b8605Smrg#define NV04_CHROMA_CLASS					0x00000057
96848b8605Smrg#define NV01_PATTERN_CLASS					0x00000018
97848b8605Smrg#define NV04_PATTERN_CLASS					0x00000044
98848b8605Smrg#define NV01_CLIP_CLASS						0x00000019
99848b8605Smrg#define NV01_OP_SRCCOPY_AND_CLASS				0x00000064
100848b8605Smrg#define NV03_OP_SRCCOPY_CLASS					0x00000065
101848b8605Smrg#define NV04_OP_SRCCOPY_PREMULT_CLASS				0x00000066
102848b8605Smrg#define NV04_OP_BLEND_PREMULT_CLASS				0x00000067
103848b8605Smrg#define NV01_POINT_CLASS					0x0000001a
104848b8605Smrg#define NV01_LINE_CLASS						0x0000001b
105848b8605Smrg#define NV01_LIN_CLASS						0x0000001c
106848b8605Smrg#define NV04_LIN_CLASS						0x0000005c
107848b8605Smrg#define NV30_LIN_CLASS						0x0000035c
108848b8605Smrg#define NV40_LIN_CLASS						0x0000305c
109848b8605Smrg#define NV01_TRI_CLASS						0x0000001d
110848b8605Smrg#define NV04_TRI_CLASS						0x0000005d
111848b8605Smrg#define NV01_RECT_CLASS						0x0000001e
112848b8605Smrg#define NV04_RECT_CLASS						0x0000005e
113848b8605Smrg#define NV01_BLIT_CLASS						0x0000001f
114848b8605Smrg#define NV04_BLIT_CLASS						0x0000005f
115848b8605Smrg#define NV15_BLIT_CLASS						0x0000009f
116848b8605Smrg#define NV01_IFROMMEM_CLASS					0x00000020
117848b8605Smrg#define NV01_IFC_CLASS						0x00000021
118848b8605Smrg#define NV04_IFC_CLASS						0x00000061
119848b8605Smrg#define NV05_IFC_CLASS						0x00000065
120848b8605Smrg#define NV10_IFC_CLASS						0x0000008a
121848b8605Smrg#define NV30_IFC_CLASS						0x0000038a
122848b8605Smrg#define NV40_IFC_CLASS						0x0000308a
123848b8605Smrg#define NV01_BITMAP_CLASS					0x00000022
124848b8605Smrg#define NV01_ITOMEM_CLASS					0x00000025
125848b8605Smrg#define NV03_SIFC_CLASS						0x00000036
126848b8605Smrg#define NV04_SIFC_CLASS						0x00000076
127848b8605Smrg#define NV05_SIFC_CLASS						0x00000066
128848b8605Smrg#define NV30_SIFC_CLASS						0x00000366
129848b8605Smrg#define NV40_SIFC_CLASS						0x00003066
130848b8605Smrg#define NV03_SIFM_CLASS						0x00000037
131848b8605Smrg#define NV04_SIFM_CLASS						0x00000077
132848b8605Smrg#define NV05_SIFM_CLASS						0x00000063
133848b8605Smrg#define NV10_SIFM_CLASS						0x00000089
134848b8605Smrg#define NV30_SIFM_CLASS						0x00000389
135848b8605Smrg#define NV40_SIFM_CLASS						0x00003089
136848b8605Smrg#define NV50_SIFM_CLASS						0x00005089
137848b8605Smrg#define NV03_SYFM_CLASS						0x00000038
138848b8605Smrg#define NV03_GDI_CLASS						0x0000004b
139848b8605Smrg#define NV04_GDI_CLASS						0x0000004a
140848b8605Smrg#define NV04_SURFACE_SWZ_CLASS					0x00000052
141848b8605Smrg#define NV20_SURFACE_SWZ_CLASS					0x0000009e
142848b8605Smrg#define NV30_SURFACE_SWZ_CLASS					0x0000039e
143848b8605Smrg#define NV40_SURFACE_SWZ_CLASS					0x0000309e
144848b8605Smrg#define NV03_SURFACE_DST_CLASS					0x00000058
145848b8605Smrg#define NV03_SURFACE_SRC_CLASS					0x00000059
146848b8605Smrg#define NV04_SURFACE_2D_CLASS					0x00000042
147848b8605Smrg#define NV10_SURFACE_2D_CLASS					0x00000062
148848b8605Smrg#define NV30_SURFACE_2D_CLASS					0x00000362
149848b8605Smrg#define NV40_SURFACE_2D_CLASS					0x00003062
150848b8605Smrg#define NV50_SURFACE_2D_CLASS					0x00005062
151848b8605Smrg#define NV04_INDEX_CLASS					0x00000060
152848b8605Smrg#define NV05_INDEX_CLASS					0x00000064
153848b8605Smrg#define NV30_INDEX_CLASS					0x00000364
154848b8605Smrg#define NV40_INDEX_CLASS					0x00003064
155848b8605Smrg#define NV10_TEXUPLOAD_CLASS					0x0000007b
156848b8605Smrg#define NV30_TEXUPLOAD_CLASS					0x0000037b
157848b8605Smrg#define NV40_TEXUPLOAD_CLASS					0x0000307b
158848b8605Smrg#define NV04_DVD_SUBPICTURE_CLASS				0x00000038
159848b8605Smrg#define NV10_DVD_SUBPICTURE_CLASS				0x00000088
160848b8605Smrg#define NV03_M2MF_CLASS						0x00000039
161848b8605Smrg#define NV50_M2MF_CLASS						0x00005039
162848b8605Smrg#define NVC0_M2MF_CLASS						0x00009039
163848b8605Smrg#define NV03_SURFACE_COLOR_CLASS				0x0000005a
164848b8605Smrg#define NV03_SURFACE_ZETA_CLASS					0x0000005b
165848b8605Smrg#define NV03_TEXTURED_TRIANGLE_CLASS				0x00000048
166848b8605Smrg#define NV04_TEXTURED_TRIANGLE_CLASS				0x00000054
167848b8605Smrg#define NV10_TEXTURED_TRIANGLE_CLASS				0x00000094
168848b8605Smrg#define NV04_SURFACE_3D_CLASS					0x00000053
169848b8605Smrg#define NV10_SURFACE_3D_CLASS					0x00000093
170848b8605Smrg#define NV04_MULTITEX_TRIANGLE_CLASS				0x00000055
171848b8605Smrg#define NV10_MULTITEX_TRIANGLE_CLASS				0x00000095
172848b8605Smrg#define NV10_3D_CLASS						0x00000056
173848b8605Smrg#define NV15_3D_CLASS						0x00000096
174848b8605Smrg#define NV11_3D_CLASS						0x00000098
175848b8605Smrg#define NV17_3D_CLASS						0x00000099
176848b8605Smrg#define NV20_3D_CLASS						0x00000097
177848b8605Smrg#define NV25_3D_CLASS						0x00000597
178848b8605Smrg#define NV30_3D_CLASS						0x00000397
179848b8605Smrg#define NV35_3D_CLASS						0x00000497
180848b8605Smrg#define NV34_3D_CLASS						0x00000697
181848b8605Smrg#define NV40_3D_CLASS						0x00004097
182848b8605Smrg#define NV44_3D_CLASS						0x00004497
183848b8605Smrg#define NV50_3D_CLASS						0x00005097
184848b8605Smrg#define NV84_3D_CLASS						0x00008297
185848b8605Smrg#define NVA0_3D_CLASS						0x00008397
186848b8605Smrg#define NVA3_3D_CLASS						0x00008597
187848b8605Smrg#define NVAF_3D_CLASS						0x00008697
188848b8605Smrg#define NVC0_3D_CLASS						0x00009097
189848b8605Smrg#define NVC1_3D_CLASS						0x00009197
190848b8605Smrg#define NVC8_3D_CLASS						0x00009297
191848b8605Smrg#define NVE4_3D_CLASS						0x0000a097
192848b8605Smrg#define NVF0_3D_CLASS						0x0000a197
193848b8605Smrg#define NVEA_3D_CLASS						0x0000a297
194848b8605Smrg#define GM107_3D_CLASS						0x0000b097
195b8e80941Smrg#define GM200_3D_CLASS						0x0000b197
196b8e80941Smrg#define GP100_3D_CLASS						0x0000c097
197b8e80941Smrg#define GP102_3D_CLASS						0x0000c197
198848b8605Smrg#define NV50_2D_CLASS						0x0000502d
199848b8605Smrg#define NVC0_2D_CLASS						0x0000902d
200848b8605Smrg#define NV50_COMPUTE_CLASS					0x000050c0
201848b8605Smrg#define NVA3_COMPUTE_CLASS					0x000085c0
202848b8605Smrg#define NVC0_COMPUTE_CLASS					0x000090c0
203848b8605Smrg#define NVC8_COMPUTE_CLASS					0x000092c0
204848b8605Smrg#define NVE4_COMPUTE_CLASS					0x0000a0c0
205848b8605Smrg#define NVF0_COMPUTE_CLASS					0x0000a1c0
206b8e80941Smrg#define GM107_COMPUTE_CLASS					0x0000b0c0
207b8e80941Smrg#define GM200_COMPUTE_CLASS					0x0000b1c0
208b8e80941Smrg#define GP100_COMPUTE_CLASS					0x0000c0c0
209b8e80941Smrg#define GP104_COMPUTE_CLASS					0x0000c1c0
210848b8605Smrg#define NV84_CRYPT_CLASS					0x000074c1
211848b8605Smrg#define BLOB_NVC0_PCOPY1_CLASS					0x000090b8
212848b8605Smrg#define BLOB_NVC0_PCOPY0_CLASS					0x000090b5
213848b8605Smrg#define NVE4_P2MF_CLASS						0x0000a040
214848b8605Smrg#define NVF0_P2MF_CLASS						0x0000a140
215848b8605Smrg#define NV31_MPEG_CLASS						0x00003174
216848b8605Smrg#define NV84_MPEG_CLASS						0x00008274
217848b8605Smrg
218848b8605Smrg#define NV01_SUBCHAN__SIZE					0x00008000
219848b8605Smrg#define NV01_SUBCHAN						0x00000000
220848b8605Smrg
221848b8605Smrg#define NV01_SUBCHAN_OBJECT					0x00000000
222848b8605Smrg
223848b8605Smrg
224848b8605Smrg#define NV84_SUBCHAN_SEMAPHORE_ADDRESS_HIGH			0x00000010
225848b8605Smrg
226848b8605Smrg#define NV84_SUBCHAN_SEMAPHORE_ADDRESS_LOW			0x00000014
227848b8605Smrg
228848b8605Smrg#define NV84_SUBCHAN_SEMAPHORE_SEQUENCE				0x00000018
229848b8605Smrg
230848b8605Smrg#define NV84_SUBCHAN_SEMAPHORE_TRIGGER				0x0000001c
231848b8605Smrg#define NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACQUIRE_EQUAL		0x00000001
232848b8605Smrg#define NV84_SUBCHAN_SEMAPHORE_TRIGGER_WRITE_LONG		0x00000002
233848b8605Smrg#define NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACQUIRE_GEQUAL		0x00000004
234848b8605Smrg
235848b8605Smrg#define NV84_SUBCHAN_NOTIFY_INTR				0x00000020
236848b8605Smrg
237848b8605Smrg#define NV84_SUBCHAN_WRCACHE_FLUSH				0x00000024
238848b8605Smrg
239848b8605Smrg#define NV10_SUBCHAN_REF_CNT					0x00000050
240848b8605Smrg
241848b8605Smrg
242848b8605Smrg#define NV11_SUBCHAN_DMA_SEMAPHORE				0x00000060
243848b8605Smrg
244848b8605Smrg#define NV11_SUBCHAN_SEMAPHORE_OFFSET				0x00000064
245848b8605Smrg
246848b8605Smrg#define NV11_SUBCHAN_SEMAPHORE_ACQUIRE				0x00000068
247848b8605Smrg
248848b8605Smrg#define NV11_SUBCHAN_SEMAPHORE_RELEASE				0x0000006c
249848b8605Smrg
250848b8605Smrg#define NV40_SUBCHAN_YIELD					0x00000080
251848b8605Smrg
252848b8605Smrg#define NV01_GRAPH						0x00000000
253848b8605Smrg
254848b8605Smrg#define NV04_GRAPH_NOP						0x00000100
255848b8605Smrg
256848b8605Smrg#define NV04_GRAPH_NOTIFY					0x00000104
257848b8605Smrg#define NV04_GRAPH_NOTIFY_WRITE					0x00000000
258848b8605Smrg#define NV04_GRAPH_NOTIFY_WRITE_AND_AWAKEN			0x00000001
259848b8605Smrg
260848b8605Smrg#define NVC0_GRAPH_NOTIFY_ADDRESS_HIGH				0x00000104
261848b8605Smrg
262848b8605Smrg#define NVC0_GRAPH_NOTIFY_ADDRESS_LOW				0x00000108
263848b8605Smrg
264848b8605Smrg#define NVC0_GRAPH_NOTIFY					0x0000010c
265848b8605Smrg#define NVC0_GRAPH_NOTIFY_WRITE					0x00000000
266848b8605Smrg#define NVC0_GRAPH_NOTIFY_WRITE_AND_AWAKEN			0x00000001
267848b8605Smrg
268848b8605Smrg#define NV50_GRAPH_SERIALIZE					0x00000110
269848b8605Smrg
270848b8605Smrg#define NVC0_GRAPH_MACRO_UPLOAD_POS				0x00000114
271848b8605Smrg
272848b8605Smrg#define NVC0_GRAPH_MACRO_UPLOAD_DATA				0x00000118
273848b8605Smrg
274848b8605Smrg#define NVC0_GRAPH_MACRO_ID					0x0000011c
275848b8605Smrg
276848b8605Smrg#define NVC0_GRAPH_MACRO_POS					0x00000120
277848b8605Smrg
278848b8605Smrg#define NVA3_GRAPH_UNK0120					0x00000120
279848b8605Smrg
280848b8605Smrg#define NVA3_GRAPH_UNK0124					0x00000124
281848b8605Smrg
282848b8605Smrg#define NVC0_GRAPH_UNK0124					0x00000124
283848b8605Smrg
284848b8605Smrg#define NVC0_GRAPH_COND_ADDRESS_HIGH				0x00000130
285848b8605Smrg
286848b8605Smrg#define NVC0_GRAPH_COND_ADDRESS_LOW				0x00000134
287848b8605Smrg
288848b8605Smrg#define NVC0_GRAPH_COND_MODE					0x00000138
289848b8605Smrg#define NVC0_GRAPH_COND_MODE_NEVER				0x00000000
290848b8605Smrg#define NVC0_GRAPH_COND_MODE_ALWAYS				0x00000001
291848b8605Smrg#define NVC0_GRAPH_COND_MODE_RES_NON_ZERO			0x00000002
292848b8605Smrg#define NVC0_GRAPH_COND_MODE_EQUAL				0x00000003
293848b8605Smrg#define NVC0_GRAPH_COND_MODE_NOT_EQUAL				0x00000004
294848b8605Smrg
295848b8605Smrg#define NVC0_GRAPH_UNK013C					0x0000013c
296848b8605Smrg
297848b8605Smrg#define NV40_GRAPH_PM_TRIGGER					0x00000140
298848b8605Smrg
299848b8605Smrg#define NVC0_GRAPH_UNK0150					0x00000150
300848b8605Smrg
301848b8605Smrg#define NVC0_GRAPH_UNK0154					0x00000154
302848b8605Smrg
303848b8605Smrg#define NVC0_GRAPH_SCRATCH(i0)				       (0x00003400 + 0x4*(i0))
304848b8605Smrg#define NVC0_GRAPH_SCRATCH__ESIZE				0x00000004
305848b8605Smrg#define NVC0_GRAPH_SCRATCH__LEN					0x00000080
306848b8605Smrg
307848b8605Smrg#define NVC0_GRAPH_MACRO(i0)				       (0x00003800 + 0x8*(i0))
308848b8605Smrg#define NVC0_GRAPH_MACRO__ESIZE					0x00000008
309848b8605Smrg#define NVC0_GRAPH_MACRO__LEN					0x00000080
310848b8605Smrg
311848b8605Smrg#define NVC0_GRAPH_MACRO_PARAM(i0)			       (0x00003804 + 0x8*(i0))
312848b8605Smrg#define NVC0_GRAPH_MACRO_PARAM__ESIZE				0x00000008
313848b8605Smrg#define NVC0_GRAPH_MACRO_PARAM__LEN				0x00000080
314848b8605Smrg
315848b8605Smrg
316848b8605Smrg#endif /* RNNDB_NV_OBJECT_XML */
317