1 #define NVOC_PROFILER_V2_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_profiler_v2_nvoc.h" 9 10 #ifdef DEBUG 11 char __nvoc_class_id_uniqueness_check_0x4976fc = 1; 12 #endif 13 14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerBase; 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_ProfilerBase(ProfilerBase*, RmHalspecOwner* ); 27 void __nvoc_init_funcTable_ProfilerBase(ProfilerBase*, RmHalspecOwner* ); 28 NV_STATUS __nvoc_ctor_ProfilerBase(ProfilerBase*, RmHalspecOwner* , struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams); 29 void __nvoc_init_dataField_ProfilerBase(ProfilerBase*, RmHalspecOwner* ); 30 void __nvoc_dtor_ProfilerBase(ProfilerBase*); 31 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerBase; 32 33 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_ProfilerBase = { 34 /*pClassDef=*/ &__nvoc_class_def_ProfilerBase, 35 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_ProfilerBase, 36 /*offset=*/ 0, 37 }; 38 39 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_Object = { 40 /*pClassDef=*/ &__nvoc_class_def_Object, 41 /*dtor=*/ &__nvoc_destructFromBase, 42 /*offset=*/ NV_OFFSETOF(ProfilerBase, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object), 43 }; 44 45 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_RsResource = { 46 /*pClassDef=*/ &__nvoc_class_def_RsResource, 47 /*dtor=*/ &__nvoc_destructFromBase, 48 /*offset=*/ NV_OFFSETOF(ProfilerBase, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource), 49 }; 50 51 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_RmResourceCommon = { 52 /*pClassDef=*/ &__nvoc_class_def_RmResourceCommon, 53 /*dtor=*/ &__nvoc_destructFromBase, 54 /*offset=*/ NV_OFFSETOF(ProfilerBase, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon), 55 }; 56 57 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_RmResource = { 58 /*pClassDef=*/ &__nvoc_class_def_RmResource, 59 /*dtor=*/ &__nvoc_destructFromBase, 60 /*offset=*/ NV_OFFSETOF(ProfilerBase, __nvoc_base_GpuResource.__nvoc_base_RmResource), 61 }; 62 63 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_GpuResource = { 64 /*pClassDef=*/ &__nvoc_class_def_GpuResource, 65 /*dtor=*/ &__nvoc_destructFromBase, 66 /*offset=*/ NV_OFFSETOF(ProfilerBase, __nvoc_base_GpuResource), 67 }; 68 69 static const struct NVOC_CASTINFO __nvoc_castinfo_ProfilerBase = { 70 /*numRelatives=*/ 6, 71 /*relatives=*/ { 72 &__nvoc_rtti_ProfilerBase_ProfilerBase, 73 &__nvoc_rtti_ProfilerBase_GpuResource, 74 &__nvoc_rtti_ProfilerBase_RmResource, 75 &__nvoc_rtti_ProfilerBase_RmResourceCommon, 76 &__nvoc_rtti_ProfilerBase_RsResource, 77 &__nvoc_rtti_ProfilerBase_Object, 78 }, 79 }; 80 81 const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerBase = 82 { 83 /*classInfo=*/ { 84 /*size=*/ sizeof(ProfilerBase), 85 /*classId=*/ classId(ProfilerBase), 86 /*providerId=*/ &__nvoc_rtti_provider, 87 #if NV_PRINTF_STRINGS_ALLOWED 88 /*name=*/ "ProfilerBase", 89 #endif 90 }, 91 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_ProfilerBase, 92 /*pCastInfo=*/ &__nvoc_castinfo_ProfilerBase, 93 /*pExportInfo=*/ &__nvoc_export_info_ProfilerBase 94 }; 95 96 static NvBool __nvoc_thunk_GpuResource_profilerBaseShareCallback(struct ProfilerBase *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) { 97 return gpuresShareCallback((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pInvokingClient, pParentRef, pSharePolicy); 98 } 99 100 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseCheckMemInterUnmap(struct ProfilerBase *pRmResource, NvBool bSubdeviceHandleProvided) { 101 return rmresCheckMemInterUnmap((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), bSubdeviceHandleProvided); 102 } 103 104 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseMapTo(struct ProfilerBase *pResource, RS_RES_MAP_TO_PARAMS *pParams) { 105 return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pParams); 106 } 107 108 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseGetMapAddrSpace(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) { 109 return gpuresGetMapAddrSpace((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, mapFlags, pAddrSpace); 110 } 111 112 static NvU32 __nvoc_thunk_RsResource_profilerBaseGetRefCount(struct ProfilerBase *pResource) { 113 return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset)); 114 } 115 116 static void __nvoc_thunk_RsResource_profilerBaseAddAdditionalDependants(struct RsClient *pClient, struct ProfilerBase *pResource, RsResourceRef *pReference) { 117 resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pReference); 118 } 119 120 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseControl_Prologue(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 121 return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pCallContext, pParams); 122 } 123 124 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseGetRegBaseOffsetAndSize(struct ProfilerBase *pGpuResource, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) { 125 return gpuresGetRegBaseOffsetAndSize((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pGpu, pOffset, pSize); 126 } 127 128 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseInternalControlForward(struct ProfilerBase *pGpuResource, NvU32 command, void *pParams, NvU32 size) { 129 return gpuresInternalControlForward((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), command, pParams, size); 130 } 131 132 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseUnmapFrom(struct ProfilerBase *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) { 133 return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pParams); 134 } 135 136 static void __nvoc_thunk_RmResource_profilerBaseControl_Epilogue(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 137 rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pCallContext, pParams); 138 } 139 140 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseControlLookup(struct ProfilerBase *pResource, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams, const struct NVOC_EXPORTED_METHOD_DEF **ppEntry) { 141 return resControlLookup((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pParams, ppEntry); 142 } 143 144 static NvHandle __nvoc_thunk_GpuResource_profilerBaseGetInternalObjectHandle(struct ProfilerBase *pGpuResource) { 145 return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset)); 146 } 147 148 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseControl(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 149 return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, pParams); 150 } 151 152 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseUnmap(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) { 153 return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, pCpuMapping); 154 } 155 156 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseGetMemInterMapParams(struct ProfilerBase *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) { 157 return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pParams); 158 } 159 160 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseGetMemoryMappingDescriptor(struct ProfilerBase *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) { 161 return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), ppMemDesc); 162 } 163 164 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseControlFilter(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 165 return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pCallContext, pParams); 166 } 167 168 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseControlSerialization_Prologue(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 169 return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pCallContext, pParams); 170 } 171 172 static NvBool __nvoc_thunk_RsResource_profilerBaseCanCopy(struct ProfilerBase *pResource) { 173 return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset)); 174 } 175 176 static void __nvoc_thunk_RsResource_profilerBasePreDestruct(struct ProfilerBase *pResource) { 177 resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset)); 178 } 179 180 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseIsDuplicate(struct ProfilerBase *pResource, NvHandle hMemory, NvBool *pDuplicate) { 181 return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), hMemory, pDuplicate); 182 } 183 184 static void __nvoc_thunk_RmResource_profilerBaseControlSerialization_Epilogue(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 185 rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pCallContext, pParams); 186 } 187 188 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseMap(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) { 189 return gpuresMap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, pParams, pCpuMapping); 190 } 191 192 static NvBool __nvoc_thunk_RmResource_profilerBaseAccessCallback(struct ProfilerBase *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) { 193 return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_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_ProfilerBase[] = 201 { 202 { /* [0] */ 203 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2010u) 204 /*pFunc=*/ (void (*)(void)) NULL, 205 #else 206 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReserveHwpmLegacy_IMPL, 207 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2010u) 208 /*flags=*/ 0x2010u, 209 /*accessRight=*/0x0u, 210 /*methodId=*/ 0xb0cc0101u, 211 /*paramSize=*/ sizeof(NVB0CC_CTRL_RESERVE_HWPM_LEGACY_PARAMS), 212 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 213 #if NV_PRINTF_STRINGS_ALLOWED 214 /*func=*/ "profilerBaseCtrlCmdReserveHwpmLegacy" 215 #endif 216 }, 217 { /* [1] */ 218 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 219 /*pFunc=*/ (void (*)(void)) NULL, 220 #else 221 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReleaseHwpmLegacy_IMPL, 222 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 223 /*flags=*/ 0x210u, 224 /*accessRight=*/0x0u, 225 /*methodId=*/ 0xb0cc0102u, 226 /*paramSize=*/ 0, 227 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 228 #if NV_PRINTF_STRINGS_ALLOWED 229 /*func=*/ "profilerBaseCtrlCmdReleaseHwpmLegacy" 230 #endif 231 }, 232 { /* [2] */ 233 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 234 /*pFunc=*/ (void (*)(void)) NULL, 235 #else 236 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReservePmAreaSmpc_IMPL, 237 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 238 /*flags=*/ 0x210u, 239 /*accessRight=*/0x0u, 240 /*methodId=*/ 0xb0cc0103u, 241 /*paramSize=*/ sizeof(NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS), 242 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 243 #if NV_PRINTF_STRINGS_ALLOWED 244 /*func=*/ "profilerBaseCtrlCmdReservePmAreaSmpc" 245 #endif 246 }, 247 { /* [3] */ 248 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 249 /*pFunc=*/ (void (*)(void)) NULL, 250 #else 251 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReleasePmAreaSmpc_IMPL, 252 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 253 /*flags=*/ 0x210u, 254 /*accessRight=*/0x0u, 255 /*methodId=*/ 0xb0cc0104u, 256 /*paramSize=*/ 0, 257 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 258 #if NV_PRINTF_STRINGS_ALLOWED 259 /*func=*/ "profilerBaseCtrlCmdReleasePmAreaSmpc" 260 #endif 261 }, 262 { /* [4] */ 263 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 264 /*pFunc=*/ (void (*)(void)) NULL, 265 #else 266 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdAllocPmaStream_IMPL, 267 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 268 /*flags=*/ 0x10u, 269 /*accessRight=*/0x0u, 270 /*methodId=*/ 0xb0cc0105u, 271 /*paramSize=*/ sizeof(NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS), 272 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 273 #if NV_PRINTF_STRINGS_ALLOWED 274 /*func=*/ "profilerBaseCtrlCmdAllocPmaStream" 275 #endif 276 }, 277 { /* [5] */ 278 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 279 /*pFunc=*/ (void (*)(void)) NULL, 280 #else 281 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdFreePmaStream_IMPL, 282 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 283 /*flags=*/ 0x10u, 284 /*accessRight=*/0x0u, 285 /*methodId=*/ 0xb0cc0106u, 286 /*paramSize=*/ sizeof(NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS), 287 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 288 #if NV_PRINTF_STRINGS_ALLOWED 289 /*func=*/ "profilerBaseCtrlCmdFreePmaStream" 290 #endif 291 }, 292 { /* [6] */ 293 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 294 /*pFunc=*/ (void (*)(void)) NULL, 295 #else 296 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdBindPmResources_IMPL, 297 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 298 /*flags=*/ 0x10u, 299 /*accessRight=*/0x0u, 300 /*methodId=*/ 0xb0cc0107u, 301 /*paramSize=*/ 0, 302 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 303 #if NV_PRINTF_STRINGS_ALLOWED 304 /*func=*/ "profilerBaseCtrlCmdBindPmResources" 305 #endif 306 }, 307 { /* [7] */ 308 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 309 /*pFunc=*/ (void (*)(void)) NULL, 310 #else 311 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdUnbindPmResources_IMPL, 312 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 313 /*flags=*/ 0x10u, 314 /*accessRight=*/0x0u, 315 /*methodId=*/ 0xb0cc0108u, 316 /*paramSize=*/ 0, 317 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 318 #if NV_PRINTF_STRINGS_ALLOWED 319 /*func=*/ "profilerBaseCtrlCmdUnbindPmResources" 320 #endif 321 }, 322 { /* [8] */ 323 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 324 /*pFunc=*/ (void (*)(void)) NULL, 325 #else 326 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdPmaStreamUpdateGetPut_IMPL, 327 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 328 /*flags=*/ 0x210u, 329 /*accessRight=*/0x0u, 330 /*methodId=*/ 0xb0cc0109u, 331 /*paramSize=*/ sizeof(NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS), 332 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 333 #if NV_PRINTF_STRINGS_ALLOWED 334 /*func=*/ "profilerBaseCtrlCmdPmaStreamUpdateGetPut" 335 #endif 336 }, 337 { /* [9] */ 338 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 339 /*pFunc=*/ (void (*)(void)) NULL, 340 #else 341 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdExecRegops_IMPL, 342 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 343 /*flags=*/ 0x2210u, 344 /*accessRight=*/0x0u, 345 /*methodId=*/ 0xb0cc010au, 346 /*paramSize=*/ sizeof(NVB0CC_CTRL_EXEC_REG_OPS_PARAMS), 347 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 348 #if NV_PRINTF_STRINGS_ALLOWED 349 /*func=*/ "profilerBaseCtrlCmdExecRegops" 350 #endif 351 }, 352 { /* [10] */ 353 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 354 /*pFunc=*/ (void (*)(void)) NULL, 355 #else 356 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReservePmAreaPcSampler_IMPL, 357 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 358 /*flags=*/ 0x2210u, 359 /*accessRight=*/0x0u, 360 /*methodId=*/ 0xb0cc010bu, 361 /*paramSize=*/ 0, 362 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 363 #if NV_PRINTF_STRINGS_ALLOWED 364 /*func=*/ "profilerBaseCtrlCmdReservePmAreaPcSampler" 365 #endif 366 }, 367 { /* [11] */ 368 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 369 /*pFunc=*/ (void (*)(void)) NULL, 370 #else 371 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReleasePmAreaPcSampler_IMPL, 372 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 373 /*flags=*/ 0x2210u, 374 /*accessRight=*/0x0u, 375 /*methodId=*/ 0xb0cc010cu, 376 /*paramSize=*/ 0, 377 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 378 #if NV_PRINTF_STRINGS_ALLOWED 379 /*func=*/ "profilerBaseCtrlCmdReleasePmAreaPcSampler" 380 #endif 381 }, 382 { /* [12] */ 383 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 384 /*pFunc=*/ (void (*)(void)) NULL, 385 #else 386 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdGetTotalHsCredits_IMPL, 387 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 388 /*flags=*/ 0x2210u, 389 /*accessRight=*/0x0u, 390 /*methodId=*/ 0xb0cc010du, 391 /*paramSize=*/ sizeof(NVB0CC_CTRL_GET_TOTAL_HS_CREDITS_PARAMS), 392 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 393 #if NV_PRINTF_STRINGS_ALLOWED 394 /*func=*/ "profilerBaseCtrlCmdGetTotalHsCredits" 395 #endif 396 }, 397 { /* [13] */ 398 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 399 /*pFunc=*/ (void (*)(void)) NULL, 400 #else 401 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdSetHsCredits_IMPL, 402 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 403 /*flags=*/ 0x2210u, 404 /*accessRight=*/0x0u, 405 /*methodId=*/ 0xb0cc010eu, 406 /*paramSize=*/ sizeof(NVB0CC_CTRL_SET_HS_CREDITS_PARAMS), 407 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 408 #if NV_PRINTF_STRINGS_ALLOWED 409 /*func=*/ "profilerBaseCtrlCmdSetHsCredits" 410 #endif 411 }, 412 { /* [14] */ 413 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 414 /*pFunc=*/ (void (*)(void)) NULL, 415 #else 416 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdGetHsCredits_IMPL, 417 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 418 /*flags=*/ 0x2210u, 419 /*accessRight=*/0x0u, 420 /*methodId=*/ 0xb0cc010fu, 421 /*paramSize=*/ sizeof(NVB0CC_CTRL_GET_HS_CREDITS_PARAMS), 422 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 423 #if NV_PRINTF_STRINGS_ALLOWED 424 /*func=*/ "profilerBaseCtrlCmdGetHsCredits" 425 #endif 426 }, 427 { /* [15] */ 428 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 429 /*pFunc=*/ (void (*)(void)) NULL, 430 #else 431 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReserveHes_IMPL, 432 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 433 /*flags=*/ 0x210u, 434 /*accessRight=*/0x0u, 435 /*methodId=*/ 0xb0cc0113u, 436 /*paramSize=*/ sizeof(NVB0CC_CTRL_RESERVE_HES_PARAMS), 437 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 438 #if NV_PRINTF_STRINGS_ALLOWED 439 /*func=*/ "profilerBaseCtrlCmdReserveHes" 440 #endif 441 }, 442 { /* [16] */ 443 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 444 /*pFunc=*/ (void (*)(void)) NULL, 445 #else 446 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReleaseHes_IMPL, 447 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 448 /*flags=*/ 0x210u, 449 /*accessRight=*/0x0u, 450 /*methodId=*/ 0xb0cc0114u, 451 /*paramSize=*/ sizeof(NVB0CC_CTRL_RELEASE_HES_PARAMS), 452 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 453 #if NV_PRINTF_STRINGS_ALLOWED 454 /*func=*/ "profilerBaseCtrlCmdReleaseHes" 455 #endif 456 }, 457 { /* [17] */ 458 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 459 /*pFunc=*/ (void (*)(void)) NULL, 460 #else 461 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdDisableDynamicMMABoost_IMPL, 462 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 463 /*flags=*/ 0x210u, 464 /*accessRight=*/0x0u, 465 /*methodId=*/ 0xb0cc0117u, 466 /*paramSize=*/ sizeof(NVB0CC_CTRL_DISABLE_DYNAMIC_MMA_BOOST_PARAMS), 467 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 468 #if NV_PRINTF_STRINGS_ALLOWED 469 /*func=*/ "profilerBaseCtrlCmdDisableDynamicMMABoost" 470 #endif 471 }, 472 { /* [18] */ 473 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 474 /*pFunc=*/ (void (*)(void)) NULL, 475 #else 476 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdGetDynamicMMABoostStatus_IMPL, 477 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 478 /*flags=*/ 0x210u, 479 /*accessRight=*/0x0u, 480 /*methodId=*/ 0xb0cc0118u, 481 /*paramSize=*/ sizeof(NVB0CC_CTRL_GET_DYNAMIC_MMA_BOOST_STATUS_PARAMS), 482 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 483 #if NV_PRINTF_STRINGS_ALLOWED 484 /*func=*/ "profilerBaseCtrlCmdGetDynamicMMABoostStatus" 485 #endif 486 }, 487 { /* [19] */ 488 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 489 /*pFunc=*/ (void (*)(void)) NULL, 490 #else 491 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalPermissionsInit_IMPL, 492 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 493 /*flags=*/ 0x610u, 494 /*accessRight=*/0x0u, 495 /*methodId=*/ 0xb0cc0203u, 496 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_PERMISSIONS_INIT_PARAMS), 497 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 498 #if NV_PRINTF_STRINGS_ALLOWED 499 /*func=*/ "profilerBaseCtrlCmdInternalPermissionsInit" 500 #endif 501 }, 502 { /* [20] */ 503 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 504 /*pFunc=*/ (void (*)(void)) NULL, 505 #else 506 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalAllocPmaStream_IMPL, 507 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 508 /*flags=*/ 0x610u, 509 /*accessRight=*/0x0u, 510 /*methodId=*/ 0xb0cc0204u, 511 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS), 512 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 513 #if NV_PRINTF_STRINGS_ALLOWED 514 /*func=*/ "profilerBaseCtrlCmdInternalAllocPmaStream" 515 #endif 516 }, 517 { /* [21] */ 518 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 519 /*pFunc=*/ (void (*)(void)) NULL, 520 #else 521 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalFreePmaStream_IMPL, 522 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 523 /*flags=*/ 0x610u, 524 /*accessRight=*/0x0u, 525 /*methodId=*/ 0xb0cc0206u, 526 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS), 527 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 528 #if NV_PRINTF_STRINGS_ALLOWED 529 /*func=*/ "profilerBaseCtrlCmdInternalFreePmaStream" 530 #endif 531 }, 532 { /* [22] */ 533 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 534 /*pFunc=*/ (void (*)(void)) NULL, 535 #else 536 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalGetMaxPmas_IMPL, 537 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 538 /*flags=*/ 0x610u, 539 /*accessRight=*/0x0u, 540 /*methodId=*/ 0xb0cc0207u, 541 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS), 542 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 543 #if NV_PRINTF_STRINGS_ALLOWED 544 /*func=*/ "profilerBaseCtrlCmdInternalGetMaxPmas" 545 #endif 546 }, 547 { /* [23] */ 548 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 549 /*pFunc=*/ (void (*)(void)) NULL, 550 #else 551 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalBindPmResources_IMPL, 552 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 553 /*flags=*/ 0x610u, 554 /*accessRight=*/0x0u, 555 /*methodId=*/ 0xb0cc0208u, 556 /*paramSize=*/ 0, 557 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 558 #if NV_PRINTF_STRINGS_ALLOWED 559 /*func=*/ "profilerBaseCtrlCmdInternalBindPmResources" 560 #endif 561 }, 562 { /* [24] */ 563 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 564 /*pFunc=*/ (void (*)(void)) NULL, 565 #else 566 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalUnbindPmResources_IMPL, 567 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 568 /*flags=*/ 0x610u, 569 /*accessRight=*/0x0u, 570 /*methodId=*/ 0xb0cc0209u, 571 /*paramSize=*/ 0, 572 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 573 #if NV_PRINTF_STRINGS_ALLOWED 574 /*func=*/ "profilerBaseCtrlCmdInternalUnbindPmResources" 575 #endif 576 }, 577 { /* [25] */ 578 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 579 /*pFunc=*/ (void (*)(void)) NULL, 580 #else 581 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalReserveHwpmLegacy_IMPL, 582 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 583 /*flags=*/ 0x610u, 584 /*accessRight=*/0x0u, 585 /*methodId=*/ 0xb0cc020au, 586 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS), 587 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 588 #if NV_PRINTF_STRINGS_ALLOWED 589 /*func=*/ "profilerBaseCtrlCmdInternalReserveHwpmLegacy" 590 #endif 591 }, 592 { /* [26] */ 593 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 594 /*pFunc=*/ (void (*)(void)) NULL, 595 #else 596 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdRequestCgControls_IMPL, 597 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 598 /*flags=*/ 0x210u, 599 /*accessRight=*/0x0u, 600 /*methodId=*/ 0xb0cc0301u, 601 /*paramSize=*/ sizeof(NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS), 602 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 603 #if NV_PRINTF_STRINGS_ALLOWED 604 /*func=*/ "profilerBaseCtrlCmdRequestCgControls" 605 #endif 606 }, 607 { /* [27] */ 608 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 609 /*pFunc=*/ (void (*)(void)) NULL, 610 #else 611 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReleaseCgControls_IMPL, 612 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 613 /*flags=*/ 0x210u, 614 /*accessRight=*/0x0u, 615 /*methodId=*/ 0xb0cc0302u, 616 /*paramSize=*/ sizeof(NVB0CC_CTRL_POWER_RELEASE_FEATURES_PARAMS), 617 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 618 #if NV_PRINTF_STRINGS_ALLOWED 619 /*func=*/ "profilerBaseCtrlCmdReleaseCgControls" 620 #endif 621 }, 622 623 }; 624 625 const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerBase = 626 { 627 /*numEntries=*/ 28, 628 /*pExportEntries=*/ __nvoc_exported_method_def_ProfilerBase 629 }; 630 631 void __nvoc_dtor_GpuResource(GpuResource*); 632 void __nvoc_dtor_ProfilerBase(ProfilerBase *pThis) { 633 __nvoc_profilerBaseDestruct(pThis); 634 __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource); 635 PORT_UNREFERENCED_VARIABLE(pThis); 636 } 637 638 void __nvoc_init_dataField_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) { 639 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal; 640 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx; 641 PORT_UNREFERENCED_VARIABLE(pThis); 642 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner); 643 PORT_UNREFERENCED_VARIABLE(rmVariantHal); 644 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx); 645 } 646 647 NV_STATUS __nvoc_ctor_GpuResource(GpuResource* , struct CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *); 648 NV_STATUS __nvoc_ctor_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) { 649 NV_STATUS status = NV_OK; 650 status = __nvoc_ctor_GpuResource(&pThis->__nvoc_base_GpuResource, arg_pCallContext, arg_pParams); 651 if (status != NV_OK) goto __nvoc_ctor_ProfilerBase_fail_GpuResource; 652 __nvoc_init_dataField_ProfilerBase(pThis, pRmhalspecowner); 653 654 status = __nvoc_profilerBaseConstruct(pThis, arg_pCallContext, arg_pParams); 655 if (status != NV_OK) goto __nvoc_ctor_ProfilerBase_fail__init; 656 goto __nvoc_ctor_ProfilerBase_exit; // Success 657 658 __nvoc_ctor_ProfilerBase_fail__init: 659 __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource); 660 __nvoc_ctor_ProfilerBase_fail_GpuResource: 661 __nvoc_ctor_ProfilerBase_exit: 662 663 return status; 664 } 665 666 static void __nvoc_init_funcTable_ProfilerBase_1(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) { 667 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal; 668 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx; 669 PORT_UNREFERENCED_VARIABLE(pThis); 670 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner); 671 PORT_UNREFERENCED_VARIABLE(rmVariantHal); 672 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx); 673 674 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2010u) 675 pThis->__profilerBaseCtrlCmdReserveHwpmLegacy__ = &profilerBaseCtrlCmdReserveHwpmLegacy_IMPL; 676 #endif 677 678 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 679 pThis->__profilerBaseCtrlCmdInternalReserveHwpmLegacy__ = &profilerBaseCtrlCmdInternalReserveHwpmLegacy_IMPL; 680 #endif 681 682 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 683 pThis->__profilerBaseCtrlCmdReleaseHwpmLegacy__ = &profilerBaseCtrlCmdReleaseHwpmLegacy_IMPL; 684 #endif 685 686 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 687 pThis->__profilerBaseCtrlCmdReservePmAreaSmpc__ = &profilerBaseCtrlCmdReservePmAreaSmpc_IMPL; 688 #endif 689 690 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 691 pThis->__profilerBaseCtrlCmdReleasePmAreaSmpc__ = &profilerBaseCtrlCmdReleasePmAreaSmpc_IMPL; 692 #endif 693 694 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 695 pThis->__profilerBaseCtrlCmdAllocPmaStream__ = &profilerBaseCtrlCmdAllocPmaStream_IMPL; 696 #endif 697 698 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 699 pThis->__profilerBaseCtrlCmdFreePmaStream__ = &profilerBaseCtrlCmdFreePmaStream_IMPL; 700 #endif 701 702 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 703 pThis->__profilerBaseCtrlCmdInternalFreePmaStream__ = &profilerBaseCtrlCmdInternalFreePmaStream_IMPL; 704 #endif 705 706 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 707 pThis->__profilerBaseCtrlCmdInternalGetMaxPmas__ = &profilerBaseCtrlCmdInternalGetMaxPmas_IMPL; 708 #endif 709 710 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 711 pThis->__profilerBaseCtrlCmdBindPmResources__ = &profilerBaseCtrlCmdBindPmResources_IMPL; 712 #endif 713 714 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 715 pThis->__profilerBaseCtrlCmdUnbindPmResources__ = &profilerBaseCtrlCmdUnbindPmResources_IMPL; 716 #endif 717 718 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 719 pThis->__profilerBaseCtrlCmdInternalBindPmResources__ = &profilerBaseCtrlCmdInternalBindPmResources_IMPL; 720 #endif 721 722 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 723 pThis->__profilerBaseCtrlCmdInternalUnbindPmResources__ = &profilerBaseCtrlCmdInternalUnbindPmResources_IMPL; 724 #endif 725 726 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 727 pThis->__profilerBaseCtrlCmdPmaStreamUpdateGetPut__ = &profilerBaseCtrlCmdPmaStreamUpdateGetPut_IMPL; 728 #endif 729 730 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 731 pThis->__profilerBaseCtrlCmdExecRegops__ = &profilerBaseCtrlCmdExecRegops_IMPL; 732 #endif 733 734 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 735 pThis->__profilerBaseCtrlCmdInternalAllocPmaStream__ = &profilerBaseCtrlCmdInternalAllocPmaStream_IMPL; 736 #endif 737 738 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 739 pThis->__profilerBaseCtrlCmdInternalPermissionsInit__ = &profilerBaseCtrlCmdInternalPermissionsInit_IMPL; 740 #endif 741 742 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 743 pThis->__profilerBaseCtrlCmdReservePmAreaPcSampler__ = &profilerBaseCtrlCmdReservePmAreaPcSampler_IMPL; 744 #endif 745 746 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 747 pThis->__profilerBaseCtrlCmdReleasePmAreaPcSampler__ = &profilerBaseCtrlCmdReleasePmAreaPcSampler_IMPL; 748 #endif 749 750 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 751 pThis->__profilerBaseCtrlCmdGetTotalHsCredits__ = &profilerBaseCtrlCmdGetTotalHsCredits_IMPL; 752 #endif 753 754 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 755 pThis->__profilerBaseCtrlCmdGetHsCredits__ = &profilerBaseCtrlCmdGetHsCredits_IMPL; 756 #endif 757 758 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 759 pThis->__profilerBaseCtrlCmdSetHsCredits__ = &profilerBaseCtrlCmdSetHsCredits_IMPL; 760 #endif 761 762 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 763 pThis->__profilerBaseCtrlCmdReserveHes__ = &profilerBaseCtrlCmdReserveHes_IMPL; 764 #endif 765 766 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 767 pThis->__profilerBaseCtrlCmdReleaseHes__ = &profilerBaseCtrlCmdReleaseHes_IMPL; 768 #endif 769 770 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 771 pThis->__profilerBaseCtrlCmdRequestCgControls__ = &profilerBaseCtrlCmdRequestCgControls_IMPL; 772 #endif 773 774 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 775 pThis->__profilerBaseCtrlCmdReleaseCgControls__ = &profilerBaseCtrlCmdReleaseCgControls_IMPL; 776 #endif 777 778 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 779 pThis->__profilerBaseCtrlCmdDisableDynamicMMABoost__ = &profilerBaseCtrlCmdDisableDynamicMMABoost_IMPL; 780 #endif 781 782 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 783 pThis->__profilerBaseCtrlCmdGetDynamicMMABoostStatus__ = &profilerBaseCtrlCmdGetDynamicMMABoostStatus_IMPL; 784 #endif 785 786 pThis->__profilerBaseShareCallback__ = &__nvoc_thunk_GpuResource_profilerBaseShareCallback; 787 788 pThis->__profilerBaseCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_profilerBaseCheckMemInterUnmap; 789 790 pThis->__profilerBaseMapTo__ = &__nvoc_thunk_RsResource_profilerBaseMapTo; 791 792 pThis->__profilerBaseGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_profilerBaseGetMapAddrSpace; 793 794 pThis->__profilerBaseGetRefCount__ = &__nvoc_thunk_RsResource_profilerBaseGetRefCount; 795 796 pThis->__profilerBaseAddAdditionalDependants__ = &__nvoc_thunk_RsResource_profilerBaseAddAdditionalDependants; 797 798 pThis->__profilerBaseControl_Prologue__ = &__nvoc_thunk_RmResource_profilerBaseControl_Prologue; 799 800 pThis->__profilerBaseGetRegBaseOffsetAndSize__ = &__nvoc_thunk_GpuResource_profilerBaseGetRegBaseOffsetAndSize; 801 802 pThis->__profilerBaseInternalControlForward__ = &__nvoc_thunk_GpuResource_profilerBaseInternalControlForward; 803 804 pThis->__profilerBaseUnmapFrom__ = &__nvoc_thunk_RsResource_profilerBaseUnmapFrom; 805 806 pThis->__profilerBaseControl_Epilogue__ = &__nvoc_thunk_RmResource_profilerBaseControl_Epilogue; 807 808 pThis->__profilerBaseControlLookup__ = &__nvoc_thunk_RsResource_profilerBaseControlLookup; 809 810 pThis->__profilerBaseGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_profilerBaseGetInternalObjectHandle; 811 812 pThis->__profilerBaseControl__ = &__nvoc_thunk_GpuResource_profilerBaseControl; 813 814 pThis->__profilerBaseUnmap__ = &__nvoc_thunk_GpuResource_profilerBaseUnmap; 815 816 pThis->__profilerBaseGetMemInterMapParams__ = &__nvoc_thunk_RmResource_profilerBaseGetMemInterMapParams; 817 818 pThis->__profilerBaseGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_profilerBaseGetMemoryMappingDescriptor; 819 820 pThis->__profilerBaseControlFilter__ = &__nvoc_thunk_RsResource_profilerBaseControlFilter; 821 822 pThis->__profilerBaseControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_profilerBaseControlSerialization_Prologue; 823 824 pThis->__profilerBaseCanCopy__ = &__nvoc_thunk_RsResource_profilerBaseCanCopy; 825 826 pThis->__profilerBasePreDestruct__ = &__nvoc_thunk_RsResource_profilerBasePreDestruct; 827 828 pThis->__profilerBaseIsDuplicate__ = &__nvoc_thunk_RsResource_profilerBaseIsDuplicate; 829 830 pThis->__profilerBaseControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_profilerBaseControlSerialization_Epilogue; 831 832 pThis->__profilerBaseMap__ = &__nvoc_thunk_GpuResource_profilerBaseMap; 833 834 pThis->__profilerBaseAccessCallback__ = &__nvoc_thunk_RmResource_profilerBaseAccessCallback; 835 } 836 837 void __nvoc_init_funcTable_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) { 838 __nvoc_init_funcTable_ProfilerBase_1(pThis, pRmhalspecowner); 839 } 840 841 void __nvoc_init_GpuResource(GpuResource*); 842 void __nvoc_init_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) { 843 pThis->__nvoc_pbase_ProfilerBase = pThis; 844 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object; 845 pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource; 846 pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon; 847 pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource; 848 pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_GpuResource; 849 __nvoc_init_GpuResource(&pThis->__nvoc_base_GpuResource); 850 __nvoc_init_funcTable_ProfilerBase(pThis, pRmhalspecowner); 851 } 852 853 NV_STATUS __nvoc_objCreate_ProfilerBase(ProfilerBase **ppThis, Dynamic *pParent, NvU32 createFlags, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) { 854 NV_STATUS status; 855 Object *pParentObj; 856 ProfilerBase *pThis; 857 RmHalspecOwner *pRmhalspecowner; 858 859 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(ProfilerBase), (void**)&pThis, (void**)ppThis); 860 if (status != NV_OK) 861 return status; 862 863 portMemSet(pThis, 0, sizeof(ProfilerBase)); 864 865 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_ProfilerBase); 866 867 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags; 868 869 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY)) 870 { 871 pParentObj = dynamicCast(pParent, Object); 872 objAddChild(pParentObj, &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object); 873 } 874 else 875 { 876 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL; 877 } 878 879 if ((pRmhalspecowner = dynamicCast(pParent, RmHalspecOwner)) == NULL) 880 pRmhalspecowner = objFindAncestorOfType(RmHalspecOwner, pParent); 881 NV_ASSERT_OR_RETURN(pRmhalspecowner != NULL, NV_ERR_INVALID_ARGUMENT); 882 883 __nvoc_init_ProfilerBase(pThis, pRmhalspecowner); 884 status = __nvoc_ctor_ProfilerBase(pThis, pRmhalspecowner, arg_pCallContext, arg_pParams); 885 if (status != NV_OK) goto __nvoc_objCreate_ProfilerBase_cleanup; 886 887 *ppThis = pThis; 888 889 return NV_OK; 890 891 __nvoc_objCreate_ProfilerBase_cleanup: 892 // do not call destructors here since the constructor already called them 893 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT) 894 portMemSet(pThis, 0, sizeof(ProfilerBase)); 895 else 896 portMemFree(pThis); 897 898 // coverity[leaked_storage:FALSE] 899 return status; 900 } 901 902 NV_STATUS __nvoc_objCreateDynamic_ProfilerBase(ProfilerBase **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) { 903 NV_STATUS status; 904 struct CALL_CONTEXT * arg_pCallContext = va_arg(args, struct CALL_CONTEXT *); 905 struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *); 906 907 status = __nvoc_objCreate_ProfilerBase(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams); 908 909 return status; 910 } 911 912 #ifdef DEBUG 913 char __nvoc_class_id_uniqueness_check_0x54d077 = 1; 914 #endif 915 916 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerDev; 917 918 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object; 919 920 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsResource; 921 922 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResourceCommon; 923 924 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResource; 925 926 extern const struct NVOC_CLASS_DEF __nvoc_class_def_GpuResource; 927 928 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerBase; 929 930 void __nvoc_init_ProfilerDev(ProfilerDev*, RmHalspecOwner* ); 931 void __nvoc_init_funcTable_ProfilerDev(ProfilerDev*, RmHalspecOwner* ); 932 NV_STATUS __nvoc_ctor_ProfilerDev(ProfilerDev*, RmHalspecOwner* , struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams); 933 void __nvoc_init_dataField_ProfilerDev(ProfilerDev*, RmHalspecOwner* ); 934 void __nvoc_dtor_ProfilerDev(ProfilerDev*); 935 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerDev; 936 937 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_ProfilerDev = { 938 /*pClassDef=*/ &__nvoc_class_def_ProfilerDev, 939 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_ProfilerDev, 940 /*offset=*/ 0, 941 }; 942 943 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_Object = { 944 /*pClassDef=*/ &__nvoc_class_def_Object, 945 /*dtor=*/ &__nvoc_destructFromBase, 946 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object), 947 }; 948 949 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RsResource = { 950 /*pClassDef=*/ &__nvoc_class_def_RsResource, 951 /*dtor=*/ &__nvoc_destructFromBase, 952 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource), 953 }; 954 955 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RmResourceCommon = { 956 /*pClassDef=*/ &__nvoc_class_def_RmResourceCommon, 957 /*dtor=*/ &__nvoc_destructFromBase, 958 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon), 959 }; 960 961 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RmResource = { 962 /*pClassDef=*/ &__nvoc_class_def_RmResource, 963 /*dtor=*/ &__nvoc_destructFromBase, 964 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource), 965 }; 966 967 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_GpuResource = { 968 /*pClassDef=*/ &__nvoc_class_def_GpuResource, 969 /*dtor=*/ &__nvoc_destructFromBase, 970 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource), 971 }; 972 973 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_ProfilerBase = { 974 /*pClassDef=*/ &__nvoc_class_def_ProfilerBase, 975 /*dtor=*/ &__nvoc_destructFromBase, 976 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase), 977 }; 978 979 static const struct NVOC_CASTINFO __nvoc_castinfo_ProfilerDev = { 980 /*numRelatives=*/ 7, 981 /*relatives=*/ { 982 &__nvoc_rtti_ProfilerDev_ProfilerDev, 983 &__nvoc_rtti_ProfilerDev_ProfilerBase, 984 &__nvoc_rtti_ProfilerDev_GpuResource, 985 &__nvoc_rtti_ProfilerDev_RmResource, 986 &__nvoc_rtti_ProfilerDev_RmResourceCommon, 987 &__nvoc_rtti_ProfilerDev_RsResource, 988 &__nvoc_rtti_ProfilerDev_Object, 989 }, 990 }; 991 992 const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerDev = 993 { 994 /*classInfo=*/ { 995 /*size=*/ sizeof(ProfilerDev), 996 /*classId=*/ classId(ProfilerDev), 997 /*providerId=*/ &__nvoc_rtti_provider, 998 #if NV_PRINTF_STRINGS_ALLOWED 999 /*name=*/ "ProfilerDev", 1000 #endif 1001 }, 1002 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_ProfilerDev, 1003 /*pCastInfo=*/ &__nvoc_castinfo_ProfilerDev, 1004 /*pExportInfo=*/ &__nvoc_export_info_ProfilerDev 1005 }; 1006 1007 static NvBool __nvoc_thunk_GpuResource_profilerDevShareCallback(struct ProfilerDev *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) { 1008 return gpuresShareCallback((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pInvokingClient, pParentRef, pSharePolicy); 1009 } 1010 1011 static NV_STATUS __nvoc_thunk_RmResource_profilerDevCheckMemInterUnmap(struct ProfilerDev *pRmResource, NvBool bSubdeviceHandleProvided) { 1012 return rmresCheckMemInterUnmap((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), bSubdeviceHandleProvided); 1013 } 1014 1015 static NV_STATUS __nvoc_thunk_RsResource_profilerDevMapTo(struct ProfilerDev *pResource, RS_RES_MAP_TO_PARAMS *pParams) { 1016 return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pParams); 1017 } 1018 1019 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevGetMapAddrSpace(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) { 1020 return gpuresGetMapAddrSpace((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, mapFlags, pAddrSpace); 1021 } 1022 1023 static NvU32 __nvoc_thunk_RsResource_profilerDevGetRefCount(struct ProfilerDev *pResource) { 1024 return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset)); 1025 } 1026 1027 static void __nvoc_thunk_RsResource_profilerDevAddAdditionalDependants(struct RsClient *pClient, struct ProfilerDev *pResource, RsResourceRef *pReference) { 1028 resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pReference); 1029 } 1030 1031 static NV_STATUS __nvoc_thunk_RmResource_profilerDevControl_Prologue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 1032 return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams); 1033 } 1034 1035 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevGetRegBaseOffsetAndSize(struct ProfilerDev *pGpuResource, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) { 1036 return gpuresGetRegBaseOffsetAndSize((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pGpu, pOffset, pSize); 1037 } 1038 1039 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevInternalControlForward(struct ProfilerDev *pGpuResource, NvU32 command, void *pParams, NvU32 size) { 1040 return gpuresInternalControlForward((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), command, pParams, size); 1041 } 1042 1043 static NV_STATUS __nvoc_thunk_RsResource_profilerDevUnmapFrom(struct ProfilerDev *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) { 1044 return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pParams); 1045 } 1046 1047 static void __nvoc_thunk_RmResource_profilerDevControl_Epilogue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 1048 rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams); 1049 } 1050 1051 static NV_STATUS __nvoc_thunk_RsResource_profilerDevControlLookup(struct ProfilerDev *pResource, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams, const struct NVOC_EXPORTED_METHOD_DEF **ppEntry) { 1052 return resControlLookup((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pParams, ppEntry); 1053 } 1054 1055 static NvHandle __nvoc_thunk_GpuResource_profilerDevGetInternalObjectHandle(struct ProfilerDev *pGpuResource) { 1056 return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset)); 1057 } 1058 1059 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevControl(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 1060 return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pParams); 1061 } 1062 1063 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevUnmap(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) { 1064 return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pCpuMapping); 1065 } 1066 1067 static NV_STATUS __nvoc_thunk_RmResource_profilerDevGetMemInterMapParams(struct ProfilerDev *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) { 1068 return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pParams); 1069 } 1070 1071 static NV_STATUS __nvoc_thunk_RmResource_profilerDevGetMemoryMappingDescriptor(struct ProfilerDev *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) { 1072 return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), ppMemDesc); 1073 } 1074 1075 static NV_STATUS __nvoc_thunk_RsResource_profilerDevControlFilter(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 1076 return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pCallContext, pParams); 1077 } 1078 1079 static NV_STATUS __nvoc_thunk_RmResource_profilerDevControlSerialization_Prologue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 1080 return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams); 1081 } 1082 1083 static NvBool __nvoc_thunk_RsResource_profilerDevCanCopy(struct ProfilerDev *pResource) { 1084 return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset)); 1085 } 1086 1087 static void __nvoc_thunk_RsResource_profilerDevPreDestruct(struct ProfilerDev *pResource) { 1088 resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset)); 1089 } 1090 1091 static NV_STATUS __nvoc_thunk_RsResource_profilerDevIsDuplicate(struct ProfilerDev *pResource, NvHandle hMemory, NvBool *pDuplicate) { 1092 return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), hMemory, pDuplicate); 1093 } 1094 1095 static void __nvoc_thunk_RmResource_profilerDevControlSerialization_Epilogue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 1096 rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams); 1097 } 1098 1099 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevMap(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) { 1100 return gpuresMap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pParams, pCpuMapping); 1101 } 1102 1103 static NvBool __nvoc_thunk_RmResource_profilerDevAccessCallback(struct ProfilerDev *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) { 1104 return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pInvokingClient, pAllocParams, accessRight); 1105 } 1106 1107 const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerDev = 1108 { 1109 /*numEntries=*/ 0, 1110 /*pExportEntries=*/ 0 1111 }; 1112 1113 void __nvoc_dtor_ProfilerBase(ProfilerBase*); 1114 void __nvoc_dtor_ProfilerDev(ProfilerDev *pThis) { 1115 __nvoc_profilerDevDestruct(pThis); 1116 __nvoc_dtor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase); 1117 PORT_UNREFERENCED_VARIABLE(pThis); 1118 } 1119 1120 void __nvoc_init_dataField_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) { 1121 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal; 1122 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx; 1123 PORT_UNREFERENCED_VARIABLE(pThis); 1124 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner); 1125 PORT_UNREFERENCED_VARIABLE(rmVariantHal); 1126 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx); 1127 } 1128 1129 NV_STATUS __nvoc_ctor_ProfilerBase(ProfilerBase* , RmHalspecOwner* , struct CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *); 1130 NV_STATUS __nvoc_ctor_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) { 1131 NV_STATUS status = NV_OK; 1132 status = __nvoc_ctor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase, pRmhalspecowner, arg_pCallContext, arg_pParams); 1133 if (status != NV_OK) goto __nvoc_ctor_ProfilerDev_fail_ProfilerBase; 1134 __nvoc_init_dataField_ProfilerDev(pThis, pRmhalspecowner); 1135 1136 status = __nvoc_profilerDevConstruct(pThis, arg_pCallContext, arg_pParams); 1137 if (status != NV_OK) goto __nvoc_ctor_ProfilerDev_fail__init; 1138 goto __nvoc_ctor_ProfilerDev_exit; // Success 1139 1140 __nvoc_ctor_ProfilerDev_fail__init: 1141 __nvoc_dtor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase); 1142 __nvoc_ctor_ProfilerDev_fail_ProfilerBase: 1143 __nvoc_ctor_ProfilerDev_exit: 1144 1145 return status; 1146 } 1147 1148 static void __nvoc_init_funcTable_ProfilerDev_1(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) { 1149 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal; 1150 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx; 1151 PORT_UNREFERENCED_VARIABLE(pThis); 1152 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner); 1153 PORT_UNREFERENCED_VARIABLE(rmVariantHal); 1154 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx); 1155 1156 pThis->__profilerDevShareCallback__ = &__nvoc_thunk_GpuResource_profilerDevShareCallback; 1157 1158 pThis->__profilerDevCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_profilerDevCheckMemInterUnmap; 1159 1160 pThis->__profilerDevMapTo__ = &__nvoc_thunk_RsResource_profilerDevMapTo; 1161 1162 pThis->__profilerDevGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_profilerDevGetMapAddrSpace; 1163 1164 pThis->__profilerDevGetRefCount__ = &__nvoc_thunk_RsResource_profilerDevGetRefCount; 1165 1166 pThis->__profilerDevAddAdditionalDependants__ = &__nvoc_thunk_RsResource_profilerDevAddAdditionalDependants; 1167 1168 pThis->__profilerDevControl_Prologue__ = &__nvoc_thunk_RmResource_profilerDevControl_Prologue; 1169 1170 pThis->__profilerDevGetRegBaseOffsetAndSize__ = &__nvoc_thunk_GpuResource_profilerDevGetRegBaseOffsetAndSize; 1171 1172 pThis->__profilerDevInternalControlForward__ = &__nvoc_thunk_GpuResource_profilerDevInternalControlForward; 1173 1174 pThis->__profilerDevUnmapFrom__ = &__nvoc_thunk_RsResource_profilerDevUnmapFrom; 1175 1176 pThis->__profilerDevControl_Epilogue__ = &__nvoc_thunk_RmResource_profilerDevControl_Epilogue; 1177 1178 pThis->__profilerDevControlLookup__ = &__nvoc_thunk_RsResource_profilerDevControlLookup; 1179 1180 pThis->__profilerDevGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_profilerDevGetInternalObjectHandle; 1181 1182 pThis->__profilerDevControl__ = &__nvoc_thunk_GpuResource_profilerDevControl; 1183 1184 pThis->__profilerDevUnmap__ = &__nvoc_thunk_GpuResource_profilerDevUnmap; 1185 1186 pThis->__profilerDevGetMemInterMapParams__ = &__nvoc_thunk_RmResource_profilerDevGetMemInterMapParams; 1187 1188 pThis->__profilerDevGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_profilerDevGetMemoryMappingDescriptor; 1189 1190 pThis->__profilerDevControlFilter__ = &__nvoc_thunk_RsResource_profilerDevControlFilter; 1191 1192 pThis->__profilerDevControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_profilerDevControlSerialization_Prologue; 1193 1194 pThis->__profilerDevCanCopy__ = &__nvoc_thunk_RsResource_profilerDevCanCopy; 1195 1196 pThis->__profilerDevPreDestruct__ = &__nvoc_thunk_RsResource_profilerDevPreDestruct; 1197 1198 pThis->__profilerDevIsDuplicate__ = &__nvoc_thunk_RsResource_profilerDevIsDuplicate; 1199 1200 pThis->__profilerDevControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_profilerDevControlSerialization_Epilogue; 1201 1202 pThis->__profilerDevMap__ = &__nvoc_thunk_GpuResource_profilerDevMap; 1203 1204 pThis->__profilerDevAccessCallback__ = &__nvoc_thunk_RmResource_profilerDevAccessCallback; 1205 } 1206 1207 void __nvoc_init_funcTable_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) { 1208 __nvoc_init_funcTable_ProfilerDev_1(pThis, pRmhalspecowner); 1209 } 1210 1211 void __nvoc_init_ProfilerBase(ProfilerBase*, RmHalspecOwner* ); 1212 void __nvoc_init_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) { 1213 pThis->__nvoc_pbase_ProfilerDev = pThis; 1214 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object; 1215 pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource; 1216 pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon; 1217 pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource; 1218 pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource; 1219 pThis->__nvoc_pbase_ProfilerBase = &pThis->__nvoc_base_ProfilerBase; 1220 __nvoc_init_ProfilerBase(&pThis->__nvoc_base_ProfilerBase, pRmhalspecowner); 1221 __nvoc_init_funcTable_ProfilerDev(pThis, pRmhalspecowner); 1222 } 1223 1224 NV_STATUS __nvoc_objCreate_ProfilerDev(ProfilerDev **ppThis, Dynamic *pParent, NvU32 createFlags, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) { 1225 NV_STATUS status; 1226 Object *pParentObj; 1227 ProfilerDev *pThis; 1228 RmHalspecOwner *pRmhalspecowner; 1229 1230 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(ProfilerDev), (void**)&pThis, (void**)ppThis); 1231 if (status != NV_OK) 1232 return status; 1233 1234 portMemSet(pThis, 0, sizeof(ProfilerDev)); 1235 1236 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_ProfilerDev); 1237 1238 pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags; 1239 1240 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY)) 1241 { 1242 pParentObj = dynamicCast(pParent, Object); 1243 objAddChild(pParentObj, &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object); 1244 } 1245 else 1246 { 1247 pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL; 1248 } 1249 1250 if ((pRmhalspecowner = dynamicCast(pParent, RmHalspecOwner)) == NULL) 1251 pRmhalspecowner = objFindAncestorOfType(RmHalspecOwner, pParent); 1252 NV_ASSERT_OR_RETURN(pRmhalspecowner != NULL, NV_ERR_INVALID_ARGUMENT); 1253 1254 __nvoc_init_ProfilerDev(pThis, pRmhalspecowner); 1255 status = __nvoc_ctor_ProfilerDev(pThis, pRmhalspecowner, arg_pCallContext, arg_pParams); 1256 if (status != NV_OK) goto __nvoc_objCreate_ProfilerDev_cleanup; 1257 1258 *ppThis = pThis; 1259 1260 return NV_OK; 1261 1262 __nvoc_objCreate_ProfilerDev_cleanup: 1263 // do not call destructors here since the constructor already called them 1264 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT) 1265 portMemSet(pThis, 0, sizeof(ProfilerDev)); 1266 else 1267 portMemFree(pThis); 1268 1269 // coverity[leaked_storage:FALSE] 1270 return status; 1271 } 1272 1273 NV_STATUS __nvoc_objCreateDynamic_ProfilerDev(ProfilerDev **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) { 1274 NV_STATUS status; 1275 struct CALL_CONTEXT * arg_pCallContext = va_arg(args, struct CALL_CONTEXT *); 1276 struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *); 1277 1278 status = __nvoc_objCreate_ProfilerDev(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams); 1279 1280 return status; 1281 } 1282 1283