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