#ifndef NVE4_COPY_XML
#define NVE4_COPY_XML

/* Autogenerated file, DO NOT EDIT manually!

This file was generated by the rules-ng-ng headergen tool in this git repository:
https://github.com/envytools/envytools/
git clone https://github.com/envytools/envytools.git

The rules-ng-ng source files this header was generated from are:
- envytools/rnndb/fifo/gk104_copy.xml      (   4903 bytes, from 2020-07-19 06:15:26)
- envytools/rnndb/copyright.xml            (   6431 bytes, from 2020-07-11 09:17:41)
- envytools/rnndb-generated/nvchipsets.xml (   3335 bytes, from 2020-06-09 15:36:30)
- envytools/rnndb/fifo/nv_object.xml       (  16105 bytes, from 2020-07-11 09:17:37)
- envytools/rnndb/g80_defs.xml             (  21768 bytes, from 2018-06-10 18:06:54)
- envytools/rnndb/nv_defs.xml              (   5522 bytes, from 2020-07-19 05:54:01)

Copyright (C) 2006-2020 by the following authors:
- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@users.sourceforge.net> (koala_br)
- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
- Dmitry Baryshkov
- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
- EdB <edb_@users.sf.net> (edb_)
- Erik Waling <erikwailing@users.sf.net> (erikwaling)
- Francisco Jerez <currojerez@riseup.net> (curro)
- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
- Marcelina Kościelnicka <mwk@0x04.net> (mwk)
- Mark Carey <mark.carey@gmail.com> (careym)
- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
- Peter Popov <ironpeter@users.sf.net> (ironpeter)
- Richard Hughes <hughsient@users.sf.net> (hughsient)
- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
- Serge Martin
- Simon Raffeiner
- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
- sturmflut <sturmflut@users.sf.net> (sturmflut)
- Sylvain Munaut <tnt@246tNt.com>
- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
- Younes Manton <younes.m@gmail.com> (ymanton)

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice (including the
next paragraph) shall be included in all copies or substantial
portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/



#define NVE4_COPY_NOP						0x00000100

#define NVE4_COPY_PM_TRIGGER					0x00000140

#define NVE4_COPY_QUERY_ADDRESS_HIGH				0x00000240

#define NVE4_COPY_QUERY_ADDRESS_LOW				0x00000244

#define NVE4_COPY_QUERY_COUNTER				0x00000248

#define NVE4_COPY_COND_ADDRESS_HIGH				0x00000254

#define NVE4_COPY_COND_ADDRESS_LOW				0x00000258

#define NVE4_COPY_COND_MODE					0x0000025c
#define NVE4_COPY_COND_MODE_NEVER				0x00000000
#define NVE4_COPY_COND_MODE_ALWAYS				0x00000001
#define NVE4_COPY_COND_MODE_RES_NON_ZERO			0x00000002
#define NVE4_COPY_COND_MODE_EQUAL				0x00000003
#define NVE4_COPY_COND_MODE_NOT_EQUAL				0x00000004

#define NVE4_COPY_SRC_PHYS_MODE				0x00000260
#define NVE4_COPY_SRC_PHYS_MODE_TARGET__MASK			0x00000003
#define NVE4_COPY_SRC_PHYS_MODE_TARGET__SHIFT			0
#define NVE4_COPY_SRC_PHYS_MODE_TARGET_LOCAL_FB		0x00000000
#define NVE4_COPY_SRC_PHYS_MODE_TARGET_COHERENT_SYSMEM		0x00000001
#define NVE4_COPY_SRC_PHYS_MODE_TARGET_NONCOHERENT_SYSMEM	0x00000002

#define NVE4_COPY_DST_PHYS_MODE				0x00000264
#define NVE4_COPY_DST_PHYS_MODE_TARGET__MASK			0x00000003
#define NVE4_COPY_DST_PHYS_MODE_TARGET__SHIFT			0
#define NVE4_COPY_DST_PHYS_MODE_TARGET_LOCAL_FB		0x00000000
#define NVE4_COPY_DST_PHYS_MODE_TARGET_COHERENT_SYSMEM		0x00000001
#define NVE4_COPY_DST_PHYS_MODE_TARGET_NONCOHERENT_SYSMEM	0x00000002

#define NVE4_COPY_EXEC						0x00000300
#define NVE4_COPY_EXEC_COPY_MODE__MASK				0x00000003
#define NVE4_COPY_EXEC_COPY_MODE__SHIFT			0
#define NVE4_COPY_EXEC_COPY_MODE_NONE				0x00000000
#define NVE4_COPY_EXEC_COPY_MODE_PIPELINED			0x00000001
#define NVE4_COPY_EXEC_COPY_MODE_NON_PIPELINED			0x00000002
#define NVE4_COPY_EXEC_FLUSH					0x00000004
#define NVE4_COPY_EXEC_QUERY__MASK				0x00000018
#define NVE4_COPY_EXEC_QUERY__SHIFT				3
#define NVE4_COPY_EXEC_QUERY_NONE				0x00000000
#define NVE4_COPY_EXEC_QUERY_SHORT				0x00000008
#define NVE4_COPY_EXEC_QUERY_LONG				0x00000010
#define NVE4_COPY_EXEC_INTR__MASK				0x00000060
#define NVE4_COPY_EXEC_INTR__SHIFT				5
#define NVE4_COPY_EXEC_INTR_NONE				0x00000000
#define NVE4_COPY_EXEC_INTR_BLOCK				0x00000020
#define NVE4_COPY_EXEC_INTR_NONBLOCK				0x00000040
#define NVE4_COPY_EXEC_SRC_LAYOUT__MASK			0x00000080
#define NVE4_COPY_EXEC_SRC_LAYOUT__SHIFT			7
#define NVE4_COPY_EXEC_SRC_LAYOUT_PITCH			0x00000000
#define NVE4_COPY_EXEC_SRC_LAYOUT_BLOCKLINEAR			0x00000080
#define NVE4_COPY_EXEC_DST_LAYOUT__MASK			0x00000100
#define NVE4_COPY_EXEC_DST_LAYOUT__SHIFT			8
#define NVE4_COPY_EXEC_DST_LAYOUT_PITCH			0x00000000
#define NVE4_COPY_EXEC_DST_LAYOUT_BLOCKLINEAR			0x00000100
#define NVE4_COPY_EXEC_2D_ENABLE				0x00000200
#define NVE4_COPY_EXEC_SWIZZLE_ENABLE				0x00000400
#define NVE4_COPY_EXEC_BYPASS_L2__MASK				0x00000800
#define NVE4_COPY_EXEC_BYPASS_L2__SHIFT			11
#define NVE4_COPY_EXEC_BYPASS_L2_USE_PTE_SETTING		0x00000000
#define NVE4_COPY_EXEC_BYPASS_L2_FORCE_VOLATILE		0x00000800
#define NVE4_COPY_EXEC_SRC_TYPE__MASK				0x00001000
#define NVE4_COPY_EXEC_SRC_TYPE__SHIFT				12
#define NVE4_COPY_EXEC_SRC_TYPE_VIRTUAL			0x00000000
#define NVE4_COPY_EXEC_SRC_TYPE_PHYSICAL			0x00001000
#define NVE4_COPY_EXEC_DST_TYPE__MASK				0x00002000
#define NVE4_COPY_EXEC_DST_TYPE__SHIFT				13
#define NVE4_COPY_EXEC_DST_TYPE_VIRTUAL			0x00000000
#define NVE4_COPY_EXEC_DST_TYPE_PHYSICAL			0x00002000
#define NVE4_COPY_EXEC_SEMAPHORE_REDUCTION__MASK		0x0003c000
#define NVE4_COPY_EXEC_SEMAPHORE_REDUCTION__SHIFT		14
#define NVE4_COPY_EXEC_SEMAPHORE_REDUCTION_SIGN		0x00040000
#define NVE4_COPY_EXEC_SEMAPHORE_REDUCTION			0x00080000

#define NVE4_COPY_SRC_ADDRESS_HIGH				0x00000400

#define NVE4_COPY_SRC_ADDRESS_LOW				0x00000404

#define NVE4_COPY_DST_ADDRESS_HIGH				0x00000408

#define NVE4_COPY_DST_ADDRESS_LOW				0x0000040c

#define NVE4_COPY_SRC_PITCH					0x00000410

#define NVE4_COPY_DST_PITCH					0x00000414

#define NVE4_COPY_X_COUNT					0x00000418

#define NVE4_COPY_Y_COUNT					0x0000041c

#define NVE4_COPY_CONST0					0x00000700

#define NVE4_COPY_CONST1					0x00000704

#define NVE4_COPY_SWIZZLE					0x00000708
#define NVE4_COPY_SWIZZLE_COMPONENT0__MASK			0x0000000f
#define NVE4_COPY_SWIZZLE_COMPONENT0__SHIFT			0
#define NVE4_COPY_SWIZZLE_COMPONENT0_SRC0			0x00000000
#define NVE4_COPY_SWIZZLE_COMPONENT0_SRC1			0x00000001
#define NVE4_COPY_SWIZZLE_COMPONENT0_SRC2			0x00000002
#define NVE4_COPY_SWIZZLE_COMPONENT0_SRC3			0x00000003
#define NVE4_COPY_SWIZZLE_COMPONENT0_CONST0			0x00000004
#define NVE4_COPY_SWIZZLE_COMPONENT0_CONST1			0x00000005
#define NVE4_COPY_SWIZZLE_COMPONENT0_ZERO			0x00000006
#define NVE4_COPY_SWIZZLE_COMPONENT1__MASK			0x000000f0
#define NVE4_COPY_SWIZZLE_COMPONENT1__SHIFT			4
#define NVE4_COPY_SWIZZLE_COMPONENT1_SRC0			0x00000000
#define NVE4_COPY_SWIZZLE_COMPONENT1_SRC1			0x00000010
#define NVE4_COPY_SWIZZLE_COMPONENT1_SRC2			0x00000020
#define NVE4_COPY_SWIZZLE_COMPONENT1_SRC3			0x00000030
#define NVE4_COPY_SWIZZLE_COMPONENT1_CONST0			0x00000040
#define NVE4_COPY_SWIZZLE_COMPONENT1_CONST1			0x00000050
#define NVE4_COPY_SWIZZLE_COMPONENT1_ZERO			0x00000060
#define NVE4_COPY_SWIZZLE_COMPONENT2__MASK			0x00000f00
#define NVE4_COPY_SWIZZLE_COMPONENT2__SHIFT			8
#define NVE4_COPY_SWIZZLE_COMPONENT2_SRC0			0x00000000
#define NVE4_COPY_SWIZZLE_COMPONENT2_SRC1			0x00000100
#define NVE4_COPY_SWIZZLE_COMPONENT2_SRC2			0x00000200
#define NVE4_COPY_SWIZZLE_COMPONENT2_SRC3			0x00000300
#define NVE4_COPY_SWIZZLE_COMPONENT2_CONST0			0x00000400
#define NVE4_COPY_SWIZZLE_COMPONENT2_CONST1			0x00000500
#define NVE4_COPY_SWIZZLE_COMPONENT2_ZERO			0x00000600
#define NVE4_COPY_SWIZZLE_COMPONENT3__MASK			0x0000f000
#define NVE4_COPY_SWIZZLE_COMPONENT3__SHIFT			12
#define NVE4_COPY_SWIZZLE_COMPONENT3_SRC0			0x00000000
#define NVE4_COPY_SWIZZLE_COMPONENT3_SRC1			0x00001000
#define NVE4_COPY_SWIZZLE_COMPONENT3_SRC2			0x00002000
#define NVE4_COPY_SWIZZLE_COMPONENT3_SRC3			0x00003000
#define NVE4_COPY_SWIZZLE_COMPONENT3_CONST0			0x00004000
#define NVE4_COPY_SWIZZLE_COMPONENT3_CONST1			0x00005000
#define NVE4_COPY_SWIZZLE_COMPONENT3_ZERO			0x00006000
#define NVE4_COPY_SWIZZLE_COMPONENT_SIZE_M1__MASK		0x00030000
#define NVE4_COPY_SWIZZLE_COMPONENT_SIZE_M1__SHIFT		16
#define NVE4_COPY_SWIZZLE_SRC_NUM_COMPONENTS_M1__MASK		0x00700000
#define NVE4_COPY_SWIZZLE_SRC_NUM_COMPONENTS_M1__SHIFT		20
#define NVE4_COPY_SWIZZLE_DST_NUM_COMPONENTS_M1__MASK		0x07000000
#define NVE4_COPY_SWIZZLE_DST_NUM_COMPONENTS_M1__SHIFT		24

#define NVE4_COPY_DST_BLOCK_DIMENSIONS				0x0000070c
#define NVE4_COPY_DST_BLOCK_DIMENSIONS_GOB_HEIGHT__MASK	0x0000f000
#define NVE4_COPY_DST_BLOCK_DIMENSIONS_GOB_HEIGHT__SHIFT	12
#define NVE4_COPY_DST_BLOCK_DIMENSIONS_GOB_HEIGHT_TESLA_4	0x00000000
#define NVE4_COPY_DST_BLOCK_DIMENSIONS_GOB_HEIGHT_FERMI_8	0x00001000
#define NVE4_COPY_DST_BLOCK_DIMENSIONS_DEPTH__MASK		0x00000f00
#define NVE4_COPY_DST_BLOCK_DIMENSIONS_DEPTH__SHIFT		8
#define NVE4_COPY_DST_BLOCK_DIMENSIONS_HEIGHT__MASK		0x000000f0
#define NVE4_COPY_DST_BLOCK_DIMENSIONS_HEIGHT__SHIFT		4
#define NVE4_COPY_DST_BLOCK_DIMENSIONS_WIDTH__MASK		0x0000000f
#define NVE4_COPY_DST_BLOCK_DIMENSIONS_WIDTH__SHIFT		0

#define NVE4_COPY_DST_SIZE_X					0x00000710

#define NVE4_COPY_DST_SIZE_Y					0x00000714

#define NVE4_COPY_DST_SIZE_Z					0x00000718

#define NVE4_COPY_DST_POS_Z					0x0000071c

#define NVE4_COPY_DST_POS_XY					0x00000720
#define NVE4_COPY_DST_POS_XY_X__MASK				0x0000ffff
#define NVE4_COPY_DST_POS_XY_X__SHIFT				0
#define NVE4_COPY_DST_POS_XY_Y__MASK				0xffff0000
#define NVE4_COPY_DST_POS_XY_Y__SHIFT				16

#define NVE4_COPY_SRC_BLOCK_DIMENSIONS				0x00000728
#define NVE4_COPY_SRC_BLOCK_DIMENSIONS_GOB_HEIGHT__MASK	0x0000f000
#define NVE4_COPY_SRC_BLOCK_DIMENSIONS_GOB_HEIGHT__SHIFT	12
#define NVE4_COPY_SRC_BLOCK_DIMENSIONS_GOB_HEIGHT_TESLA_4	0x00000000
#define NVE4_COPY_SRC_BLOCK_DIMENSIONS_GOB_HEIGHT_FERMI_8	0x00001000
#define NVE4_COPY_SRC_BLOCK_DIMENSIONS_DEPTH__MASK		0x00000f00
#define NVE4_COPY_SRC_BLOCK_DIMENSIONS_DEPTH__SHIFT		8
#define NVE4_COPY_SRC_BLOCK_DIMENSIONS_HEIGHT__MASK		0x000000f0
#define NVE4_COPY_SRC_BLOCK_DIMENSIONS_HEIGHT__SHIFT		4
#define NVE4_COPY_SRC_BLOCK_DIMENSIONS_WIDTH__MASK		0x0000000f
#define NVE4_COPY_SRC_BLOCK_DIMENSIONS_WIDTH__SHIFT		0

#define NVE4_COPY_SRC_SIZE_X					0x0000072c

#define NVE4_COPY_SRC_SIZE_Y					0x00000730

#define NVE4_COPY_SRC_SIZE_Z					0x00000734

#define NVE4_COPY_SRC_POS_Z					0x00000738

#define NVE4_COPY_SRC_POS_XY					0x0000073c
#define NVE4_COPY_SRC_POS_XY_X__MASK				0x0000ffff
#define NVE4_COPY_SRC_POS_XY_X__SHIFT				0
#define NVE4_COPY_SRC_POS_XY_Y__MASK				0xffff0000
#define NVE4_COPY_SRC_POS_XY_Y__SHIFT				16

#define NVE4_COPY_WRCACHE_FLUSH				0x00001114


#endif /* NVE4_COPY_XML */
