Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.

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 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 AUTHORS OR COPYRIGHT HOLDERS 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 NV_PGRAPH_PRI_FE_HWW_ESR                              0x00404000 /* RW-4R */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INJECTED_BUNDLE_ERROR               0:0 /* R-EVF */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INJECTED_BUNDLE_ERROR_NOT_PENDING   0x0 /* R-E-V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INJECTED_BUNDLE_ERROR_PENDING       0x1 /* R---V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_CLASS_SUBCH_MISMATCH                1:1 /* R-EVF */
#define NV_PGRAPH_PRI_FE_HWW_ESR_CLASS_SUBCH_MISMATCH_NOT_PENDING    0x0 /* R-E-V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_CLASS_SUBCH_MISMATCH_PENDING        0x1 /* R---V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_SPECULATIVE_GO_IDLE                 3:3 /* R-EVF */
#define NV_PGRAPH_PRI_FE_HWW_ESR_SPECULATIVE_GO_IDLE_NOT_PENDING     0x0 /* R-E-V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_SPECULATIVE_GO_IDLE_PENDING         0x1 /* R---V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_ILLEGAL_FE_ATOMIC_SEQ               4:4 /* R-EVF */
#define NV_PGRAPH_PRI_FE_HWW_ESR_ILLEGAL_FE_ATOMIC_SEQ_NOT_PENDING   0x0 /* R-E-V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_ILLEGAL_FE_ATOMIC_SEQ_PENDING       0x1 /* R---V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_RESET                             30:30 /* -WEVF */
#define NV_PGRAPH_PRI_FE_HWW_ESR_RESET_V_0                           0x0 /* -WE-V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_RESET_ACTIVE                        0x1 /* -W--T */
#define NV_PGRAPH_PRI_FE_HWW_ESR_EN                                31:31 /* RWEVF */
#define NV_PGRAPH_PRI_FE_HWW_ESR_EN_DISABLE                          0x0 /* RW--V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_EN_ENABLE                           0x1 /* RWE-V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO                              0x004041B0 /* R--4R */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_CLASS_SUBCH_MISMATCH_CLASS         15:0 /* R--VF */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_CLASS_SUBCH_MISMATCH_SUBCH        18:16 /* R--VF */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_CLASS_SUBCH_MISMATCH_SUBCH_0        0x0 /* R---V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_CLASS_SUBCH_MISMATCH_SUBCH_1        0x1 /* R---V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_CLASS_SUBCH_MISMATCH_FEPIPE       19:19 /* R--VF */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_CLASS_SUBCH_MISMATCH_FEPIPE_FE0     0x0 /* R---V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_CLASS_SUBCH_MISMATCH_FEPIPE_FE1     0x1 /* R---V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_ILLEGAL_FE_ATOMIC_SEQ_FEPIPE      21:21 /* R--VF */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_ILLEGAL_FE_ATOMIC_SEQ_FEPIPE_FE0    0x0 /* R---V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_ILLEGAL_FE_ATOMIC_SEQ_FEPIPE_FE1    0x1 /* R---V */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_VEID     6+23:24 /* R--VF */
#define NV_PGRAPH_PRI_FE_HWW_ESR_INFO_VEID_INIT                           0x0 /* R---V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD                             0x00404004 /* RW-4R */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_MTHD                              13:2 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_MTHD_INIT                   0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_SUBCH                            18:16 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_SUBCH_3D                           0x0 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_SUBCH_COMPUTE                      0x1 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_SUBCH_I2M                          0x2 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_SUBCH_2D                           0x3 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_NONINCR                          20:20 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_NONINCR_TRUE                0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_NONINCR_FALSE               0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_MEM_XACTION                      21:21 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_MEM_XACTION_FALSE           0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_MEM_XACTION_TRUE            0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FORCE_SUBCHSW                    23:23 /* R-XVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FORCE_SUBCHSW_FALSE         0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FORCE_SUBCHSW_TRUE          0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATAHIGH                         25:25 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATAHIGH_INVALID            0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATAHIGH_VALID              0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_SINGLE_VEID_WFI                  27:27 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_SINGLE_VEID_WFI_FALSE       0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_SINGLE_VEID_WFI_TRUE        0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_STATUS                           31:31 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_STATUS_INVALID              0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_STATUS_VALID                0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_LOW                   0x00404008 /* RW-4R */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_LOW_V                       31:0 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_LOW_V_0               0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_HIGH                  0x0040400C /* RW-4R */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_HIGH_V                      31:0 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_HIGH_V_0              0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE                              0x00404024 /* RW-4R */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FILTER_SINGLE_VEID_WFI                     3:3 /* RWIVF */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FILTER_SINGLE_VEID_WFI_DISABLED     0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FILTER_SINGLE_VEID_WFI_ENABLED      0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_SUBCH                             15:13 /* RWIVF */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_SUBCH_INIT                   0x00000007 /* RWI-V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_VEID     6+19:20 /* RWIVF */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_VEID_INIT                         0x000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_IS_INTERNAL_MTHD                  31:31 /* R-IVF */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_IS_INTERNAL_MTHD_FALSE       0x00000000 /* R-I-V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_IS_INTERNAL_MTHD_TRUE        0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_CHIP_DEF_INFO                                     0x00404030 /* R--4R */
#define NV_PGRAPH_PRI_FE_CHIP_DEF_INFO_MAX_VEID_COUNT                            11:0 /* C---F */
#define NV_PGRAPH_PRI_FE_CHIP_DEF_INFO_MAX_VEID_COUNT_INIT       64 /* C---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_A                      0x0040413C /* R--4R */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_A_OFFSET_UPPER                7:0 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_B                      0x00404140 /* R--4R */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_B_OFFSET_LOWER               31:0 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_C                      0x00404144 /* R--4R */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_C_PAYLOAD                    31:0 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D                                              0x00404148 /* R--4R */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_OPERATION                                           3:0 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_OPERATION_RELEASE                            0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_OPERATION_REPORT_ONLY                        0x00000002 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_OPERATION_TRAP                               0x00000003 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_OPERATION_FLUSH_PENDING_WRITES               0x00000004 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_PIPELINE_LOCATION                                   7:4 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_PIPELINE_LOCATION_WORLD                      0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_PIPELINE_LOCATION_WORLD_ALPHA                0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_PIPELINE_LOCATION_WORLD_BETA                 0x00000002 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_PIPELINE_LOCATION_CWD                        0x00000003 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_PIPELINE_LOCATION_SCREEN                     0x00000004 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_PIPELINE_LOCATION_FE                         0x00000005 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_PIPELINE_LOCATION_SCREEN_CROP                0x00000006 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_COMPARISON                                          8:8 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_COMPARISON_EQ                                0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_COMPARISON_GE                                0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_AWAKEN_ENABLE                                       9:9 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_AWAKEN_ENABLE_FALSE                          0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_AWAKEN_ENABLE_TRUE                           0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT                                            14:10 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_NONE                                  0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_DA_VERTICES_GENERATED                 0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_ZPASS_PIXEL_CNT                       0x00000002 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_DA_PRIMITIVES_GENERATED               0x00000003 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_ALPHA_BETA_CLOCKS                     0x00000004 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_VS_INVOCATIONS                        0x00000005 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_STREAMING_PRIMITIVES_NEEDED_MIN_SUCC  0x00000006 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_GS_INVOCATIONS                        0x00000007 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_GS_PRIMITIVES_GENERATED               0x00000009 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_ZCULL_STATS0                          0x0000000A /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_STREAMING_PRIMITIVES_SUCCEEDED        0x0000000B /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_ZCULL_STATS1                          0x0000000C /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_STREAMING_PRIMITIVES_NEEDED           0x0000000D /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_ZCULL_STATS2                          0x0000000E /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_CLIPPER_INVOCATIONS                   0x0000000F /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_ZCULL_STATS3                          0x00000010 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_CLIPPER_PRIMITIVES_GENERATED          0x00000011 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_VTG_PRIMITIVES_OUT                    0x00000012 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_PS_INVOCATIONS                        0x00000013 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_ZPASS_PIXEL_CNT64                     0x00000015 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_IEEE_CLEAN_COLOR_TARGET               0x00000018 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_IEEE_CLEAN_ZETA_TARGET                0x00000019 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_STREAMING_BYTE_COUNT                  0x0000001A /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_TI_INVOCATIONS                        0x0000001B /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_TS_INVOCATIONS                        0x0000001D /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_TOTAL_STREAMING_PRIMS_NEEDED_MIN_SUCC 0x0000001E /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_TS_PRIMITIVES_GENERATED               0x0000001F /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_STRUCTURE_SIZE                                    15:15 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_STRUCTURE_SIZE_FOUR_WORDS                    0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_STRUCTURE_SIZE_ONE_WORD                      0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_SUB_REPORT                                        18:16 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_FLUSH_DISABLE                                     19:19 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_FLUSH_DISABLE_FALSE                          0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_FLUSH_DISABLE_TRUE                           0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_SIZE                                       20:20 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_SIZE_FOUR_BYTES                       0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_SIZE_EIGHT_BYTES                      0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_DWORD_NUM                                  21:21 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_DWORD_NUM_LOWER                       0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_REPORT_DWORD_NUM_UPPER                       0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_VEID                     6+23:24 /* R-XVF */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_D_VEID_INIT                                    0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_REPORT                     0x0040414C /* R--4R */
#define NV_PGRAPH_PRI_FE_SEMAPHORE_STATE_REPORT_V                         31:0 /* R-XVF */
#define NV_PGRAPH_PRI_FE_GO_IDLE_TIMEOUT                            0x00404154 /* RW-4R */
#define NV_PGRAPH_PRI_FE_GO_IDLE_TIMEOUT_COUNT                            31:0 /* RWIVF */
#define NV_PGRAPH_PRI_FE_GO_IDLE_TIMEOUT_COUNT_INIT                 0x7FFFFFFF /* RWI-V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_TIMEOUT_COUNT__PROD                0x00001800 /* RW--V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_TIMEOUT_COUNT_DISABLED             0x00000000 /* RW--V */
#define NV_PGRAPH_PRI_FE_PWR_MODE                                  0x00404170 /* RW-4R */
#define NV_PGRAPH_PRI_FE_PWR_MODE_MODE                                    1:0 /* RWEVF */
#define NV_PGRAPH_PRI_FE_PWR_MODE_MODE_AUTO                               0x0 /* RWE-V */
#define NV_PGRAPH_PRI_FE_PWR_MODE_MODE_SLOW                               0x1 /* RW--V */
#define NV_PGRAPH_PRI_FE_PWR_MODE_MODE_FORCE_ON                           0x2 /* RW--V */
#define NV_PGRAPH_PRI_FE_PWR_MODE_MODE_FORCE_POWER                        0x3 /* RW--V */
#define NV_PGRAPH_PRI_FE_PWR_MODE_REQ                                     4:4 /* RWEVF */
#define NV_PGRAPH_PRI_FE_PWR_MODE_REQ_DONE                                0x0 /* R-E-V */
#define NV_PGRAPH_PRI_FE_PWR_MODE_REQ_PENDING                             0x1 /* R---V */
#define NV_PGRAPH_PRI_FE_PWR_MODE_REQ_SEND                                0x1 /* -W--T */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3                           0x0040417C /* RW-4R */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3_MME_PC                          11:0 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3_MME_PC_INIT                    0x000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3_MME_GENERATED                  31:31 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3_MME_GENERATED_FALSE              0x0 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3_MME_GENERATED_TRUE               0x1 /* RW--V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO                                       0x00404194 /* RW-4R */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_GPM_CNT                                      3:0 /* RWIVF */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_GPM_CNT_INIT                                 0x0 /* RWI-V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_ROP_CNT                                      7:4 /* RWIVF */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_ROP_CNT_INIT                                 0x0 /* RWI-V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_MAX_GPM_ROP_CNT                             11:8 /* RWIVF */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_MAX_GPM_ROP_CNT_INIT                         0x7 /* RWI-V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_SKED_OUTSTANDING_GO_IDLE                   13:12 /* R-IVF */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_SKED_OUTSTANDING_GO_IDLE_IS_NONE             0x0 /* R-I-V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_SKED_OUTSTANDING_GO_IDLE_IS_SINGLE           0x1 /* R---V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_SKED_OUTSTANDING_GO_IDLE_IS_ALL              0x2 /* R---V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_SKED_CNT                                   16:16 /* R-IVF */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_SKED_CNT_MAX                                 0x1 /* R---V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_SKED_CNT_INIT                                0x0 /* R-I-V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_I2M_CNT                                    20:20 /* R-IVF */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_I2M_CNT_MAX                                  0x1 /* R---V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_I2M_CNT_INIT                                 0x0 /* R-I-V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_GFX_LAST_EMITTER_IS_GO_IDLE                24:24 /* RWIVF */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_GFX_LAST_EMITTER_IS_GO_IDLE_TRUE             0x1 /* R-I-V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_GFX_LAST_EMITTER_IS_GO_IDLE_FALSE            0x0 /* R---V */
#define NV_PGRAPH_PRI_FE_GFXP_WFI_TIMEOUT                          0x004041C0  /* RW-4R */
#define NV_PGRAPH_PRI_FE_GFXP_WFI_TIMEOUT_COUNT                          31:0  /* RWIVF */
#define NV_PGRAPH_PRI_FE_GFXP_WFI_TIMEOUT_COUNT_INIT               0x00000800  /* RWI-V */
#define NV_PGRAPH_PRI_FE_GFXP_WFI_TIMEOUT_COUNT__PROD              0x00000800  /* RW--V */
#define NV_PGRAPH_PRI_FE_GFXP_WFI_TIMEOUT_COUNT_DISABLED           0x00000000  /* RW--V */
#define NV_PGRAPH_PRI_FE_CG                          0x004041F0 /* RW-4R */
#define NV_PGRAPH_PRI_FE_CG_IDLE_CG_DLY_CNT                 5:0 /* RWEVF */
#define NV_PGRAPH_PRI_FE_CG_IDLE_CG_DLY_CNT_HWINIT   0x00000000 /* RWE-V */
#define NV_PGRAPH_PRI_FE_CG_IDLE_CG_DLY_CNT__PROD    0x00000006 /* RW--V */
#define NV_PGRAPH_PRI_FE_CG_IDLE_CG_EN                      6:6 /* RWEVF */
#define NV_PGRAPH_PRI_FE_CG_IDLE_CG_EN_ENABLED       0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CG_IDLE_CG_EN_DISABLED      0x00000000 /* RWE-V */
#define NV_PGRAPH_PRI_FE_CG_IDLE_CG_EN__PROD         0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CG_STATE_CG_EN                     7:7 /*       */
#define NV_PGRAPH_PRI_FE_CG_STATE_CG_EN_ENABLED      0x00000001 /*       */
#define NV_PGRAPH_PRI_FE_CG_STATE_CG_EN_DISABLED     0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_STATE_CG_EN__PROD        0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_STALL_CG_DLY_CNT               13:8 /*       */
#define NV_PGRAPH_PRI_FE_CG_STALL_CG_DLY_CNT_HWINIT  0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_STALL_CG_DLY_CNT__PROD   0x00000006 /*       */
#define NV_PGRAPH_PRI_FE_CG_STALL_CG_EN                   14:14 /* RWEVF */
#define NV_PGRAPH_PRI_FE_CG_STALL_CG_EN_ENABLED      0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CG_STALL_CG_EN_DISABLED     0x00000000 /* RWE-V */
#define NV_PGRAPH_PRI_FE_CG_STALL_CG_EN__PROD        0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CG_QUIESCENT_CG_EN               15:15 /*       */
#define NV_PGRAPH_PRI_FE_CG_QUIESCENT_CG_EN_ENABLED  0x00000001 /*       */
#define NV_PGRAPH_PRI_FE_CG_QUIESCENT_CG_EN_DISABLED 0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_QUIESCENT_CG_EN__PROD    0x00000001 /*       */
#define NV_PGRAPH_PRI_FE_CG_WAKEUP_DLY_CNT                19:16 /* RWEVF */
#define NV_PGRAPH_PRI_FE_CG_WAKEUP_DLY_CNT_HWINIT    0x00000000 /* RWE-V */
#define NV_PGRAPH_PRI_FE_CG_WAKEUP_DLY_CNT__PROD     0x00000000 /* RW--V */
#define NV_PGRAPH_PRI_FE_CG_THROT_CLK_CNT                 23:20 /*       */
#define NV_PGRAPH_PRI_FE_CG_THROT_CLK_CNT_FULLSPEED  0x0000000f /*       */
#define NV_PGRAPH_PRI_FE_CG_THROT_CLK_CNT__PROD      0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_DI_DT_SKEW_VAL                27:24 /*       */
#define NV_PGRAPH_PRI_FE_CG_DI_DT_SKEW_VAL_HWINIT    0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_DI_DT_SKEW_VAL__PROD     0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_THROT_CLK_EN                  28:28 /*       */
#define NV_PGRAPH_PRI_FE_CG_THROT_CLK_EN_ENABLED     0x00000001 /*       */
#define NV_PGRAPH_PRI_FE_CG_THROT_CLK_EN_DISABLED    0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_THROT_CLK_EN__PROD       0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_THROT_CLK_SW_OVER             29:29 /*       */
#define NV_PGRAPH_PRI_FE_CG_THROT_CLK_SW_OVER_EN     0x00000001 /*       */
#define NV_PGRAPH_PRI_FE_CG_THROT_CLK_SW_OVER_DIS    0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_THROT_CLK_SW_OVER__PROD  0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_PAUSE_CG_EN                   30:30 /*       */
#define NV_PGRAPH_PRI_FE_CG_PAUSE_CG_EN_ENABLED      0x00000001 /*       */
#define NV_PGRAPH_PRI_FE_CG_PAUSE_CG_EN_DISABLED     0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_PAUSE_CG_EN__PROD        0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_HALT_CG_EN                    31:31 /*       */
#define NV_PGRAPH_PRI_FE_CG_HALT_CG_EN_ENABLED       0x00000001 /*       */
#define NV_PGRAPH_PRI_FE_CG_HALT_CG_EN_DISABLED      0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG_HALT_CG_EN__PROD         0x00000000 /*       */
#define NV_PGRAPH_PRI_FE_CG1                               0x004041F4 /* RW-4R */
#define NV_PGRAPH_PRI_FE_CG1_MONITOR_CG_EN                      0:0 /* RWEVF */
#define NV_PGRAPH_PRI_FE_CG1_MONITOR_CG_EN_ENABLED       0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CG1_MONITOR_CG_EN_DISABLED      0x00000000 /* RWE-V */
#define NV_PGRAPH_PRI_FE_CG1_MONITOR_CG_EN__PROD         0x00000000 /* RW--V */
#define NV_PGRAPH_PRI_FE_CG1_SLCG                            26:1 /* RWEVF */
#define NV_PGRAPH_PRI_FE_CG1_SLCG_ENABLED                0x00000000 /* RW--V */
#define NV_PGRAPH_PRI_FE_CG1_SLCG_DISABLED               0x03FFFFFF /* RWE-V */
#define NV_PGRAPH_PRI_FE_CG1_SLCG__PROD                  0x00000000 /* RW--V */
#define NV_PGRAPH_PRI_FE_OBJECT_TABLE(i)                    (0x00404200+(i)*4) /* R--4A */
#define NV_PGRAPH_PRI_FE_OBJECT_TABLE__SIZE_1                               4  /*       */
#define NV_PGRAPH_PRI_FE_OBJECT_TABLE_NVCLASS                            15:0  /* R--VF */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_COMPUTE(i)                    (0x00404210+(i)*4) /* RW-4A */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_COMPUTE__SIZE_1                               2  /*       */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_COMPUTE_LAST_EMITTER_IS_GO_IDLE            31:0  /* RWIVF */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_COMPUTE_LAST_EMITTER_IS_GO_IDLE_INIT 0xffffffff  /* R-I-V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_COMPUTE_LAST_EMITTER_IS_GO_IDLE_TRUE        0x1  /* R---V */
#define NV_PGRAPH_PRI_FE_GO_IDLE_INFO_COMPUTE_LAST_EMITTER_IS_GO_IDLE_FALSE       0x0  /* R---V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1                            0x0040A004 /* RW-4R */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_MTHD                             13:2 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_MTHD_INIT                  0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_SUBCH                           18:16 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_SUBCH_3D                          0x0 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_SUBCH_COMPUTE                     0x1 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_SUBCH_I2M                         0x2 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_SUBCH_2D                          0x3 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_NONINCR                         20:20 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_NONINCR_TRUE               0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_NONINCR_FALSE              0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_MEM_XACTION                     21:21 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_MEM_XACTION_FALSE          0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_MEM_XACTION_TRUE           0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_FORCE_SUBCHSW                   23:23 /* R-XVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_FORCE_SUBCHSW_FALSE        0x00000000 /* R---V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_FORCE_SUBCHSW_TRUE         0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_DATAHIGH                        25:25 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_DATAHIGH_INVALID           0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_DATAHIGH_VALID             0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_SINGLE_VEID_WFI                 27:27 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_SINGLE_VEID_WFI_FALSE      0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_SINGLE_VEID_WFI_TRUE       0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_STATUS                          31:31 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_STATUS_INVALID             0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_FE1_STATUS_VALID               0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_LOW_FE1                0x0040A008 /* RW-4R */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_LOW_FE1_V                    31:0 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_LOW_FE1_V_0            0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_HIGH_FE1               0x0040A00C /* RW-4R */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_HIGH_FE1_V                   31:0 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD_DATA_HIGH_FE1_V_0           0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FE1                           0x0040A024 /* RW-4R */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FE1_FILTER_SINGLE_VEID_WFI                     3:3 /* RWIVF */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FE1_FILTER_SINGLE_VEID_WFI_DISABLED     0x00000000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FE1_FILTER_SINGLE_VEID_WFI_ENABLED      0x00000001 /* RW--V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FE1_SUBCH                          15:13 /* RWIVF */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FE1_SUBCH_INIT                0x00000007 /* RWI-V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FE1_VEID     6+19:20 /* RWIVF */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FE1_VEID_INIT                         0x000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FE1_IS_INTERNAL_MTHD               31:31 /* R-IVF */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FE1_IS_INTERNAL_MTHD_FALSE    0x00000000 /* R-I-V */
#define NV_PGRAPH_PRI_FE_METHOD_STATE_FE1_IS_INTERNAL_MTHD_TRUE     0x00000001 /* R---V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3_FE1                        0x0040A17C /* RW-4R */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3_FE1_MME_PC                       11:0 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3_FE1_MME_PC_INIT                 0x000 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3_FE1_MME_GENERATED               31:31 /* RWIVF */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3_FE1_MME_GENERATED_FALSE           0x0 /* RWI-V */
#define NV_PGRAPH_PRI_FE_CURRENT_METHOD3_FE1_MME_GENERATED_TRUE            0x1 /* RW--V */
#define NV_PGRAPH_PRI_FE_TPC_FS(i)                   (0x0040A200+(i)*4)                /* R--4A */
#define NV_PGRAPH_PRI_FE_TPC_FS__SIZE_1              8                                 /*       */
#define NV_PGRAPH_PRI_FE_TPC_FS_MASK                 31:0                               /* R-IVF */
#define NV_PGRAPH_PRI_FE_TPC_FS_MASK_TPC_DISABLED    0x00000000                        /* R-I-V */
#define NV_PGRAPH_PRI_FE_TPC_FS_MASK_TPC_ENABLED     0x00000001                        /* R---V */

