1 #define NVOC_DEVICE_H_PRIVATE_ACCESS_ALLOWED
2 #include "nvoc/runtime.h"
3 #include "nvoc/rtti.h"
4 #include "nvtypes.h"
5 #include "nvport/nvport.h"
6 #include "nvport/inline/util_valist.h"
7 #include "utils/nvassert.h"
8 #include "g_device_nvoc.h"
9 
10 #ifdef DEBUG
11 char __nvoc_class_id_uniqueness_check_0xe0ac20 = 1;
12 #endif
13 
14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Device;
15 
16 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object;
17 
18 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsResource;
19 
20 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResourceCommon;
21 
22 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResource;
23 
24 extern const struct NVOC_CLASS_DEF __nvoc_class_def_GpuResource;
25 
26 void __nvoc_init_Device(Device*);
27 void __nvoc_init_funcTable_Device(Device*);
28 NV_STATUS __nvoc_ctor_Device(Device*, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams);
29 void __nvoc_init_dataField_Device(Device*);
30 void __nvoc_dtor_Device(Device*);
31 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_Device;
32 
33 static const struct NVOC_RTTI __nvoc_rtti_Device_Device = {
34     /*pClassDef=*/          &__nvoc_class_def_Device,
35     /*dtor=*/               (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_Device,
36     /*offset=*/             0,
37 };
38 
39 static const struct NVOC_RTTI __nvoc_rtti_Device_Object = {
40     /*pClassDef=*/          &__nvoc_class_def_Object,
41     /*dtor=*/               &__nvoc_destructFromBase,
42     /*offset=*/             NV_OFFSETOF(Device, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object),
43 };
44 
45 static const struct NVOC_RTTI __nvoc_rtti_Device_RsResource = {
46     /*pClassDef=*/          &__nvoc_class_def_RsResource,
47     /*dtor=*/               &__nvoc_destructFromBase,
48     /*offset=*/             NV_OFFSETOF(Device, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource),
49 };
50 
51 static const struct NVOC_RTTI __nvoc_rtti_Device_RmResourceCommon = {
52     /*pClassDef=*/          &__nvoc_class_def_RmResourceCommon,
53     /*dtor=*/               &__nvoc_destructFromBase,
54     /*offset=*/             NV_OFFSETOF(Device, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon),
55 };
56 
57 static const struct NVOC_RTTI __nvoc_rtti_Device_RmResource = {
58     /*pClassDef=*/          &__nvoc_class_def_RmResource,
59     /*dtor=*/               &__nvoc_destructFromBase,
60     /*offset=*/             NV_OFFSETOF(Device, __nvoc_base_GpuResource.__nvoc_base_RmResource),
61 };
62 
63 static const struct NVOC_RTTI __nvoc_rtti_Device_GpuResource = {
64     /*pClassDef=*/          &__nvoc_class_def_GpuResource,
65     /*dtor=*/               &__nvoc_destructFromBase,
66     /*offset=*/             NV_OFFSETOF(Device, __nvoc_base_GpuResource),
67 };
68 
69 static const struct NVOC_CASTINFO __nvoc_castinfo_Device = {
70     /*numRelatives=*/       6,
71     /*relatives=*/ {
72         &__nvoc_rtti_Device_Device,
73         &__nvoc_rtti_Device_GpuResource,
74         &__nvoc_rtti_Device_RmResource,
75         &__nvoc_rtti_Device_RmResourceCommon,
76         &__nvoc_rtti_Device_RsResource,
77         &__nvoc_rtti_Device_Object,
78     },
79 };
80 
81 const struct NVOC_CLASS_DEF __nvoc_class_def_Device =
82 {
83     /*classInfo=*/ {
84         /*size=*/               sizeof(Device),
85         /*classId=*/            classId(Device),
86         /*providerId=*/         &__nvoc_rtti_provider,
87 #if NV_PRINTF_STRINGS_ALLOWED
88         /*name=*/               "Device",
89 #endif
90     },
91     /*objCreatefn=*/        (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_Device,
92     /*pCastInfo=*/          &__nvoc_castinfo_Device,
93     /*pExportInfo=*/        &__nvoc_export_info_Device
94 };
95 
96 static NV_STATUS __nvoc_thunk_Device_gpuresControl(struct GpuResource *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
97     return deviceControl((struct Device *)(((unsigned char *)pResource) - __nvoc_rtti_Device_GpuResource.offset), pCallContext, pParams);
98 }
99 
100 static NV_STATUS __nvoc_thunk_Device_gpuresInternalControlForward(struct GpuResource *pDevice, NvU32 command, void *pParams, NvU32 size) {
101     return deviceInternalControlForward((struct Device *)(((unsigned char *)pDevice) - __nvoc_rtti_Device_GpuResource.offset), command, pParams, size);
102 }
103 
104 static NvBool __nvoc_thunk_GpuResource_deviceShareCallback(struct Device *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) {
105     return gpuresShareCallback((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_Device_GpuResource.offset), pInvokingClient, pParentRef, pSharePolicy);
106 }
107 
108 static NV_STATUS __nvoc_thunk_RmResource_deviceCheckMemInterUnmap(struct Device *pRmResource, NvBool bSubdeviceHandleProvided) {
109     return rmresCheckMemInterUnmap((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_Device_RmResource.offset), bSubdeviceHandleProvided);
110 }
111 
112 static NV_STATUS __nvoc_thunk_RsResource_deviceMapTo(struct Device *pResource, RS_RES_MAP_TO_PARAMS *pParams) {
113     return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RsResource.offset), pParams);
114 }
115 
116 static NV_STATUS __nvoc_thunk_GpuResource_deviceGetMapAddrSpace(struct Device *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) {
117     return gpuresGetMapAddrSpace((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_Device_GpuResource.offset), pCallContext, mapFlags, pAddrSpace);
118 }
119 
120 static NvU32 __nvoc_thunk_RsResource_deviceGetRefCount(struct Device *pResource) {
121     return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RsResource.offset));
122 }
123 
124 static void __nvoc_thunk_RsResource_deviceAddAdditionalDependants(struct RsClient *pClient, struct Device *pResource, RsResourceRef *pReference) {
125     resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RsResource.offset), pReference);
126 }
127 
128 static NV_STATUS __nvoc_thunk_RmResource_deviceControl_Prologue(struct Device *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
129     return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RmResource.offset), pCallContext, pParams);
130 }
131 
132 static NV_STATUS __nvoc_thunk_GpuResource_deviceGetRegBaseOffsetAndSize(struct Device *pGpuResource, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) {
133     return gpuresGetRegBaseOffsetAndSize((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_Device_GpuResource.offset), pGpu, pOffset, pSize);
134 }
135 
136 static NV_STATUS __nvoc_thunk_RsResource_deviceUnmapFrom(struct Device *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) {
137     return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RsResource.offset), pParams);
138 }
139 
140 static void __nvoc_thunk_RmResource_deviceControl_Epilogue(struct Device *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
141     rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RmResource.offset), pCallContext, pParams);
142 }
143 
144 static NV_STATUS __nvoc_thunk_RsResource_deviceControlLookup(struct Device *pResource, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams, const struct NVOC_EXPORTED_METHOD_DEF **ppEntry) {
145     return resControlLookup((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RsResource.offset), pParams, ppEntry);
146 }
147 
148 static NvHandle __nvoc_thunk_GpuResource_deviceGetInternalObjectHandle(struct Device *pGpuResource) {
149     return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_Device_GpuResource.offset));
150 }
151 
152 static NV_STATUS __nvoc_thunk_GpuResource_deviceUnmap(struct Device *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) {
153     return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_Device_GpuResource.offset), pCallContext, pCpuMapping);
154 }
155 
156 static NV_STATUS __nvoc_thunk_RmResource_deviceGetMemInterMapParams(struct Device *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
157     return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_Device_RmResource.offset), pParams);
158 }
159 
160 static NV_STATUS __nvoc_thunk_RmResource_deviceGetMemoryMappingDescriptor(struct Device *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) {
161     return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_Device_RmResource.offset), ppMemDesc);
162 }
163 
164 static NV_STATUS __nvoc_thunk_RsResource_deviceControlFilter(struct Device *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
165     return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RsResource.offset), pCallContext, pParams);
166 }
167 
168 static NV_STATUS __nvoc_thunk_RmResource_deviceControlSerialization_Prologue(struct Device *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
169     return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RmResource.offset), pCallContext, pParams);
170 }
171 
172 static NvBool __nvoc_thunk_RsResource_deviceCanCopy(struct Device *pResource) {
173     return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RsResource.offset));
174 }
175 
176 static void __nvoc_thunk_RsResource_devicePreDestruct(struct Device *pResource) {
177     resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RsResource.offset));
178 }
179 
180 static NV_STATUS __nvoc_thunk_RsResource_deviceIsDuplicate(struct Device *pResource, NvHandle hMemory, NvBool *pDuplicate) {
181     return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RsResource.offset), hMemory, pDuplicate);
182 }
183 
184 static void __nvoc_thunk_RmResource_deviceControlSerialization_Epilogue(struct Device *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
185     rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RmResource.offset), pCallContext, pParams);
186 }
187 
188 static NV_STATUS __nvoc_thunk_GpuResource_deviceMap(struct Device *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) {
189     return gpuresMap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_Device_GpuResource.offset), pCallContext, pParams, pCpuMapping);
190 }
191 
192 static NvBool __nvoc_thunk_RmResource_deviceAccessCallback(struct Device *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) {
193     return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_Device_RmResource.offset), pInvokingClient, pAllocParams, accessRight);
194 }
195 
196 #if !defined(NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG)
197 #define NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(x)      (0)
198 #endif
199 
200 static const struct NVOC_EXPORTED_METHOD_DEF __nvoc_exported_method_def_Device[] =
201 {
202     {               /*  [0] */
203 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
204         /*pFunc=*/      (void (*)(void)) NULL,
205 #else
206         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdBifGetDmaBaseSysmemAddr_IMPL,
207 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
208         /*flags=*/      0x200u,
209         /*accessRight=*/0x0u,
210         /*methodId=*/   0x800103u,
211         /*paramSize=*/  sizeof(NV0080_CTRL_BIF_GET_DMA_BASE_SYSMEM_ADDR_PARAMS),
212         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
213 #if NV_PRINTF_STRINGS_ALLOWED
214         /*func=*/       "deviceCtrlCmdBifGetDmaBaseSysmemAddr"
215 #endif
216     },
217     {               /*  [1] */
218 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
219         /*pFunc=*/      (void (*)(void)) NULL,
220 #else
221         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdBifAspmFeatureSupported_IMPL,
222 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
223         /*flags=*/      0x200u,
224         /*accessRight=*/0x0u,
225         /*methodId=*/   0x800104u,
226         /*paramSize=*/  sizeof(NV0080_CTRL_BIF_SET_ASPM_FEATURE_PARAMS),
227         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
228 #if NV_PRINTF_STRINGS_ALLOWED
229         /*func=*/       "deviceCtrlCmdBifAspmFeatureSupported"
230 #endif
231     },
232     {               /*  [2] */
233 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
234         /*pFunc=*/      (void (*)(void)) NULL,
235 #else
236         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdBifAspmCyaUpdate_IMPL,
237 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
238         /*flags=*/      0x200u,
239         /*accessRight=*/0x0u,
240         /*methodId=*/   0x800105u,
241         /*paramSize=*/  sizeof(NV0080_CTRL_BIF_ASPM_CYA_UPDATE_PARAMS),
242         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
243 #if NV_PRINTF_STRINGS_ALLOWED
244         /*func=*/       "deviceCtrlCmdBifAspmCyaUpdate"
245 #endif
246     },
247     {               /*  [3] */
248 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
249         /*pFunc=*/      (void (*)(void)) NULL,
250 #else
251         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdBifGetPciePowerControlMask_IMPL,
252 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
253         /*flags=*/      0x200u,
254         /*accessRight=*/0x0u,
255         /*methodId=*/   0x800106u,
256         /*paramSize=*/  sizeof(NV0080_CTRL_CMD_BIF_GET_PCIE_POWER_CONTROL_MASK_PARAMS),
257         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
258 #if NV_PRINTF_STRINGS_ALLOWED
259         /*func=*/       "deviceCtrlCmdBifGetPciePowerControlMask"
260 #endif
261     },
262     {               /*  [4] */
263 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x813u)
264         /*pFunc=*/      (void (*)(void)) NULL,
265 #else
266         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuGetClasslist_IMPL,
267 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x813u)
268         /*flags=*/      0x813u,
269         /*accessRight=*/0x0u,
270         /*methodId=*/   0x800201u,
271         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_GET_CLASSLIST_PARAMS),
272         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
273 #if NV_PRINTF_STRINGS_ALLOWED
274         /*func=*/       "deviceCtrlCmdGpuGetClasslist"
275 #endif
276     },
277     {               /*  [5] */
278 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4811u)
279         /*pFunc=*/      (void (*)(void)) NULL,
280 #else
281         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuGetNumSubdevices_IMPL,
282 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4811u)
283         /*flags=*/      0x4811u,
284         /*accessRight=*/0x0u,
285         /*methodId=*/   0x800280u,
286         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_GET_NUM_SUBDEVICES_PARAMS),
287         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
288 #if NV_PRINTF_STRINGS_ALLOWED
289         /*func=*/       "deviceCtrlCmdGpuGetNumSubdevices"
290 #endif
291     },
292     {               /*  [6] */
293 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x5u)
294         /*pFunc=*/      (void (*)(void)) NULL,
295 #else
296         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuModifyGpuSwStatePersistence_IMPL,
297 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x5u)
298         /*flags=*/      0x5u,
299         /*accessRight=*/0x0u,
300         /*methodId=*/   0x800287u,
301         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_MODIFY_SW_STATE_PERSISTENCE_PARAMS),
302         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
303 #if NV_PRINTF_STRINGS_ALLOWED
304         /*func=*/       "deviceCtrlCmdGpuModifyGpuSwStatePersistence"
305 #endif
306     },
307     {               /*  [7] */
308 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
309         /*pFunc=*/      (void (*)(void)) NULL,
310 #else
311         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuQueryGpuSwStatePersistence_IMPL,
312 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
313         /*flags=*/      0x11u,
314         /*accessRight=*/0x0u,
315         /*methodId=*/   0x800288u,
316         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_QUERY_SW_STATE_PERSISTENCE_PARAMS),
317         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
318 #if NV_PRINTF_STRINGS_ALLOWED
319         /*func=*/       "deviceCtrlCmdGpuQueryGpuSwStatePersistence"
320 #endif
321     },
322     {               /*  [8] */
323 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
324         /*pFunc=*/      (void (*)(void)) NULL,
325 #else
326         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuGetVirtualizationMode_IMPL,
327 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
328         /*flags=*/      0x811u,
329         /*accessRight=*/0x0u,
330         /*methodId=*/   0x800289u,
331         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_GET_VIRTUALIZATION_MODE_PARAMS),
332         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
333 #if NV_PRINTF_STRINGS_ALLOWED
334         /*func=*/       "deviceCtrlCmdGpuGetVirtualizationMode"
335 #endif
336     },
337     {               /*  [9] */
338 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
339         /*pFunc=*/      (void (*)(void)) NULL,
340 #else
341         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuGetSparseTextureComputeMode_IMPL,
342 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
343         /*flags=*/      0x11u,
344         /*accessRight=*/0x0u,
345         /*methodId=*/   0x80028cu,
346         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_GET_SPARSE_TEXTURE_COMPUTE_MODE_PARAMS),
347         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
348 #if NV_PRINTF_STRINGS_ALLOWED
349         /*func=*/       "deviceCtrlCmdGpuGetSparseTextureComputeMode"
350 #endif
351     },
352     {               /*  [10] */
353 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
354         /*pFunc=*/      (void (*)(void)) NULL,
355 #else
356         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuSetSparseTextureComputeMode_IMPL,
357 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
358         /*flags=*/      0x11u,
359         /*accessRight=*/0x0u,
360         /*methodId=*/   0x80028du,
361         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_SET_SPARSE_TEXTURE_COMPUTE_MODE_PARAMS),
362         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
363 #if NV_PRINTF_STRINGS_ALLOWED
364         /*func=*/       "deviceCtrlCmdGpuSetSparseTextureComputeMode"
365 #endif
366     },
367     {               /*  [11] */
368 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
369         /*pFunc=*/      (void (*)(void)) NULL,
370 #else
371         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuGetVgxCaps_IMPL,
372 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
373         /*flags=*/      0x11u,
374         /*accessRight=*/0x0u,
375         /*methodId=*/   0x80028eu,
376         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_GET_VGX_CAPS_PARAMS),
377         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
378 #if NV_PRINTF_STRINGS_ALLOWED
379         /*func=*/       "deviceCtrlCmdGpuGetVgxCaps"
380 #endif
381     },
382     {               /*  [12] */
383 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
384         /*pFunc=*/      (void (*)(void)) NULL,
385 #else
386         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuGetSriovCaps_IMPL,
387 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
388         /*flags=*/      0x10u,
389         /*accessRight=*/0x0u,
390         /*methodId=*/   0x800291u,
391         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_GET_SRIOV_CAPS_PARAMS),
392         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
393 #if NV_PRINTF_STRINGS_ALLOWED
394         /*func=*/       "deviceCtrlCmdGpuGetSriovCaps"
395 #endif
396     },
397     {               /*  [13] */
398 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x813u)
399         /*pFunc=*/      (void (*)(void)) NULL,
400 #else
401         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuGetClasslistV2_IMPL,
402 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x813u)
403         /*flags=*/      0x813u,
404         /*accessRight=*/0x0u,
405         /*methodId=*/   0x800292u,
406         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_GET_CLASSLIST_V2_PARAMS),
407         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
408 #if NV_PRINTF_STRINGS_ALLOWED
409         /*func=*/       "deviceCtrlCmdGpuGetClasslistV2"
410 #endif
411     },
412     {               /*  [14] */
413 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x13u)
414         /*pFunc=*/      (void (*)(void)) NULL,
415 #else
416         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuGetFindSubDeviceHandle_IMPL,
417 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x13u)
418         /*flags=*/      0x13u,
419         /*accessRight=*/0x0u,
420         /*methodId=*/   0x800293u,
421         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_FIND_SUBDEVICE_HANDLE_PARAM),
422         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
423 #if NV_PRINTF_STRINGS_ALLOWED
424         /*func=*/       "deviceCtrlCmdGpuGetFindSubDeviceHandle"
425 #endif
426     },
427     {               /*  [15] */
428 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x211u)
429         /*pFunc=*/      (void (*)(void)) NULL,
430 #else
431         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuGetBrandCaps_IMPL,
432 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x211u)
433         /*flags=*/      0x211u,
434         /*accessRight=*/0x0u,
435         /*methodId=*/   0x800294u,
436         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_GET_BRAND_CAPS_PARAMS),
437         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
438 #if NV_PRINTF_STRINGS_ALLOWED
439         /*func=*/       "deviceCtrlCmdGpuGetBrandCaps"
440 #endif
441     },
442     {               /*  [16] */
443 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x204u)
444         /*pFunc=*/      (void (*)(void)) NULL,
445 #else
446         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdGpuSetVgpuVfBar1Size_IMPL,
447 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x204u)
448         /*flags=*/      0x204u,
449         /*accessRight=*/0x0u,
450         /*methodId=*/   0x800296u,
451         /*paramSize=*/  sizeof(NV0080_CTRL_GPU_SET_VGPU_VF_BAR1_SIZE_PARAMS),
452         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
453 #if NV_PRINTF_STRINGS_ALLOWED
454         /*func=*/       "deviceCtrlCmdGpuSetVgpuVfBar1Size"
455 #endif
456     },
457     {               /*  [17] */
458 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x812u)
459         /*pFunc=*/      (void (*)(void)) NULL,
460 #else
461         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdKGrGetCaps_IMPL,
462 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x812u)
463         /*flags=*/      0x812u,
464         /*accessRight=*/0x0u,
465         /*methodId=*/   0x801102u,
466         /*paramSize=*/  sizeof(NV0080_CTRL_GR_GET_CAPS_PARAMS),
467         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
468 #if NV_PRINTF_STRINGS_ALLOWED
469         /*func=*/       "deviceCtrlCmdKGrGetCaps"
470 #endif
471     },
472     {               /*  [18] */
473 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x810u)
474         /*pFunc=*/      (void (*)(void)) NULL,
475 #else
476         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdKGrGetInfo_IMPL,
477 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x810u)
478         /*flags=*/      0x810u,
479         /*accessRight=*/0x0u,
480         /*methodId=*/   0x801104u,
481         /*paramSize=*/  sizeof(NV0080_CTRL_GR_GET_INFO_PARAMS),
482         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
483 #if NV_PRINTF_STRINGS_ALLOWED
484         /*func=*/       "deviceCtrlCmdKGrGetInfo"
485 #endif
486     },
487     {               /*  [19] */
488 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
489         /*pFunc=*/      (void (*)(void)) NULL,
490 #else
491         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdKGrGetTpcPartitionMode_IMPL,
492 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
493         /*flags=*/      0x2210u,
494         /*accessRight=*/0x0u,
495         /*methodId=*/   0x801107u,
496         /*paramSize=*/  sizeof(NV0080_CTRL_GR_TPC_PARTITION_MODE_PARAMS),
497         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
498 #if NV_PRINTF_STRINGS_ALLOWED
499         /*func=*/       "deviceCtrlCmdKGrGetTpcPartitionMode"
500 #endif
501     },
502     {               /*  [20] */
503 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
504         /*pFunc=*/      (void (*)(void)) NULL,
505 #else
506         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdKGrSetTpcPartitionMode_IMPL,
507 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
508         /*flags=*/      0x2210u,
509         /*accessRight=*/0x0u,
510         /*methodId=*/   0x801108u,
511         /*paramSize=*/  sizeof(NV0080_CTRL_GR_TPC_PARTITION_MODE_PARAMS),
512         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
513 #if NV_PRINTF_STRINGS_ALLOWED
514         /*func=*/       "deviceCtrlCmdKGrSetTpcPartitionMode"
515 #endif
516     },
517     {               /*  [21] */
518 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x812u)
519         /*pFunc=*/      (void (*)(void)) NULL,
520 #else
521         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdKGrGetCapsV2_IMPL,
522 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x812u)
523         /*flags=*/      0x812u,
524         /*accessRight=*/0x0u,
525         /*methodId=*/   0x801109u,
526         /*paramSize=*/  sizeof(NV0080_CTRL_GR_GET_CAPS_V2_PARAMS),
527         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
528 #if NV_PRINTF_STRINGS_ALLOWED
529         /*func=*/       "deviceCtrlCmdKGrGetCapsV2"
530 #endif
531     },
532     {               /*  [22] */
533 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
534         /*pFunc=*/      (void (*)(void)) NULL,
535 #else
536         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdKGrGetInfoV2_IMPL,
537 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
538         /*flags=*/      0x10u,
539         /*accessRight=*/0x0u,
540         /*methodId=*/   0x801110u,
541         /*paramSize=*/  sizeof(NV0080_CTRL_GR_GET_INFO_V2_PARAMS),
542         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
543 #if NV_PRINTF_STRINGS_ALLOWED
544         /*func=*/       "deviceCtrlCmdKGrGetInfoV2"
545 #endif
546     },
547     {               /*  [23] */
548 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
549         /*pFunc=*/      (void (*)(void)) NULL,
550 #else
551         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFbGetCaps_IMPL,
552 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
553         /*flags=*/      0x811u,
554         /*accessRight=*/0x0u,
555         /*methodId=*/   0x801301u,
556         /*paramSize=*/  sizeof(NV0080_CTRL_FB_GET_CAPS_PARAMS),
557         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
558 #if NV_PRINTF_STRINGS_ALLOWED
559         /*func=*/       "deviceCtrlCmdFbGetCaps"
560 #endif
561     },
562     {               /*  [24] */
563 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
564         /*pFunc=*/      (void (*)(void)) NULL,
565 #else
566         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFbGetCompbitStoreInfo_IMPL,
567 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
568         /*flags=*/      0x210u,
569         /*accessRight=*/0x0u,
570         /*methodId=*/   0x801306u,
571         /*paramSize=*/  sizeof(NV0080_CTRL_FB_GET_COMPBIT_STORE_INFO_PARAMS),
572         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
573 #if NV_PRINTF_STRINGS_ALLOWED
574         /*func=*/       "deviceCtrlCmdFbGetCompbitStoreInfo"
575 #endif
576     },
577     {               /*  [25] */
578 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4811u)
579         /*pFunc=*/      (void (*)(void)) NULL,
580 #else
581         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFbGetCapsV2_IMPL,
582 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4811u)
583         /*flags=*/      0x4811u,
584         /*accessRight=*/0x0u,
585         /*methodId=*/   0x801307u,
586         /*paramSize=*/  sizeof(NV0080_CTRL_FB_GET_CAPS_V2_PARAMS),
587         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
588 #if NV_PRINTF_STRINGS_ALLOWED
589         /*func=*/       "deviceCtrlCmdFbGetCapsV2"
590 #endif
591     },
592     {               /*  [26] */
593 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x850u)
594         /*pFunc=*/      (void (*)(void)) NULL,
595 #else
596         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdHostGetCaps_IMPL,
597 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x850u)
598         /*flags=*/      0x850u,
599         /*accessRight=*/0x0u,
600         /*methodId=*/   0x801401u,
601         /*paramSize=*/  sizeof(NV0080_CTRL_HOST_GET_CAPS_PARAMS),
602         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
603 #if NV_PRINTF_STRINGS_ALLOWED
604         /*func=*/       "deviceCtrlCmdHostGetCaps"
605 #endif
606     },
607     {               /*  [27] */
608 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4850u)
609         /*pFunc=*/      (void (*)(void)) NULL,
610 #else
611         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdHostGetCapsV2_IMPL,
612 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4850u)
613         /*flags=*/      0x4850u,
614         /*accessRight=*/0x0u,
615         /*methodId=*/   0x801402u,
616         /*paramSize=*/  sizeof(NV0080_CTRL_HOST_GET_CAPS_V2_PARAMS),
617         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
618 #if NV_PRINTF_STRINGS_ALLOWED
619         /*func=*/       "deviceCtrlCmdHostGetCapsV2"
620 #endif
621     },
622     {               /*  [28] */
623 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x810u)
624         /*pFunc=*/      (void (*)(void)) NULL,
625 #else
626         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFifoGetCaps_IMPL,
627 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x810u)
628         /*flags=*/      0x810u,
629         /*accessRight=*/0x0u,
630         /*methodId=*/   0x801701u,
631         /*paramSize=*/  sizeof(NV0080_CTRL_FIFO_GET_CAPS_PARAMS),
632         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
633 #if NV_PRINTF_STRINGS_ALLOWED
634         /*func=*/       "deviceCtrlCmdFifoGetCaps"
635 #endif
636     },
637     {               /*  [29] */
638 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
639         /*pFunc=*/      (void (*)(void)) NULL,
640 #else
641         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFifoStartSelectedChannels_IMPL,
642 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
643         /*flags=*/      0x2210u,
644         /*accessRight=*/0x0u,
645         /*methodId=*/   0x801705u,
646         /*paramSize=*/  sizeof(NV0080_CTRL_FIFO_START_SELECTED_CHANNELS_PARAMS),
647         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
648 #if NV_PRINTF_STRINGS_ALLOWED
649         /*func=*/       "deviceCtrlCmdFifoStartSelectedChannels"
650 #endif
651     },
652     {               /*  [30] */
653 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
654         /*pFunc=*/      (void (*)(void)) NULL,
655 #else
656         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFifoGetEngineContextProperties_IMPL,
657 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
658         /*flags=*/      0x2210u,
659         /*accessRight=*/0x0u,
660         /*methodId=*/   0x801707u,
661         /*paramSize=*/  sizeof(NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_PARAMS),
662         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
663 #if NV_PRINTF_STRINGS_ALLOWED
664         /*func=*/       "deviceCtrlCmdFifoGetEngineContextProperties"
665 #endif
666     },
667     {               /*  [31] */
668 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
669         /*pFunc=*/      (void (*)(void)) NULL,
670 #else
671         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFifoGetChannelList_IMPL,
672 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
673         /*flags=*/      0x811u,
674         /*accessRight=*/0x0u,
675         /*methodId=*/   0x80170du,
676         /*paramSize=*/  sizeof(NV0080_CTRL_FIFO_GET_CHANNELLIST_PARAMS),
677         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
678 #if NV_PRINTF_STRINGS_ALLOWED
679         /*func=*/       "deviceCtrlCmdFifoGetChannelList"
680 #endif
681     },
682     {               /*  [32] */
683 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2211u)
684         /*pFunc=*/      (void (*)(void)) NULL,
685 #else
686         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFifoGetLatencyBufferSize_IMPL,
687 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2211u)
688         /*flags=*/      0x2211u,
689         /*accessRight=*/0x0u,
690         /*methodId=*/   0x80170eu,
691         /*paramSize=*/  sizeof(NV0080_CTRL_FIFO_GET_LATENCY_BUFFER_SIZE_PARAMS),
692         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
693 #if NV_PRINTF_STRINGS_ALLOWED
694         /*func=*/       "deviceCtrlCmdFifoGetLatencyBufferSize"
695 #endif
696     },
697     {               /*  [33] */
698 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
699         /*pFunc=*/      (void (*)(void)) NULL,
700 #else
701         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFifoSetChannelProperties_IMPL,
702 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
703         /*flags=*/      0x2210u,
704         /*accessRight=*/0x0u,
705         /*methodId=*/   0x80170fu,
706         /*paramSize=*/  sizeof(NV0080_CTRL_FIFO_SET_CHANNEL_PROPERTIES_PARAMS),
707         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
708 #if NV_PRINTF_STRINGS_ALLOWED
709         /*func=*/       "deviceCtrlCmdFifoSetChannelProperties"
710 #endif
711     },
712     {               /*  [34] */
713 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2204u)
714         /*pFunc=*/      (void (*)(void)) NULL,
715 #else
716         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFifoStopRunlist_IMPL,
717 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2204u)
718         /*flags=*/      0x2204u,
719         /*accessRight=*/0x0u,
720         /*methodId=*/   0x801711u,
721         /*paramSize=*/  sizeof(NV0080_CTRL_FIFO_STOP_RUNLIST_PARAMS),
722         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
723 #if NV_PRINTF_STRINGS_ALLOWED
724         /*func=*/       "deviceCtrlCmdFifoStopRunlist"
725 #endif
726     },
727     {               /*  [35] */
728 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2204u)
729         /*pFunc=*/      (void (*)(void)) NULL,
730 #else
731         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFifoStartRunlist_IMPL,
732 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2204u)
733         /*flags=*/      0x2204u,
734         /*accessRight=*/0x0u,
735         /*methodId=*/   0x801712u,
736         /*paramSize=*/  sizeof(NV0080_CTRL_FIFO_START_RUNLIST_PARAMS),
737         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
738 #if NV_PRINTF_STRINGS_ALLOWED
739         /*func=*/       "deviceCtrlCmdFifoStartRunlist"
740 #endif
741     },
742     {               /*  [36] */
743 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x810u)
744         /*pFunc=*/      (void (*)(void)) NULL,
745 #else
746         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFifoGetCapsV2_IMPL,
747 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x810u)
748         /*flags=*/      0x810u,
749         /*accessRight=*/0x0u,
750         /*methodId=*/   0x801713u,
751         /*paramSize=*/  sizeof(NV0080_CTRL_FIFO_GET_CAPS_V2_PARAMS),
752         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
753 #if NV_PRINTF_STRINGS_ALLOWED
754         /*func=*/       "deviceCtrlCmdFifoGetCapsV2"
755 #endif
756     },
757     {               /*  [37] */
758 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
759         /*pFunc=*/      (void (*)(void)) NULL,
760 #else
761         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdFifoIdleChannels_IMPL,
762 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
763         /*flags=*/      0x811u,
764         /*accessRight=*/0x0u,
765         /*methodId=*/   0x801714u,
766         /*paramSize=*/  sizeof(NV0080_CTRL_FIFO_IDLE_CHANNELS_PARAMS),
767         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
768 #if NV_PRINTF_STRINGS_ALLOWED
769         /*func=*/       "deviceCtrlCmdFifoIdleChannels"
770 #endif
771     },
772     {               /*  [38] */
773 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
774         /*pFunc=*/      (void (*)(void)) NULL,
775 #else
776         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaGetPteInfo_IMPL,
777 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
778         /*flags=*/      0x10u,
779         /*accessRight=*/0x0u,
780         /*methodId=*/   0x801801u,
781         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_GET_PTE_INFO_PARAMS),
782         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
783 #if NV_PRINTF_STRINGS_ALLOWED
784         /*func=*/       "deviceCtrlCmdDmaGetPteInfo"
785 #endif
786     },
787     {               /*  [39] */
788 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
789         /*pFunc=*/      (void (*)(void)) NULL,
790 #else
791         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaFlush_IMPL,
792 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
793         /*flags=*/      0x210u,
794         /*accessRight=*/0x0u,
795         /*methodId=*/   0x801805u,
796         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_FLUSH_PARAMS),
797         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
798 #if NV_PRINTF_STRINGS_ALLOWED
799         /*func=*/       "deviceCtrlCmdDmaFlush"
800 #endif
801     },
802     {               /*  [40] */
803 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
804         /*pFunc=*/      (void (*)(void)) NULL,
805 #else
806         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaAdvSchedGetVaCaps_IMPL,
807 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
808         /*flags=*/      0x11u,
809         /*accessRight=*/0x0u,
810         /*methodId=*/   0x801806u,
811         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PARAMS),
812         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
813 #if NV_PRINTF_STRINGS_ALLOWED
814         /*func=*/       "deviceCtrlCmdDmaAdvSchedGetVaCaps"
815 #endif
816     },
817     {               /*  [41] */
818 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
819         /*pFunc=*/      (void (*)(void)) NULL,
820 #else
821         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaGetPdeInfo_IMPL,
822 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
823         /*flags=*/      0x10u,
824         /*accessRight=*/0x0u,
825         /*methodId=*/   0x801809u,
826         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS),
827         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
828 #if NV_PRINTF_STRINGS_ALLOWED
829         /*func=*/       "deviceCtrlCmdDmaGetPdeInfo"
830 #endif
831     },
832     {               /*  [42] */
833 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
834         /*pFunc=*/      (void (*)(void)) NULL,
835 #else
836         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaSetPteInfo_IMPL,
837 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
838         /*flags=*/      0x10u,
839         /*accessRight=*/0x0u,
840         /*methodId=*/   0x80180au,
841         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_SET_PTE_INFO_PARAMS),
842         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
843 #if NV_PRINTF_STRINGS_ALLOWED
844         /*func=*/       "deviceCtrlCmdDmaSetPteInfo"
845 #endif
846     },
847     {               /*  [43] */
848 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
849         /*pFunc=*/      (void (*)(void)) NULL,
850 #else
851         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaInvalidateTLB_IMPL,
852 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
853         /*flags=*/      0x10u,
854         /*accessRight=*/0x0u,
855         /*methodId=*/   0x80180cu,
856         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_INVALIDATE_TLB_PARAMS),
857         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
858 #if NV_PRINTF_STRINGS_ALLOWED
859         /*func=*/       "deviceCtrlCmdDmaInvalidateTLB"
860 #endif
861     },
862     {               /*  [44] */
863 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
864         /*pFunc=*/      (void (*)(void)) NULL,
865 #else
866         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaGetCaps_IMPL,
867 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
868         /*flags=*/      0x11u,
869         /*accessRight=*/0x0u,
870         /*methodId=*/   0x80180du,
871         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_GET_CAPS_PARAMS),
872         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
873 #if NV_PRINTF_STRINGS_ALLOWED
874         /*func=*/       "deviceCtrlCmdDmaGetCaps"
875 #endif
876     },
877     {               /*  [45] */
878 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
879         /*pFunc=*/      (void (*)(void)) NULL,
880 #else
881         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaSetVASpaceSize_IMPL,
882 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
883         /*flags=*/      0x10u,
884         /*accessRight=*/0x0u,
885         /*methodId=*/   0x80180eu,
886         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_SET_VA_SPACE_SIZE_PARAMS),
887         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
888 #if NV_PRINTF_STRINGS_ALLOWED
889         /*func=*/       "deviceCtrlCmdDmaSetVASpaceSize"
890 #endif
891     },
892     {               /*  [46] */
893 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
894         /*pFunc=*/      (void (*)(void)) NULL,
895 #else
896         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaUpdatePde2_IMPL,
897 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
898         /*flags=*/      0x10u,
899         /*accessRight=*/0x0u,
900         /*methodId=*/   0x80180fu,
901         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_UPDATE_PDE_2_PARAMS),
902         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
903 #if NV_PRINTF_STRINGS_ALLOWED
904         /*func=*/       "deviceCtrlCmdDmaUpdatePde2"
905 #endif
906     },
907     {               /*  [47] */
908 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
909         /*pFunc=*/      (void (*)(void)) NULL,
910 #else
911         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaEnablePrivilegedRange_IMPL,
912 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
913         /*flags=*/      0x10u,
914         /*accessRight=*/0x0u,
915         /*methodId=*/   0x801810u,
916         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_ENABLE_PRIVILEGED_RANGE_PARAMS),
917         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
918 #if NV_PRINTF_STRINGS_ALLOWED
919         /*func=*/       "deviceCtrlCmdDmaEnablePrivilegedRange"
920 #endif
921     },
922     {               /*  [48] */
923 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x1c0000u)
924         /*pFunc=*/      (void (*)(void)) NULL,
925 #else
926         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaSetDefaultVASpace_IMPL,
927 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x1c0000u)
928         /*flags=*/      0x1c0000u,
929         /*accessRight=*/0x0u,
930         /*methodId=*/   0x801812u,
931         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_SET_DEFAULT_VASPACE_PARAMS),
932         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
933 #if NV_PRINTF_STRINGS_ALLOWED
934         /*func=*/       "deviceCtrlCmdDmaSetDefaultVASpace"
935 #endif
936     },
937     {               /*  [49] */
938 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x140004u)
939         /*pFunc=*/      (void (*)(void)) NULL,
940 #else
941         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaSetPageDirectory_IMPL,
942 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x140004u)
943         /*flags=*/      0x140004u,
944         /*accessRight=*/0x0u,
945         /*methodId=*/   0x801813u,
946         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_PARAMS),
947         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
948 #if NV_PRINTF_STRINGS_ALLOWED
949         /*func=*/       "deviceCtrlCmdDmaSetPageDirectory"
950 #endif
951     },
952     {               /*  [50] */
953 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x140004u)
954         /*pFunc=*/      (void (*)(void)) NULL,
955 #else
956         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdDmaUnsetPageDirectory_IMPL,
957 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x140004u)
958         /*flags=*/      0x140004u,
959         /*accessRight=*/0x0u,
960         /*methodId=*/   0x801814u,
961         /*paramSize=*/  sizeof(NV0080_CTRL_DMA_UNSET_PAGE_DIRECTORY_PARAMS),
962         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
963 #if NV_PRINTF_STRINGS_ALLOWED
964         /*func=*/       "deviceCtrlCmdDmaUnsetPageDirectory"
965 #endif
966     },
967     {               /*  [51] */
968 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
969         /*pFunc=*/      (void (*)(void)) NULL,
970 #else
971         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdMsencGetCaps_IMPL,
972 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
973         /*flags=*/      0x10u,
974         /*accessRight=*/0x0u,
975         /*methodId=*/   0x801b01u,
976         /*paramSize=*/  sizeof(NV0080_CTRL_MSENC_GET_CAPS_PARAMS),
977         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
978 #if NV_PRINTF_STRINGS_ALLOWED
979         /*func=*/       "deviceCtrlCmdMsencGetCaps"
980 #endif
981     },
982     {               /*  [52] */
983 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
984         /*pFunc=*/      (void (*)(void)) NULL,
985 #else
986         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdBspGetCapsV2_IMPL,
987 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
988         /*flags=*/      0x210u,
989         /*accessRight=*/0x0u,
990         /*methodId=*/   0x801c02u,
991         /*paramSize=*/  sizeof(NV0080_CTRL_BSP_GET_CAPS_PARAMS_V2),
992         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
993 #if NV_PRINTF_STRINGS_ALLOWED
994         /*func=*/       "deviceCtrlCmdBspGetCapsV2"
995 #endif
996     },
997     {               /*  [53] */
998 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x1u)
999         /*pFunc=*/      (void (*)(void)) NULL,
1000 #else
1001         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdOsUnixVTSwitch_IMPL,
1002 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x1u)
1003         /*flags=*/      0x1u,
1004         /*accessRight=*/0x0u,
1005         /*methodId=*/   0x801e01u,
1006         /*paramSize=*/  sizeof(NV0080_CTRL_OS_UNIX_VT_SWITCH_PARAMS),
1007         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
1008 #if NV_PRINTF_STRINGS_ALLOWED
1009         /*func=*/       "deviceCtrlCmdOsUnixVTSwitch"
1010 #endif
1011     },
1012     {               /*  [54] */
1013 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x1u)
1014         /*pFunc=*/      (void (*)(void)) NULL,
1015 #else
1016         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdOsUnixVTGetFBInfo_IMPL,
1017 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x1u)
1018         /*flags=*/      0x1u,
1019         /*accessRight=*/0x0u,
1020         /*methodId=*/   0x801e02u,
1021         /*paramSize=*/  sizeof(NV0080_CTRL_OS_UNIX_VT_GET_FB_INFO_PARAMS),
1022         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
1023 #if NV_PRINTF_STRINGS_ALLOWED
1024         /*func=*/       "deviceCtrlCmdOsUnixVTGetFBInfo"
1025 #endif
1026     },
1027     {               /*  [55] */
1028 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
1029         /*pFunc=*/      (void (*)(void)) NULL,
1030 #else
1031         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdNvjpgGetCapsV2_IMPL,
1032 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
1033         /*flags=*/      0x210u,
1034         /*accessRight=*/0x0u,
1035         /*methodId=*/   0x801f02u,
1036         /*paramSize=*/  sizeof(NV0080_CTRL_NVJPG_GET_CAPS_V2_PARAMS),
1037         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
1038 #if NV_PRINTF_STRINGS_ALLOWED
1039         /*func=*/       "deviceCtrlCmdNvjpgGetCapsV2"
1040 #endif
1041     },
1042     {               /*  [56] */
1043 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x600u)
1044         /*pFunc=*/      (void (*)(void)) NULL,
1045 #else
1046         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdInternalPerfCudaLimitDisable_IMPL,
1047 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x600u)
1048         /*flags=*/      0x600u,
1049         /*accessRight=*/0x0u,
1050         /*methodId=*/   0x802004u,
1051         /*paramSize=*/  0,
1052         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
1053 #if NV_PRINTF_STRINGS_ALLOWED
1054         /*func=*/       "deviceCtrlCmdInternalPerfCudaLimitDisable"
1055 #endif
1056     },
1057     {               /*  [57] */
1058 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x600u)
1059         /*pFunc=*/      (void (*)(void)) NULL,
1060 #else
1061         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdInternalPerfGetUnderpoweredGpuCount_IMPL,
1062 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x600u)
1063         /*flags=*/      0x600u,
1064         /*accessRight=*/0x0u,
1065         /*methodId=*/   0x802006u,
1066         /*paramSize=*/  sizeof(NV0080_CTRL_INTERNAL_PERF_GET_UNDERPOWERED_GPU_COUNT_PARAMS),
1067         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
1068 #if NV_PRINTF_STRINGS_ALLOWED
1069         /*func=*/       "deviceCtrlCmdInternalPerfGetUnderpoweredGpuCount"
1070 #endif
1071     },
1072     {               /*  [58] */
1073 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0xe50u)
1074         /*pFunc=*/      (void (*)(void)) NULL,
1075 #else
1076         /*pFunc=*/      (void (*)(void)) deviceCtrlCmdInternalPerfCudaLimitSetControl_IMPL,
1077 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0xe50u)
1078         /*flags=*/      0xe50u,
1079         /*accessRight=*/0x0u,
1080         /*methodId=*/   0x802009u,
1081         /*paramSize=*/  sizeof(NV0080_CTRL_PERF_CUDA_LIMIT_CONTROL_PARAMS),
1082         /*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
1083 #if NV_PRINTF_STRINGS_ALLOWED
1084         /*func=*/       "deviceCtrlCmdInternalPerfCudaLimitSetControl"
1085 #endif
1086     },
1087 
1088 };
1089 
1090 const struct NVOC_EXPORT_INFO __nvoc_export_info_Device =
1091 {
1092     /*numEntries=*/     59,
1093     /*pExportEntries=*/ __nvoc_exported_method_def_Device
1094 };
1095 
1096 void __nvoc_dtor_GpuResource(GpuResource*);
1097 void __nvoc_dtor_Device(Device *pThis) {
1098     __nvoc_deviceDestruct(pThis);
1099     __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource);
1100     PORT_UNREFERENCED_VARIABLE(pThis);
1101 }
1102 
1103 void __nvoc_init_dataField_Device(Device *pThis) {
1104     PORT_UNREFERENCED_VARIABLE(pThis);
1105 }
1106 
1107 NV_STATUS __nvoc_ctor_GpuResource(GpuResource* , struct CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
1108 NV_STATUS __nvoc_ctor_Device(Device *pThis, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) {
1109     NV_STATUS status = NV_OK;
1110     status = __nvoc_ctor_GpuResource(&pThis->__nvoc_base_GpuResource, arg_pCallContext, arg_pParams);
1111     if (status != NV_OK) goto __nvoc_ctor_Device_fail_GpuResource;
1112     __nvoc_init_dataField_Device(pThis);
1113 
1114     status = __nvoc_deviceConstruct(pThis, arg_pCallContext, arg_pParams);
1115     if (status != NV_OK) goto __nvoc_ctor_Device_fail__init;
1116     goto __nvoc_ctor_Device_exit; // Success
1117 
1118 __nvoc_ctor_Device_fail__init:
1119     __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource);
1120 __nvoc_ctor_Device_fail_GpuResource:
1121 __nvoc_ctor_Device_exit:
1122 
1123     return status;
1124 }
1125 
1126 static void __nvoc_init_funcTable_Device_1(Device *pThis) {
1127     PORT_UNREFERENCED_VARIABLE(pThis);
1128 
1129     pThis->__deviceControl__ = &deviceControl_IMPL;
1130 
1131     pThis->__deviceInternalControlForward__ = &deviceInternalControlForward_IMPL;
1132 
1133 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
1134     pThis->__deviceCtrlCmdBifGetDmaBaseSysmemAddr__ = &deviceCtrlCmdBifGetDmaBaseSysmemAddr_IMPL;
1135 #endif
1136 
1137 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
1138     pThis->__deviceCtrlCmdBifAspmFeatureSupported__ = &deviceCtrlCmdBifAspmFeatureSupported_IMPL;
1139 #endif
1140 
1141 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
1142     pThis->__deviceCtrlCmdBifAspmCyaUpdate__ = &deviceCtrlCmdBifAspmCyaUpdate_IMPL;
1143 #endif
1144 
1145 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x200u)
1146     pThis->__deviceCtrlCmdBifGetPciePowerControlMask__ = &deviceCtrlCmdBifGetPciePowerControlMask_IMPL;
1147 #endif
1148 
1149 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
1150     pThis->__deviceCtrlCmdDmaGetPteInfo__ = &deviceCtrlCmdDmaGetPteInfo_IMPL;
1151 #endif
1152 
1153 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
1154     pThis->__deviceCtrlCmdDmaUpdatePde2__ = &deviceCtrlCmdDmaUpdatePde2_IMPL;
1155 #endif
1156 
1157 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x140004u)
1158     pThis->__deviceCtrlCmdDmaSetPageDirectory__ = &deviceCtrlCmdDmaSetPageDirectory_IMPL;
1159 #endif
1160 
1161 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x140004u)
1162     pThis->__deviceCtrlCmdDmaUnsetPageDirectory__ = &deviceCtrlCmdDmaUnsetPageDirectory_IMPL;
1163 #endif
1164 
1165 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
1166     pThis->__deviceCtrlCmdDmaFlush__ = &deviceCtrlCmdDmaFlush_IMPL;
1167 #endif
1168 
1169 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
1170     pThis->__deviceCtrlCmdDmaAdvSchedGetVaCaps__ = &deviceCtrlCmdDmaAdvSchedGetVaCaps_IMPL;
1171 #endif
1172 
1173 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
1174     pThis->__deviceCtrlCmdDmaGetPdeInfo__ = &deviceCtrlCmdDmaGetPdeInfo_IMPL;
1175 #endif
1176 
1177 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
1178     pThis->__deviceCtrlCmdDmaSetPteInfo__ = &deviceCtrlCmdDmaSetPteInfo_IMPL;
1179 #endif
1180 
1181 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
1182     pThis->__deviceCtrlCmdDmaInvalidateTLB__ = &deviceCtrlCmdDmaInvalidateTLB_IMPL;
1183 #endif
1184 
1185 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
1186     pThis->__deviceCtrlCmdDmaGetCaps__ = &deviceCtrlCmdDmaGetCaps_IMPL;
1187 #endif
1188 
1189 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
1190     pThis->__deviceCtrlCmdDmaSetVASpaceSize__ = &deviceCtrlCmdDmaSetVASpaceSize_IMPL;
1191 #endif
1192 
1193 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
1194     pThis->__deviceCtrlCmdDmaEnablePrivilegedRange__ = &deviceCtrlCmdDmaEnablePrivilegedRange_IMPL;
1195 #endif
1196 
1197 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x1c0000u)
1198     pThis->__deviceCtrlCmdDmaSetDefaultVASpace__ = &deviceCtrlCmdDmaSetDefaultVASpace_IMPL;
1199 #endif
1200 
1201 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x812u)
1202     pThis->__deviceCtrlCmdKGrGetCaps__ = &deviceCtrlCmdKGrGetCaps_IMPL;
1203 #endif
1204 
1205 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x812u)
1206     pThis->__deviceCtrlCmdKGrGetCapsV2__ = &deviceCtrlCmdKGrGetCapsV2_IMPL;
1207 #endif
1208 
1209 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x810u)
1210     pThis->__deviceCtrlCmdKGrGetInfo__ = &deviceCtrlCmdKGrGetInfo_IMPL;
1211 #endif
1212 
1213 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
1214     pThis->__deviceCtrlCmdKGrGetInfoV2__ = &deviceCtrlCmdKGrGetInfoV2_IMPL;
1215 #endif
1216 
1217 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
1218     pThis->__deviceCtrlCmdKGrGetTpcPartitionMode__ = &deviceCtrlCmdKGrGetTpcPartitionMode_IMPL;
1219 #endif
1220 
1221 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
1222     pThis->__deviceCtrlCmdKGrSetTpcPartitionMode__ = &deviceCtrlCmdKGrSetTpcPartitionMode_IMPL;
1223 #endif
1224 
1225 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
1226     pThis->__deviceCtrlCmdFbGetCompbitStoreInfo__ = &deviceCtrlCmdFbGetCompbitStoreInfo_IMPL;
1227 #endif
1228 
1229 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
1230     pThis->__deviceCtrlCmdFbGetCaps__ = &deviceCtrlCmdFbGetCaps_IMPL;
1231 #endif
1232 
1233 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4811u)
1234     pThis->__deviceCtrlCmdFbGetCapsV2__ = &deviceCtrlCmdFbGetCapsV2_IMPL;
1235 #endif
1236 
1237 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x810u)
1238     pThis->__deviceCtrlCmdFifoGetCaps__ = &deviceCtrlCmdFifoGetCaps_IMPL;
1239 #endif
1240 
1241 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x810u)
1242     pThis->__deviceCtrlCmdFifoGetCapsV2__ = &deviceCtrlCmdFifoGetCapsV2_IMPL;
1243 #endif
1244 
1245 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
1246     pThis->__deviceCtrlCmdFifoStartSelectedChannels__ = &deviceCtrlCmdFifoStartSelectedChannels_IMPL;
1247 #endif
1248 
1249 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
1250     pThis->__deviceCtrlCmdFifoGetEngineContextProperties__ = &deviceCtrlCmdFifoGetEngineContextProperties_IMPL;
1251 #endif
1252 
1253 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2204u)
1254     pThis->__deviceCtrlCmdFifoStopRunlist__ = &deviceCtrlCmdFifoStopRunlist_IMPL;
1255 #endif
1256 
1257 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2204u)
1258     pThis->__deviceCtrlCmdFifoStartRunlist__ = &deviceCtrlCmdFifoStartRunlist_IMPL;
1259 #endif
1260 
1261 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
1262     pThis->__deviceCtrlCmdFifoGetChannelList__ = &deviceCtrlCmdFifoGetChannelList_IMPL;
1263 #endif
1264 
1265 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2211u)
1266     pThis->__deviceCtrlCmdFifoGetLatencyBufferSize__ = &deviceCtrlCmdFifoGetLatencyBufferSize_IMPL;
1267 #endif
1268 
1269 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
1270     pThis->__deviceCtrlCmdFifoSetChannelProperties__ = &deviceCtrlCmdFifoSetChannelProperties_IMPL;
1271 #endif
1272 
1273 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
1274     pThis->__deviceCtrlCmdFifoIdleChannels__ = &deviceCtrlCmdFifoIdleChannels_IMPL;
1275 #endif
1276 
1277 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x850u)
1278     pThis->__deviceCtrlCmdHostGetCaps__ = &deviceCtrlCmdHostGetCaps_IMPL;
1279 #endif
1280 
1281 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4850u)
1282     pThis->__deviceCtrlCmdHostGetCapsV2__ = &deviceCtrlCmdHostGetCapsV2_IMPL;
1283 #endif
1284 
1285 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0xe50u)
1286     pThis->__deviceCtrlCmdInternalPerfCudaLimitSetControl__ = &deviceCtrlCmdInternalPerfCudaLimitSetControl_IMPL;
1287 #endif
1288 
1289 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x600u)
1290     pThis->__deviceCtrlCmdInternalPerfCudaLimitDisable__ = &deviceCtrlCmdInternalPerfCudaLimitDisable_IMPL;
1291 #endif
1292 
1293 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x600u)
1294     pThis->__deviceCtrlCmdInternalPerfGetUnderpoweredGpuCount__ = &deviceCtrlCmdInternalPerfGetUnderpoweredGpuCount_IMPL;
1295 #endif
1296 
1297 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x813u)
1298     pThis->__deviceCtrlCmdGpuGetClasslist__ = &deviceCtrlCmdGpuGetClasslist_IMPL;
1299 #endif
1300 
1301 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x813u)
1302     pThis->__deviceCtrlCmdGpuGetClasslistV2__ = &deviceCtrlCmdGpuGetClasslistV2_IMPL;
1303 #endif
1304 
1305 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4811u)
1306     pThis->__deviceCtrlCmdGpuGetNumSubdevices__ = &deviceCtrlCmdGpuGetNumSubdevices_IMPL;
1307 #endif
1308 
1309 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x5u)
1310     pThis->__deviceCtrlCmdGpuModifyGpuSwStatePersistence__ = &deviceCtrlCmdGpuModifyGpuSwStatePersistence_IMPL;
1311 #endif
1312 
1313 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
1314     pThis->__deviceCtrlCmdGpuQueryGpuSwStatePersistence__ = &deviceCtrlCmdGpuQueryGpuSwStatePersistence_IMPL;
1315 #endif
1316 
1317 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x811u)
1318     pThis->__deviceCtrlCmdGpuGetVirtualizationMode__ = &deviceCtrlCmdGpuGetVirtualizationMode_IMPL;
1319 #endif
1320 
1321 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x204u)
1322     pThis->__deviceCtrlCmdGpuSetVgpuVfBar1Size__ = &deviceCtrlCmdGpuSetVgpuVfBar1Size_IMPL;
1323 #endif
1324 
1325 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
1326     pThis->__deviceCtrlCmdGpuGetSparseTextureComputeMode__ = &deviceCtrlCmdGpuGetSparseTextureComputeMode_IMPL;
1327 #endif
1328 
1329 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
1330     pThis->__deviceCtrlCmdGpuSetSparseTextureComputeMode__ = &deviceCtrlCmdGpuSetSparseTextureComputeMode_IMPL;
1331 #endif
1332 
1333 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x11u)
1334     pThis->__deviceCtrlCmdGpuGetVgxCaps__ = &deviceCtrlCmdGpuGetVgxCaps_IMPL;
1335 #endif
1336 
1337 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x211u)
1338     pThis->__deviceCtrlCmdGpuGetBrandCaps__ = &deviceCtrlCmdGpuGetBrandCaps_IMPL;
1339 #endif
1340 
1341 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
1342     pThis->__deviceCtrlCmdGpuGetSriovCaps__ = &deviceCtrlCmdGpuGetSriovCaps_IMPL;
1343 #endif
1344 
1345 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x13u)
1346     pThis->__deviceCtrlCmdGpuGetFindSubDeviceHandle__ = &deviceCtrlCmdGpuGetFindSubDeviceHandle_IMPL;
1347 #endif
1348 
1349 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
1350     pThis->__deviceCtrlCmdMsencGetCaps__ = &deviceCtrlCmdMsencGetCaps_IMPL;
1351 #endif
1352 
1353 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
1354     pThis->__deviceCtrlCmdBspGetCapsV2__ = &deviceCtrlCmdBspGetCapsV2_IMPL;
1355 #endif
1356 
1357 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
1358     pThis->__deviceCtrlCmdNvjpgGetCapsV2__ = &deviceCtrlCmdNvjpgGetCapsV2_IMPL;
1359 #endif
1360 
1361 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x1u)
1362     pThis->__deviceCtrlCmdOsUnixVTSwitch__ = &deviceCtrlCmdOsUnixVTSwitch_IMPL;
1363 #endif
1364 
1365 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x1u)
1366     pThis->__deviceCtrlCmdOsUnixVTGetFBInfo__ = &deviceCtrlCmdOsUnixVTGetFBInfo_IMPL;
1367 #endif
1368 
1369     pThis->__nvoc_base_GpuResource.__gpuresControl__ = &__nvoc_thunk_Device_gpuresControl;
1370 
1371     pThis->__nvoc_base_GpuResource.__gpuresInternalControlForward__ = &__nvoc_thunk_Device_gpuresInternalControlForward;
1372 
1373     pThis->__deviceShareCallback__ = &__nvoc_thunk_GpuResource_deviceShareCallback;
1374 
1375     pThis->__deviceCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_deviceCheckMemInterUnmap;
1376 
1377     pThis->__deviceMapTo__ = &__nvoc_thunk_RsResource_deviceMapTo;
1378 
1379     pThis->__deviceGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_deviceGetMapAddrSpace;
1380 
1381     pThis->__deviceGetRefCount__ = &__nvoc_thunk_RsResource_deviceGetRefCount;
1382 
1383     pThis->__deviceAddAdditionalDependants__ = &__nvoc_thunk_RsResource_deviceAddAdditionalDependants;
1384 
1385     pThis->__deviceControl_Prologue__ = &__nvoc_thunk_RmResource_deviceControl_Prologue;
1386 
1387     pThis->__deviceGetRegBaseOffsetAndSize__ = &__nvoc_thunk_GpuResource_deviceGetRegBaseOffsetAndSize;
1388 
1389     pThis->__deviceUnmapFrom__ = &__nvoc_thunk_RsResource_deviceUnmapFrom;
1390 
1391     pThis->__deviceControl_Epilogue__ = &__nvoc_thunk_RmResource_deviceControl_Epilogue;
1392 
1393     pThis->__deviceControlLookup__ = &__nvoc_thunk_RsResource_deviceControlLookup;
1394 
1395     pThis->__deviceGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_deviceGetInternalObjectHandle;
1396 
1397     pThis->__deviceUnmap__ = &__nvoc_thunk_GpuResource_deviceUnmap;
1398 
1399     pThis->__deviceGetMemInterMapParams__ = &__nvoc_thunk_RmResource_deviceGetMemInterMapParams;
1400 
1401     pThis->__deviceGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_deviceGetMemoryMappingDescriptor;
1402 
1403     pThis->__deviceControlFilter__ = &__nvoc_thunk_RsResource_deviceControlFilter;
1404 
1405     pThis->__deviceControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_deviceControlSerialization_Prologue;
1406 
1407     pThis->__deviceCanCopy__ = &__nvoc_thunk_RsResource_deviceCanCopy;
1408 
1409     pThis->__devicePreDestruct__ = &__nvoc_thunk_RsResource_devicePreDestruct;
1410 
1411     pThis->__deviceIsDuplicate__ = &__nvoc_thunk_RsResource_deviceIsDuplicate;
1412 
1413     pThis->__deviceControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_deviceControlSerialization_Epilogue;
1414 
1415     pThis->__deviceMap__ = &__nvoc_thunk_GpuResource_deviceMap;
1416 
1417     pThis->__deviceAccessCallback__ = &__nvoc_thunk_RmResource_deviceAccessCallback;
1418 }
1419 
1420 void __nvoc_init_funcTable_Device(Device *pThis) {
1421     __nvoc_init_funcTable_Device_1(pThis);
1422 }
1423 
1424 void __nvoc_init_GpuResource(GpuResource*);
1425 void __nvoc_init_Device(Device *pThis) {
1426     pThis->__nvoc_pbase_Device = pThis;
1427     pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object;
1428     pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource;
1429     pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon;
1430     pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource;
1431     pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_GpuResource;
1432     __nvoc_init_GpuResource(&pThis->__nvoc_base_GpuResource);
1433     __nvoc_init_funcTable_Device(pThis);
1434 }
1435 
1436 NV_STATUS __nvoc_objCreate_Device(Device **ppThis, Dynamic *pParent, NvU32 createFlags, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) {
1437     NV_STATUS status;
1438     Object *pParentObj;
1439     Device *pThis;
1440 
1441     status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(Device), (void**)&pThis, (void**)ppThis);
1442     if (status != NV_OK)
1443         return status;
1444 
1445     portMemSet(pThis, 0, sizeof(Device));
1446 
1447     __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_Device);
1448 
1449     pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags;
1450 
1451     if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
1452     {
1453         pParentObj = dynamicCast(pParent, Object);
1454         objAddChild(pParentObj, &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
1455     }
1456     else
1457     {
1458         pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL;
1459     }
1460 
1461     __nvoc_init_Device(pThis);
1462     status = __nvoc_ctor_Device(pThis, arg_pCallContext, arg_pParams);
1463     if (status != NV_OK) goto __nvoc_objCreate_Device_cleanup;
1464 
1465     *ppThis = pThis;
1466 
1467     return NV_OK;
1468 
1469 __nvoc_objCreate_Device_cleanup:
1470     // do not call destructors here since the constructor already called them
1471     if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
1472         portMemSet(pThis, 0, sizeof(Device));
1473     else
1474         portMemFree(pThis);
1475 
1476     // coverity[leaked_storage:FALSE]
1477     return status;
1478 }
1479 
1480 NV_STATUS __nvoc_objCreateDynamic_Device(Device **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
1481     NV_STATUS status;
1482     struct CALL_CONTEXT * arg_pCallContext = va_arg(args, struct CALL_CONTEXT *);
1483     struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
1484 
1485     status = __nvoc_objCreate_Device(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams);
1486 
1487     return status;
1488 }
1489 
1490