--------------------------------------------------------------------------------
                         KEY LEGEND
--------------------------------------------------------------------------------

Each define in the .ref file has a 5 field code to say what kind of define it is: i.e. /* RW--R */
The following legend shows accepted values for each of the 5 fields:
  Read, Write, Internal State, Declaration/Size, and Define Indicator.

  Read
    ' ' = Other Information
    '-' = Field is part of a write-only register
    'C' = Value read is always the same, constant value line follows (C)
    'R' = Value is read


  Write
    ' ' = Other Information
    '-' = Must not be written (D), value ignored when written (R,A,F)
    'W' = Can be written


  Internal State
    ' ' = Other Information
    '-' = No internal state
    'X' = Internal state, initial value is unknown
    'I' = Internal state, initial value is known and follows (I), see "Reset Signal" section for signal.
    'E' = Internal state, initial value is known and follows (E), see "Reset Signal" section for signal.
    'B' = Internal state, initial value is known and follows (B), see "Reset Signal" section for signal.
    'C' = Internal state, initial value is known and follows (C), see "Reset Signal" section for signal.

    'V' = (legacy) Internal state, initialize at volatile reset
    'D' = (legacy) Internal state, default initial value at object creation (legacy: Only used in dev_ram.ref)
    'C' = (legacy) Internal state, initial value at object creation
    'C' = (legacy) Internal state, class-based initial value at object creation (legacy: Only used in dev_ram.ref)


  Declaration/Size
    ' ' = Other Information
    '-' = Does Not Apply
    'V' = Type is void
    'U' = Type is unsigned integer
    'S' = Type is signed integer
    'F' = Type is IEEE floating point
    '1' = Byte size (008)
    '2' = Short size (016)
    '3' = Three byte size (024)
    '4' = Word size (032)
    '8' = Double size (064)


  Define Indicator
    ' ' = Other Information
    'C' = Clear value
    'D' = Device
    'L' = Logical device.
    'M' = Memory
    'R' = Register
    'A' = Array of Registers
    'F' = Field
    'V' = Value
    'T' = Task
    'P' = Phantom Register

    'B' = (legacy) Bundle address
    'G' = (legacy) General purpose configuration register
    'C' = (legacy) Class

  Reset signal defaults for graphics engine registers.
    All graphics engine registers use the following defaults for reset signals:
     'E' = initialized with engine_reset_
     'I' = initialized with context_reset_
     'B' = initialized with reset_IB_dly_

  Reset signal
    For units that differ from the graphics engine defaults, the reset signals should be defined here:
