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* , 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
__nvoc_thunk_GpuResource_profilerBaseShareCallback(struct ProfilerBase * pGpuResource,struct RsClient * pInvokingClient,struct RsResourceRef * pParentRef,RS_SHARE_POLICY * pSharePolicy)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
__nvoc_thunk_RmResource_profilerBaseCheckMemInterUnmap(struct ProfilerBase * pRmResource,NvBool bSubdeviceHandleProvided)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
__nvoc_thunk_RsResource_profilerBaseMapTo(struct ProfilerBase * pResource,RS_RES_MAP_TO_PARAMS * pParams)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
__nvoc_thunk_GpuResource_profilerBaseGetMapAddrSpace(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,NvU32 mapFlags,NV_ADDRESS_SPACE * pAddrSpace)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
__nvoc_thunk_RsResource_profilerBaseGetRefCount(struct ProfilerBase * pResource)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
__nvoc_thunk_RsResource_profilerBaseAddAdditionalDependants(struct RsClient * pClient,struct ProfilerBase * pResource,RsResourceRef * pReference)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
__nvoc_thunk_RmResource_profilerBaseControl_Prologue(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)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
__nvoc_thunk_GpuResource_profilerBaseGetRegBaseOffsetAndSize(struct ProfilerBase * pGpuResource,struct OBJGPU * pGpu,NvU32 * pOffset,NvU32 * pSize)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
__nvoc_thunk_GpuResource_profilerBaseInternalControlForward(struct ProfilerBase * pGpuResource,NvU32 command,void * pParams,NvU32 size)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
__nvoc_thunk_RsResource_profilerBaseUnmapFrom(struct ProfilerBase * pResource,RS_RES_UNMAP_FROM_PARAMS * pParams)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
__nvoc_thunk_RmResource_profilerBaseControl_Epilogue(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)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
__nvoc_thunk_GpuResource_profilerBaseGetInternalObjectHandle(struct ProfilerBase * pGpuResource)140 static NvHandle __nvoc_thunk_GpuResource_profilerBaseGetInternalObjectHandle(struct ProfilerBase *pGpuResource) {
141 return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset));
142 }
143
__nvoc_thunk_GpuResource_profilerBaseControl(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)144 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseControl(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
145 return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, pParams);
146 }
147
__nvoc_thunk_GpuResource_profilerBaseUnmap(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RsCpuMapping * pCpuMapping)148 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseUnmap(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) {
149 return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, pCpuMapping);
150 }
151
__nvoc_thunk_RmResource_profilerBaseGetMemInterMapParams(struct ProfilerBase * pRmResource,RMRES_MEM_INTER_MAP_PARAMS * pParams)152 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseGetMemInterMapParams(struct ProfilerBase *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
153 return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pParams);
154 }
155
__nvoc_thunk_RmResource_profilerBaseGetMemoryMappingDescriptor(struct ProfilerBase * pRmResource,struct MEMORY_DESCRIPTOR ** ppMemDesc)156 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseGetMemoryMappingDescriptor(struct ProfilerBase *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) {
157 return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), ppMemDesc);
158 }
159
__nvoc_thunk_RsResource_profilerBaseControlFilter(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)160 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseControlFilter(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
161 return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pCallContext, pParams);
162 }
163
__nvoc_thunk_RmResource_profilerBaseControlSerialization_Prologue(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)164 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseControlSerialization_Prologue(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
165 return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pCallContext, pParams);
166 }
167
__nvoc_thunk_RsResource_profilerBaseCanCopy(struct ProfilerBase * pResource)168 static NvBool __nvoc_thunk_RsResource_profilerBaseCanCopy(struct ProfilerBase *pResource) {
169 return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset));
170 }
171
__nvoc_thunk_RsResource_profilerBaseIsPartialUnmapSupported(struct ProfilerBase * pResource)172 static NvBool __nvoc_thunk_RsResource_profilerBaseIsPartialUnmapSupported(struct ProfilerBase *pResource) {
173 return resIsPartialUnmapSupported((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset));
174 }
175
__nvoc_thunk_RsResource_profilerBasePreDestruct(struct ProfilerBase * pResource)176 static void __nvoc_thunk_RsResource_profilerBasePreDestruct(struct ProfilerBase *pResource) {
177 resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset));
178 }
179
__nvoc_thunk_RsResource_profilerBaseIsDuplicate(struct ProfilerBase * pResource,NvHandle hMemory,NvBool * pDuplicate)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
__nvoc_thunk_RmResource_profilerBaseControlSerialization_Epilogue(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)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
__nvoc_thunk_GpuResource_profilerBaseMap(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_CPU_MAP_PARAMS * pParams,struct RsCpuMapping * pCpuMapping)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
__nvoc_thunk_RmResource_profilerBaseAccessCallback(struct ProfilerBase * pResource,struct RsClient * pInvokingClient,void * pAllocParams,RsAccessRight accessRight)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(0x2210u)
234 /*pFunc=*/ (void (*)(void)) NULL,
235 #else
236 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReservePmAreaSmpc_IMPL,
237 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
238 /*flags=*/ 0x2210u,
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(0x400210u)
324 /*pFunc=*/ (void (*)(void)) NULL,
325 #else
326 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdPmaStreamUpdateGetPut_DISPATCH,
327 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400210u)
328 /*flags=*/ 0x400210u,
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(0x210u)
489 /*pFunc=*/ (void (*)(void)) NULL,
490 #else
491 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalQuiescePmaChannel_IMPL,
492 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
493 /*flags=*/ 0x210u,
494 /*accessRight=*/0x0u,
495 /*methodId=*/ 0xb0cc0201u,
496 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_QUIESCE_PMA_CHANNEL_PARAMS),
497 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
498 #if NV_PRINTF_STRINGS_ALLOWED
499 /*func=*/ "profilerBaseCtrlCmdInternalQuiescePmaChannel"
500 #endif
501 },
502 { /* [20] */
503 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400010u)
504 /*pFunc=*/ (void (*)(void)) NULL,
505 #else
506 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalSriovPromotePmaStream_DISPATCH,
507 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400010u)
508 /*flags=*/ 0x400010u,
509 /*accessRight=*/0x0u,
510 /*methodId=*/ 0xb0cc0202u,
511 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS),
512 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
513 #if NV_PRINTF_STRINGS_ALLOWED
514 /*func=*/ "profilerBaseCtrlCmdInternalSriovPromotePmaStream"
515 #endif
516 },
517 { /* [21] */
518 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
519 /*pFunc=*/ (void (*)(void)) NULL,
520 #else
521 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalPermissionsInit_IMPL,
522 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
523 /*flags=*/ 0x210u,
524 /*accessRight=*/0x0u,
525 /*methodId=*/ 0xb0cc0203u,
526 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_PERMISSIONS_INIT_PARAMS),
527 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
528 #if NV_PRINTF_STRINGS_ALLOWED
529 /*func=*/ "profilerBaseCtrlCmdInternalPermissionsInit"
530 #endif
531 },
532 { /* [22] */
533 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
534 /*pFunc=*/ (void (*)(void)) NULL,
535 #else
536 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalAllocPmaStream_DISPATCH,
537 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
538 /*flags=*/ 0x400610u,
539 /*accessRight=*/0x0u,
540 /*methodId=*/ 0xb0cc0204u,
541 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS),
542 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
543 #if NV_PRINTF_STRINGS_ALLOWED
544 /*func=*/ "profilerBaseCtrlCmdInternalAllocPmaStream"
545 #endif
546 },
547 { /* [23] */
548 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
549 /*pFunc=*/ (void (*)(void)) NULL,
550 #else
551 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalFreePmaStream_DISPATCH,
552 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
553 /*flags=*/ 0x400610u,
554 /*accessRight=*/0x0u,
555 /*methodId=*/ 0xb0cc0206u,
556 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS),
557 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
558 #if NV_PRINTF_STRINGS_ALLOWED
559 /*func=*/ "profilerBaseCtrlCmdInternalFreePmaStream"
560 #endif
561 },
562 { /* [24] */
563 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
564 /*pFunc=*/ (void (*)(void)) NULL,
565 #else
566 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalGetMaxPmas_IMPL,
567 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
568 /*flags=*/ 0x400610u,
569 /*accessRight=*/0x0u,
570 /*methodId=*/ 0xb0cc0207u,
571 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS),
572 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
573 #if NV_PRINTF_STRINGS_ALLOWED
574 /*func=*/ "profilerBaseCtrlCmdInternalGetMaxPmas"
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)) profilerBaseCtrlCmdInternalBindPmResources_IMPL,
582 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
583 /*flags=*/ 0x610u,
584 /*accessRight=*/0x0u,
585 /*methodId=*/ 0xb0cc0208u,
586 /*paramSize=*/ 0,
587 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
588 #if NV_PRINTF_STRINGS_ALLOWED
589 /*func=*/ "profilerBaseCtrlCmdInternalBindPmResources"
590 #endif
591 },
592 { /* [26] */
593 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
594 /*pFunc=*/ (void (*)(void)) NULL,
595 #else
596 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalUnbindPmResources_IMPL,
597 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
598 /*flags=*/ 0x610u,
599 /*accessRight=*/0x0u,
600 /*methodId=*/ 0xb0cc0209u,
601 /*paramSize=*/ 0,
602 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
603 #if NV_PRINTF_STRINGS_ALLOWED
604 /*func=*/ "profilerBaseCtrlCmdInternalUnbindPmResources"
605 #endif
606 },
607 { /* [27] */
608 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
609 /*pFunc=*/ (void (*)(void)) NULL,
610 #else
611 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalReserveHwpmLegacy_IMPL,
612 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
613 /*flags=*/ 0x610u,
614 /*accessRight=*/0x0u,
615 /*methodId=*/ 0xb0cc020au,
616 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS),
617 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
618 #if NV_PRINTF_STRINGS_ALLOWED
619 /*func=*/ "profilerBaseCtrlCmdInternalReserveHwpmLegacy"
620 #endif
621 },
622 { /* [28] */
623 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400210u)
624 /*pFunc=*/ (void (*)(void)) NULL,
625 #else
626 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdRequestCgControls_DISPATCH,
627 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400210u)
628 /*flags=*/ 0x400210u,
629 /*accessRight=*/0x0u,
630 /*methodId=*/ 0xb0cc0301u,
631 /*paramSize=*/ sizeof(NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS),
632 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
633 #if NV_PRINTF_STRINGS_ALLOWED
634 /*func=*/ "profilerBaseCtrlCmdRequestCgControls"
635 #endif
636 },
637 { /* [29] */
638 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400210u)
639 /*pFunc=*/ (void (*)(void)) NULL,
640 #else
641 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReleaseCgControls_DISPATCH,
642 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400210u)
643 /*flags=*/ 0x400210u,
644 /*accessRight=*/0x0u,
645 /*methodId=*/ 0xb0cc0302u,
646 /*paramSize=*/ sizeof(NVB0CC_CTRL_POWER_RELEASE_FEATURES_PARAMS),
647 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
648 #if NV_PRINTF_STRINGS_ALLOWED
649 /*func=*/ "profilerBaseCtrlCmdReleaseCgControls"
650 #endif
651 },
652
653 };
654
655 const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerBase =
656 {
657 /*numEntries=*/ 30,
658 /*pExportEntries=*/ __nvoc_exported_method_def_ProfilerBase
659 };
660
661 void __nvoc_dtor_GpuResource(GpuResource*);
__nvoc_dtor_ProfilerBase(ProfilerBase * pThis)662 void __nvoc_dtor_ProfilerBase(ProfilerBase *pThis) {
663 __nvoc_profilerBaseDestruct(pThis);
664 __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource);
665 PORT_UNREFERENCED_VARIABLE(pThis);
666 }
667
__nvoc_init_dataField_ProfilerBase(ProfilerBase * pThis,RmHalspecOwner * pRmhalspecowner)668 void __nvoc_init_dataField_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) {
669 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal;
670 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx;
671 PORT_UNREFERENCED_VARIABLE(pThis);
672 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner);
673 PORT_UNREFERENCED_VARIABLE(rmVariantHal);
674 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx);
675 }
676
677 NV_STATUS __nvoc_ctor_GpuResource(GpuResource* , CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
__nvoc_ctor_ProfilerBase(ProfilerBase * pThis,RmHalspecOwner * pRmhalspecowner,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)678 NV_STATUS __nvoc_ctor_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) {
679 NV_STATUS status = NV_OK;
680 status = __nvoc_ctor_GpuResource(&pThis->__nvoc_base_GpuResource, arg_pCallContext, arg_pParams);
681 if (status != NV_OK) goto __nvoc_ctor_ProfilerBase_fail_GpuResource;
682 __nvoc_init_dataField_ProfilerBase(pThis, pRmhalspecowner);
683
684 status = __nvoc_profilerBaseConstruct(pThis, arg_pCallContext, arg_pParams);
685 if (status != NV_OK) goto __nvoc_ctor_ProfilerBase_fail__init;
686 goto __nvoc_ctor_ProfilerBase_exit; // Success
687
688 __nvoc_ctor_ProfilerBase_fail__init:
689 __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource);
690 __nvoc_ctor_ProfilerBase_fail_GpuResource:
691 __nvoc_ctor_ProfilerBase_exit:
692
693 return status;
694 }
695
__nvoc_init_funcTable_ProfilerBase_1(ProfilerBase * pThis,RmHalspecOwner * pRmhalspecowner)696 static void __nvoc_init_funcTable_ProfilerBase_1(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) {
697 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal;
698 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx;
699 PORT_UNREFERENCED_VARIABLE(pThis);
700 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner);
701 PORT_UNREFERENCED_VARIABLE(rmVariantHal);
702 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx);
703
704 // Hal function -- profilerBaseConstructState
705 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
706 {
707 pThis->__profilerBaseConstructState__ = &profilerBaseConstructState_IMPL;
708 }
709 else
710 {
711 pThis->__profilerBaseConstructState__ = &profilerBaseConstructState_56cd7a;
712 }
713
714 // Hal function -- profilerBaseDestructState
715 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
716 {
717 pThis->__profilerBaseDestructState__ = &profilerBaseDestructState_VF;
718 }
719 else
720 {
721 pThis->__profilerBaseDestructState__ = &profilerBaseDestructState_b3696a;
722 }
723
724 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2010u)
725 pThis->__profilerBaseCtrlCmdReserveHwpmLegacy__ = &profilerBaseCtrlCmdReserveHwpmLegacy_IMPL;
726 #endif
727
728 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
729 pThis->__profilerBaseCtrlCmdInternalReserveHwpmLegacy__ = &profilerBaseCtrlCmdInternalReserveHwpmLegacy_IMPL;
730 #endif
731
732 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
733 pThis->__profilerBaseCtrlCmdReleaseHwpmLegacy__ = &profilerBaseCtrlCmdReleaseHwpmLegacy_IMPL;
734 #endif
735
736 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
737 pThis->__profilerBaseCtrlCmdReservePmAreaSmpc__ = &profilerBaseCtrlCmdReservePmAreaSmpc_IMPL;
738 #endif
739
740 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
741 pThis->__profilerBaseCtrlCmdReleasePmAreaSmpc__ = &profilerBaseCtrlCmdReleasePmAreaSmpc_IMPL;
742 #endif
743
744 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
745 pThis->__profilerBaseCtrlCmdAllocPmaStream__ = &profilerBaseCtrlCmdAllocPmaStream_IMPL;
746 #endif
747
748 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
749 pThis->__profilerBaseCtrlCmdFreePmaStream__ = &profilerBaseCtrlCmdFreePmaStream_IMPL;
750 #endif
751
752 // Hal function -- profilerBaseCtrlCmdInternalFreePmaStream
753 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
754 {
755 pThis->__profilerBaseCtrlCmdInternalFreePmaStream__ = &profilerBaseCtrlCmdInternalFreePmaStream_VF;
756 }
757 else
758 {
759 pThis->__profilerBaseCtrlCmdInternalFreePmaStream__ = &profilerBaseCtrlCmdInternalFreePmaStream_56cd7a;
760 }
761
762 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
763 pThis->__profilerBaseCtrlCmdInternalGetMaxPmas__ = &profilerBaseCtrlCmdInternalGetMaxPmas_IMPL;
764 #endif
765
766 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
767 pThis->__profilerBaseCtrlCmdBindPmResources__ = &profilerBaseCtrlCmdBindPmResources_IMPL;
768 #endif
769
770 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
771 pThis->__profilerBaseCtrlCmdUnbindPmResources__ = &profilerBaseCtrlCmdUnbindPmResources_IMPL;
772 #endif
773
774 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
775 pThis->__profilerBaseCtrlCmdInternalBindPmResources__ = &profilerBaseCtrlCmdInternalBindPmResources_IMPL;
776 #endif
777
778 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
779 pThis->__profilerBaseCtrlCmdInternalUnbindPmResources__ = &profilerBaseCtrlCmdInternalUnbindPmResources_IMPL;
780 #endif
781
782 // Hal function -- profilerBaseCtrlCmdPmaStreamUpdateGetPut
783 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
784 {
785 pThis->__profilerBaseCtrlCmdPmaStreamUpdateGetPut__ = &profilerBaseCtrlCmdPmaStreamUpdateGetPut_VF;
786 }
787 else
788 {
789 pThis->__profilerBaseCtrlCmdPmaStreamUpdateGetPut__ = &profilerBaseCtrlCmdPmaStreamUpdateGetPut_56cd7a;
790 }
791
792 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
793 pThis->__profilerBaseCtrlCmdExecRegops__ = &profilerBaseCtrlCmdExecRegops_IMPL;
794 #endif
795
796 // Hal function -- profilerBaseCtrlCmdInternalAllocPmaStream
797 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
798 {
799 pThis->__profilerBaseCtrlCmdInternalAllocPmaStream__ = &profilerBaseCtrlCmdInternalAllocPmaStream_VF;
800 }
801 else
802 {
803 pThis->__profilerBaseCtrlCmdInternalAllocPmaStream__ = &profilerBaseCtrlCmdInternalAllocPmaStream_56cd7a;
804 }
805
806 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
807 pThis->__profilerBaseCtrlCmdInternalQuiescePmaChannel__ = &profilerBaseCtrlCmdInternalQuiescePmaChannel_IMPL;
808 #endif
809
810 // Hal function -- profilerBaseCtrlCmdInternalSriovPromotePmaStream
811 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
812 {
813 pThis->__profilerBaseCtrlCmdInternalSriovPromotePmaStream__ = &profilerBaseCtrlCmdInternalSriovPromotePmaStream_VF;
814 }
815 else
816 {
817 pThis->__profilerBaseCtrlCmdInternalSriovPromotePmaStream__ = &profilerBaseCtrlCmdInternalSriovPromotePmaStream_108313;
818 }
819
820 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
821 pThis->__profilerBaseCtrlCmdInternalPermissionsInit__ = &profilerBaseCtrlCmdInternalPermissionsInit_IMPL;
822 #endif
823
824 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
825 pThis->__profilerBaseCtrlCmdReservePmAreaPcSampler__ = &profilerBaseCtrlCmdReservePmAreaPcSampler_IMPL;
826 #endif
827
828 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
829 pThis->__profilerBaseCtrlCmdReleasePmAreaPcSampler__ = &profilerBaseCtrlCmdReleasePmAreaPcSampler_IMPL;
830 #endif
831
832 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
833 pThis->__profilerBaseCtrlCmdGetTotalHsCredits__ = &profilerBaseCtrlCmdGetTotalHsCredits_IMPL;
834 #endif
835
836 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
837 pThis->__profilerBaseCtrlCmdGetHsCredits__ = &profilerBaseCtrlCmdGetHsCredits_IMPL;
838 #endif
839
840 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
841 pThis->__profilerBaseCtrlCmdSetHsCredits__ = &profilerBaseCtrlCmdSetHsCredits_IMPL;
842 #endif
843
844 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
845 pThis->__profilerBaseCtrlCmdReserveHes__ = &profilerBaseCtrlCmdReserveHes_IMPL;
846 #endif
847
848 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
849 pThis->__profilerBaseCtrlCmdReleaseHes__ = &profilerBaseCtrlCmdReleaseHes_IMPL;
850 #endif
851
852 // Hal function -- profilerBaseCtrlCmdRequestCgControls
853 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
854 {
855 pThis->__profilerBaseCtrlCmdRequestCgControls__ = &profilerBaseCtrlCmdRequestCgControls_VF;
856 }
857 else
858 {
859 pThis->__profilerBaseCtrlCmdRequestCgControls__ = &profilerBaseCtrlCmdRequestCgControls_92bfc3;
860 }
861
862 // Hal function -- profilerBaseCtrlCmdReleaseCgControls
863 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
864 {
865 pThis->__profilerBaseCtrlCmdReleaseCgControls__ = &profilerBaseCtrlCmdReleaseCgControls_56cd7a;
866 }
867 else
868 {
869 pThis->__profilerBaseCtrlCmdReleaseCgControls__ = &profilerBaseCtrlCmdReleaseCgControls_92bfc3;
870 }
871
872 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
873 pThis->__profilerBaseCtrlCmdDisableDynamicMMABoost__ = &profilerBaseCtrlCmdDisableDynamicMMABoost_IMPL;
874 #endif
875
876 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
877 pThis->__profilerBaseCtrlCmdGetDynamicMMABoostStatus__ = &profilerBaseCtrlCmdGetDynamicMMABoostStatus_IMPL;
878 #endif
879
880 pThis->__profilerBaseShareCallback__ = &__nvoc_thunk_GpuResource_profilerBaseShareCallback;
881
882 pThis->__profilerBaseCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_profilerBaseCheckMemInterUnmap;
883
884 pThis->__profilerBaseMapTo__ = &__nvoc_thunk_RsResource_profilerBaseMapTo;
885
886 pThis->__profilerBaseGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_profilerBaseGetMapAddrSpace;
887
888 pThis->__profilerBaseGetRefCount__ = &__nvoc_thunk_RsResource_profilerBaseGetRefCount;
889
890 pThis->__profilerBaseAddAdditionalDependants__ = &__nvoc_thunk_RsResource_profilerBaseAddAdditionalDependants;
891
892 pThis->__profilerBaseControl_Prologue__ = &__nvoc_thunk_RmResource_profilerBaseControl_Prologue;
893
894 pThis->__profilerBaseGetRegBaseOffsetAndSize__ = &__nvoc_thunk_GpuResource_profilerBaseGetRegBaseOffsetAndSize;
895
896 pThis->__profilerBaseInternalControlForward__ = &__nvoc_thunk_GpuResource_profilerBaseInternalControlForward;
897
898 pThis->__profilerBaseUnmapFrom__ = &__nvoc_thunk_RsResource_profilerBaseUnmapFrom;
899
900 pThis->__profilerBaseControl_Epilogue__ = &__nvoc_thunk_RmResource_profilerBaseControl_Epilogue;
901
902 pThis->__profilerBaseGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_profilerBaseGetInternalObjectHandle;
903
904 pThis->__profilerBaseControl__ = &__nvoc_thunk_GpuResource_profilerBaseControl;
905
906 pThis->__profilerBaseUnmap__ = &__nvoc_thunk_GpuResource_profilerBaseUnmap;
907
908 pThis->__profilerBaseGetMemInterMapParams__ = &__nvoc_thunk_RmResource_profilerBaseGetMemInterMapParams;
909
910 pThis->__profilerBaseGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_profilerBaseGetMemoryMappingDescriptor;
911
912 pThis->__profilerBaseControlFilter__ = &__nvoc_thunk_RsResource_profilerBaseControlFilter;
913
914 pThis->__profilerBaseControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_profilerBaseControlSerialization_Prologue;
915
916 pThis->__profilerBaseCanCopy__ = &__nvoc_thunk_RsResource_profilerBaseCanCopy;
917
918 pThis->__profilerBaseIsPartialUnmapSupported__ = &__nvoc_thunk_RsResource_profilerBaseIsPartialUnmapSupported;
919
920 pThis->__profilerBasePreDestruct__ = &__nvoc_thunk_RsResource_profilerBasePreDestruct;
921
922 pThis->__profilerBaseIsDuplicate__ = &__nvoc_thunk_RsResource_profilerBaseIsDuplicate;
923
924 pThis->__profilerBaseControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_profilerBaseControlSerialization_Epilogue;
925
926 pThis->__profilerBaseMap__ = &__nvoc_thunk_GpuResource_profilerBaseMap;
927
928 pThis->__profilerBaseAccessCallback__ = &__nvoc_thunk_RmResource_profilerBaseAccessCallback;
929 }
930
__nvoc_init_funcTable_ProfilerBase(ProfilerBase * pThis,RmHalspecOwner * pRmhalspecowner)931 void __nvoc_init_funcTable_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) {
932 __nvoc_init_funcTable_ProfilerBase_1(pThis, pRmhalspecowner);
933 }
934
935 void __nvoc_init_GpuResource(GpuResource*);
__nvoc_init_ProfilerBase(ProfilerBase * pThis,RmHalspecOwner * pRmhalspecowner)936 void __nvoc_init_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) {
937 pThis->__nvoc_pbase_ProfilerBase = pThis;
938 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object;
939 pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource;
940 pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon;
941 pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource;
942 pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_GpuResource;
943 __nvoc_init_GpuResource(&pThis->__nvoc_base_GpuResource);
944 __nvoc_init_funcTable_ProfilerBase(pThis, pRmhalspecowner);
945 }
946
__nvoc_objCreate_ProfilerBase(ProfilerBase ** ppThis,Dynamic * pParent,NvU32 createFlags,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)947 NV_STATUS __nvoc_objCreate_ProfilerBase(ProfilerBase **ppThis, Dynamic *pParent, NvU32 createFlags, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)
948 {
949 NV_STATUS status;
950 Object *pParentObj = NULL;
951 ProfilerBase *pThis;
952 RmHalspecOwner *pRmhalspecowner;
953
954 // Assign `pThis`, allocating memory unless suppressed by flag.
955 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(ProfilerBase), (void**)&pThis, (void**)ppThis);
956 if (status != NV_OK)
957 return status;
958
959 // Zero is the initial value for everything.
960 portMemSet(pThis, 0, sizeof(ProfilerBase));
961
962 // Initialize runtime type information.
963 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_ProfilerBase);
964
965 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags;
966
967 // pParent must be a valid object that derives from a halspec owner class.
968 NV_ASSERT_OR_RETURN(pParent != NULL, NV_ERR_INVALID_ARGUMENT);
969
970 // Link the child into the parent unless flagged not to do so.
971 if (!(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
972 {
973 pParentObj = dynamicCast(pParent, Object);
974 objAddChild(pParentObj, &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
975 }
976 else
977 {
978 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL;
979 }
980
981 if ((pRmhalspecowner = dynamicCast(pParent, RmHalspecOwner)) == NULL)
982 pRmhalspecowner = objFindAncestorOfType(RmHalspecOwner, pParent);
983 NV_ASSERT_OR_RETURN(pRmhalspecowner != NULL, NV_ERR_INVALID_ARGUMENT);
984
985 __nvoc_init_ProfilerBase(pThis, pRmhalspecowner);
986 status = __nvoc_ctor_ProfilerBase(pThis, pRmhalspecowner, arg_pCallContext, arg_pParams);
987 if (status != NV_OK) goto __nvoc_objCreate_ProfilerBase_cleanup;
988
989 // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
990 *ppThis = pThis;
991
992 return NV_OK;
993
994 __nvoc_objCreate_ProfilerBase_cleanup:
995
996 // Unlink the child from the parent if it was linked above.
997 if (pParentObj != NULL)
998 objRemoveChild(pParentObj, &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
999
1000 // Do not call destructors here since the constructor already called them.
1001 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
1002 portMemSet(pThis, 0, sizeof(ProfilerBase));
1003 else
1004 {
1005 portMemFree(pThis);
1006 *ppThis = NULL;
1007 }
1008
1009 // coverity[leaked_storage:FALSE]
1010 return status;
1011 }
1012
__nvoc_objCreateDynamic_ProfilerBase(ProfilerBase ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)1013 NV_STATUS __nvoc_objCreateDynamic_ProfilerBase(ProfilerBase **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
1014 NV_STATUS status;
1015 CALL_CONTEXT * arg_pCallContext = va_arg(args, CALL_CONTEXT *);
1016 struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
1017
1018 status = __nvoc_objCreate_ProfilerBase(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams);
1019
1020 return status;
1021 }
1022
1023 #ifdef DEBUG
1024 char __nvoc_class_id_uniqueness_check_0x54d077 = 1;
1025 #endif
1026
1027 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerDev;
1028
1029 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object;
1030
1031 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsResource;
1032
1033 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResourceCommon;
1034
1035 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResource;
1036
1037 extern const struct NVOC_CLASS_DEF __nvoc_class_def_GpuResource;
1038
1039 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerBase;
1040
1041 void __nvoc_init_ProfilerDev(ProfilerDev*, RmHalspecOwner* );
1042 void __nvoc_init_funcTable_ProfilerDev(ProfilerDev*, RmHalspecOwner* );
1043 NV_STATUS __nvoc_ctor_ProfilerDev(ProfilerDev*, RmHalspecOwner* , CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams);
1044 void __nvoc_init_dataField_ProfilerDev(ProfilerDev*, RmHalspecOwner* );
1045 void __nvoc_dtor_ProfilerDev(ProfilerDev*);
1046 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerDev;
1047
1048 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_ProfilerDev = {
1049 /*pClassDef=*/ &__nvoc_class_def_ProfilerDev,
1050 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_ProfilerDev,
1051 /*offset=*/ 0,
1052 };
1053
1054 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_Object = {
1055 /*pClassDef=*/ &__nvoc_class_def_Object,
1056 /*dtor=*/ &__nvoc_destructFromBase,
1057 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object),
1058 };
1059
1060 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RsResource = {
1061 /*pClassDef=*/ &__nvoc_class_def_RsResource,
1062 /*dtor=*/ &__nvoc_destructFromBase,
1063 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource),
1064 };
1065
1066 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RmResourceCommon = {
1067 /*pClassDef=*/ &__nvoc_class_def_RmResourceCommon,
1068 /*dtor=*/ &__nvoc_destructFromBase,
1069 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon),
1070 };
1071
1072 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RmResource = {
1073 /*pClassDef=*/ &__nvoc_class_def_RmResource,
1074 /*dtor=*/ &__nvoc_destructFromBase,
1075 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource),
1076 };
1077
1078 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_GpuResource = {
1079 /*pClassDef=*/ &__nvoc_class_def_GpuResource,
1080 /*dtor=*/ &__nvoc_destructFromBase,
1081 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource),
1082 };
1083
1084 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_ProfilerBase = {
1085 /*pClassDef=*/ &__nvoc_class_def_ProfilerBase,
1086 /*dtor=*/ &__nvoc_destructFromBase,
1087 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase),
1088 };
1089
1090 static const struct NVOC_CASTINFO __nvoc_castinfo_ProfilerDev = {
1091 /*numRelatives=*/ 7,
1092 /*relatives=*/ {
1093 &__nvoc_rtti_ProfilerDev_ProfilerDev,
1094 &__nvoc_rtti_ProfilerDev_ProfilerBase,
1095 &__nvoc_rtti_ProfilerDev_GpuResource,
1096 &__nvoc_rtti_ProfilerDev_RmResource,
1097 &__nvoc_rtti_ProfilerDev_RmResourceCommon,
1098 &__nvoc_rtti_ProfilerDev_RsResource,
1099 &__nvoc_rtti_ProfilerDev_Object,
1100 },
1101 };
1102
1103 const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerDev =
1104 {
1105 /*classInfo=*/ {
1106 /*size=*/ sizeof(ProfilerDev),
1107 /*classId=*/ classId(ProfilerDev),
1108 /*providerId=*/ &__nvoc_rtti_provider,
1109 #if NV_PRINTF_STRINGS_ALLOWED
1110 /*name=*/ "ProfilerDev",
1111 #endif
1112 },
1113 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_ProfilerDev,
1114 /*pCastInfo=*/ &__nvoc_castinfo_ProfilerDev,
1115 /*pExportInfo=*/ &__nvoc_export_info_ProfilerDev
1116 };
1117
__nvoc_thunk_GpuResource_profilerDevShareCallback(struct ProfilerDev * pGpuResource,struct RsClient * pInvokingClient,struct RsResourceRef * pParentRef,RS_SHARE_POLICY * pSharePolicy)1118 static NvBool __nvoc_thunk_GpuResource_profilerDevShareCallback(struct ProfilerDev *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) {
1119 return gpuresShareCallback((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pInvokingClient, pParentRef, pSharePolicy);
1120 }
1121
__nvoc_thunk_RmResource_profilerDevCheckMemInterUnmap(struct ProfilerDev * pRmResource,NvBool bSubdeviceHandleProvided)1122 static NV_STATUS __nvoc_thunk_RmResource_profilerDevCheckMemInterUnmap(struct ProfilerDev *pRmResource, NvBool bSubdeviceHandleProvided) {
1123 return rmresCheckMemInterUnmap((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), bSubdeviceHandleProvided);
1124 }
1125
__nvoc_thunk_RsResource_profilerDevMapTo(struct ProfilerDev * pResource,RS_RES_MAP_TO_PARAMS * pParams)1126 static NV_STATUS __nvoc_thunk_RsResource_profilerDevMapTo(struct ProfilerDev *pResource, RS_RES_MAP_TO_PARAMS *pParams) {
1127 return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pParams);
1128 }
1129
__nvoc_thunk_GpuResource_profilerDevGetMapAddrSpace(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,NvU32 mapFlags,NV_ADDRESS_SPACE * pAddrSpace)1130 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevGetMapAddrSpace(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) {
1131 return gpuresGetMapAddrSpace((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, mapFlags, pAddrSpace);
1132 }
1133
__nvoc_thunk_RsResource_profilerDevGetRefCount(struct ProfilerDev * pResource)1134 static NvU32 __nvoc_thunk_RsResource_profilerDevGetRefCount(struct ProfilerDev *pResource) {
1135 return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset));
1136 }
1137
__nvoc_thunk_RsResource_profilerDevAddAdditionalDependants(struct RsClient * pClient,struct ProfilerDev * pResource,RsResourceRef * pReference)1138 static void __nvoc_thunk_RsResource_profilerDevAddAdditionalDependants(struct RsClient *pClient, struct ProfilerDev *pResource, RsResourceRef *pReference) {
1139 resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pReference);
1140 }
1141
__nvoc_thunk_RmResource_profilerDevControl_Prologue(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1142 static NV_STATUS __nvoc_thunk_RmResource_profilerDevControl_Prologue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1143 return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams);
1144 }
1145
__nvoc_thunk_GpuResource_profilerDevGetRegBaseOffsetAndSize(struct ProfilerDev * pGpuResource,struct OBJGPU * pGpu,NvU32 * pOffset,NvU32 * pSize)1146 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevGetRegBaseOffsetAndSize(struct ProfilerDev *pGpuResource, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) {
1147 return gpuresGetRegBaseOffsetAndSize((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pGpu, pOffset, pSize);
1148 }
1149
__nvoc_thunk_GpuResource_profilerDevInternalControlForward(struct ProfilerDev * pGpuResource,NvU32 command,void * pParams,NvU32 size)1150 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevInternalControlForward(struct ProfilerDev *pGpuResource, NvU32 command, void *pParams, NvU32 size) {
1151 return gpuresInternalControlForward((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), command, pParams, size);
1152 }
1153
__nvoc_thunk_RsResource_profilerDevUnmapFrom(struct ProfilerDev * pResource,RS_RES_UNMAP_FROM_PARAMS * pParams)1154 static NV_STATUS __nvoc_thunk_RsResource_profilerDevUnmapFrom(struct ProfilerDev *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) {
1155 return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pParams);
1156 }
1157
__nvoc_thunk_RmResource_profilerDevControl_Epilogue(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1158 static void __nvoc_thunk_RmResource_profilerDevControl_Epilogue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1159 rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams);
1160 }
1161
__nvoc_thunk_GpuResource_profilerDevGetInternalObjectHandle(struct ProfilerDev * pGpuResource)1162 static NvHandle __nvoc_thunk_GpuResource_profilerDevGetInternalObjectHandle(struct ProfilerDev *pGpuResource) {
1163 return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset));
1164 }
1165
__nvoc_thunk_GpuResource_profilerDevControl(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1166 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevControl(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1167 return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pParams);
1168 }
1169
__nvoc_thunk_GpuResource_profilerDevUnmap(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RsCpuMapping * pCpuMapping)1170 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevUnmap(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) {
1171 return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pCpuMapping);
1172 }
1173
__nvoc_thunk_RmResource_profilerDevGetMemInterMapParams(struct ProfilerDev * pRmResource,RMRES_MEM_INTER_MAP_PARAMS * pParams)1174 static NV_STATUS __nvoc_thunk_RmResource_profilerDevGetMemInterMapParams(struct ProfilerDev *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
1175 return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pParams);
1176 }
1177
__nvoc_thunk_RmResource_profilerDevGetMemoryMappingDescriptor(struct ProfilerDev * pRmResource,struct MEMORY_DESCRIPTOR ** ppMemDesc)1178 static NV_STATUS __nvoc_thunk_RmResource_profilerDevGetMemoryMappingDescriptor(struct ProfilerDev *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) {
1179 return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), ppMemDesc);
1180 }
1181
__nvoc_thunk_RsResource_profilerDevControlFilter(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1182 static NV_STATUS __nvoc_thunk_RsResource_profilerDevControlFilter(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1183 return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pCallContext, pParams);
1184 }
1185
__nvoc_thunk_RmResource_profilerDevControlSerialization_Prologue(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1186 static NV_STATUS __nvoc_thunk_RmResource_profilerDevControlSerialization_Prologue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1187 return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams);
1188 }
1189
__nvoc_thunk_RsResource_profilerDevCanCopy(struct ProfilerDev * pResource)1190 static NvBool __nvoc_thunk_RsResource_profilerDevCanCopy(struct ProfilerDev *pResource) {
1191 return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset));
1192 }
1193
__nvoc_thunk_RsResource_profilerDevIsPartialUnmapSupported(struct ProfilerDev * pResource)1194 static NvBool __nvoc_thunk_RsResource_profilerDevIsPartialUnmapSupported(struct ProfilerDev *pResource) {
1195 return resIsPartialUnmapSupported((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset));
1196 }
1197
__nvoc_thunk_RsResource_profilerDevPreDestruct(struct ProfilerDev * pResource)1198 static void __nvoc_thunk_RsResource_profilerDevPreDestruct(struct ProfilerDev *pResource) {
1199 resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset));
1200 }
1201
__nvoc_thunk_RsResource_profilerDevIsDuplicate(struct ProfilerDev * pResource,NvHandle hMemory,NvBool * pDuplicate)1202 static NV_STATUS __nvoc_thunk_RsResource_profilerDevIsDuplicate(struct ProfilerDev *pResource, NvHandle hMemory, NvBool *pDuplicate) {
1203 return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), hMemory, pDuplicate);
1204 }
1205
__nvoc_thunk_RmResource_profilerDevControlSerialization_Epilogue(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1206 static void __nvoc_thunk_RmResource_profilerDevControlSerialization_Epilogue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1207 rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams);
1208 }
1209
__nvoc_thunk_GpuResource_profilerDevMap(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_CPU_MAP_PARAMS * pParams,struct RsCpuMapping * pCpuMapping)1210 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevMap(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) {
1211 return gpuresMap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pParams, pCpuMapping);
1212 }
1213
__nvoc_thunk_RmResource_profilerDevAccessCallback(struct ProfilerDev * pResource,struct RsClient * pInvokingClient,void * pAllocParams,RsAccessRight accessRight)1214 static NvBool __nvoc_thunk_RmResource_profilerDevAccessCallback(struct ProfilerDev *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) {
1215 return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pInvokingClient, pAllocParams, accessRight);
1216 }
1217
1218 const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerDev =
1219 {
1220 /*numEntries=*/ 0,
1221 /*pExportEntries=*/ 0
1222 };
1223
1224 void __nvoc_dtor_ProfilerBase(ProfilerBase*);
__nvoc_dtor_ProfilerDev(ProfilerDev * pThis)1225 void __nvoc_dtor_ProfilerDev(ProfilerDev *pThis) {
1226 __nvoc_profilerDevDestruct(pThis);
1227 __nvoc_dtor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase);
1228 PORT_UNREFERENCED_VARIABLE(pThis);
1229 }
1230
__nvoc_init_dataField_ProfilerDev(ProfilerDev * pThis,RmHalspecOwner * pRmhalspecowner)1231 void __nvoc_init_dataField_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) {
1232 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal;
1233 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx;
1234 PORT_UNREFERENCED_VARIABLE(pThis);
1235 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner);
1236 PORT_UNREFERENCED_VARIABLE(rmVariantHal);
1237 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx);
1238 }
1239
1240 NV_STATUS __nvoc_ctor_ProfilerBase(ProfilerBase* , RmHalspecOwner* , CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
__nvoc_ctor_ProfilerDev(ProfilerDev * pThis,RmHalspecOwner * pRmhalspecowner,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)1241 NV_STATUS __nvoc_ctor_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) {
1242 NV_STATUS status = NV_OK;
1243 status = __nvoc_ctor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase, pRmhalspecowner, arg_pCallContext, arg_pParams);
1244 if (status != NV_OK) goto __nvoc_ctor_ProfilerDev_fail_ProfilerBase;
1245 __nvoc_init_dataField_ProfilerDev(pThis, pRmhalspecowner);
1246
1247 status = __nvoc_profilerDevConstruct(pThis, arg_pCallContext, arg_pParams);
1248 if (status != NV_OK) goto __nvoc_ctor_ProfilerDev_fail__init;
1249 goto __nvoc_ctor_ProfilerDev_exit; // Success
1250
1251 __nvoc_ctor_ProfilerDev_fail__init:
1252 __nvoc_dtor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase);
1253 __nvoc_ctor_ProfilerDev_fail_ProfilerBase:
1254 __nvoc_ctor_ProfilerDev_exit:
1255
1256 return status;
1257 }
1258
__nvoc_init_funcTable_ProfilerDev_1(ProfilerDev * pThis,RmHalspecOwner * pRmhalspecowner)1259 static void __nvoc_init_funcTable_ProfilerDev_1(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) {
1260 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal;
1261 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx;
1262 PORT_UNREFERENCED_VARIABLE(pThis);
1263 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner);
1264 PORT_UNREFERENCED_VARIABLE(rmVariantHal);
1265 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx);
1266
1267 // Hal function -- profilerDevConstructState
1268 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
1269 {
1270 pThis->__profilerDevConstructState__ = &profilerDevConstructState_VF;
1271 }
1272 else
1273 {
1274 pThis->__profilerDevConstructState__ = &profilerDevConstructState_IMPL;
1275 }
1276
1277 // Hal function -- profilerDevConstructStatePrologue
1278 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
1279 {
1280 pThis->__profilerDevConstructStatePrologue__ = &profilerDevConstructStatePrologue_92bfc3;
1281 }
1282 else
1283 {
1284 pThis->__profilerDevConstructStatePrologue__ = &profilerDevConstructStatePrologue_FWCLIENT;
1285 }
1286
1287 // Hal function -- profilerDevConstructStateInterlude
1288 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
1289 {
1290 pThis->__profilerDevConstructStateInterlude__ = &profilerDevConstructStateInterlude_92bfc3;
1291 }
1292 else
1293 {
1294 pThis->__profilerDevConstructStateInterlude__ = &profilerDevConstructStateInterlude_IMPL;
1295 }
1296
1297 // Hal function -- profilerDevConstructStateEpilogue
1298 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
1299 {
1300 pThis->__profilerDevConstructStateEpilogue__ = &profilerDevConstructStateEpilogue_92bfc3;
1301 }
1302 else
1303 {
1304 pThis->__profilerDevConstructStateEpilogue__ = &profilerDevConstructStateEpilogue_56cd7a;
1305 }
1306
1307 // Hal function -- profilerDevDestructState
1308 if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
1309 {
1310 pThis->__profilerDevDestructState__ = &profilerDevDestructState_b3696a;
1311 }
1312 else
1313 {
1314 pThis->__profilerDevDestructState__ = &profilerDevDestructState_FWCLIENT;
1315 }
1316
1317 pThis->__profilerDevShareCallback__ = &__nvoc_thunk_GpuResource_profilerDevShareCallback;
1318
1319 pThis->__profilerDevCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_profilerDevCheckMemInterUnmap;
1320
1321 pThis->__profilerDevMapTo__ = &__nvoc_thunk_RsResource_profilerDevMapTo;
1322
1323 pThis->__profilerDevGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_profilerDevGetMapAddrSpace;
1324
1325 pThis->__profilerDevGetRefCount__ = &__nvoc_thunk_RsResource_profilerDevGetRefCount;
1326
1327 pThis->__profilerDevAddAdditionalDependants__ = &__nvoc_thunk_RsResource_profilerDevAddAdditionalDependants;
1328
1329 pThis->__profilerDevControl_Prologue__ = &__nvoc_thunk_RmResource_profilerDevControl_Prologue;
1330
1331 pThis->__profilerDevGetRegBaseOffsetAndSize__ = &__nvoc_thunk_GpuResource_profilerDevGetRegBaseOffsetAndSize;
1332
1333 pThis->__profilerDevInternalControlForward__ = &__nvoc_thunk_GpuResource_profilerDevInternalControlForward;
1334
1335 pThis->__profilerDevUnmapFrom__ = &__nvoc_thunk_RsResource_profilerDevUnmapFrom;
1336
1337 pThis->__profilerDevControl_Epilogue__ = &__nvoc_thunk_RmResource_profilerDevControl_Epilogue;
1338
1339 pThis->__profilerDevGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_profilerDevGetInternalObjectHandle;
1340
1341 pThis->__profilerDevControl__ = &__nvoc_thunk_GpuResource_profilerDevControl;
1342
1343 pThis->__profilerDevUnmap__ = &__nvoc_thunk_GpuResource_profilerDevUnmap;
1344
1345 pThis->__profilerDevGetMemInterMapParams__ = &__nvoc_thunk_RmResource_profilerDevGetMemInterMapParams;
1346
1347 pThis->__profilerDevGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_profilerDevGetMemoryMappingDescriptor;
1348
1349 pThis->__profilerDevControlFilter__ = &__nvoc_thunk_RsResource_profilerDevControlFilter;
1350
1351 pThis->__profilerDevControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_profilerDevControlSerialization_Prologue;
1352
1353 pThis->__profilerDevCanCopy__ = &__nvoc_thunk_RsResource_profilerDevCanCopy;
1354
1355 pThis->__profilerDevIsPartialUnmapSupported__ = &__nvoc_thunk_RsResource_profilerDevIsPartialUnmapSupported;
1356
1357 pThis->__profilerDevPreDestruct__ = &__nvoc_thunk_RsResource_profilerDevPreDestruct;
1358
1359 pThis->__profilerDevIsDuplicate__ = &__nvoc_thunk_RsResource_profilerDevIsDuplicate;
1360
1361 pThis->__profilerDevControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_profilerDevControlSerialization_Epilogue;
1362
1363 pThis->__profilerDevMap__ = &__nvoc_thunk_GpuResource_profilerDevMap;
1364
1365 pThis->__profilerDevAccessCallback__ = &__nvoc_thunk_RmResource_profilerDevAccessCallback;
1366 }
1367
__nvoc_init_funcTable_ProfilerDev(ProfilerDev * pThis,RmHalspecOwner * pRmhalspecowner)1368 void __nvoc_init_funcTable_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) {
1369 __nvoc_init_funcTable_ProfilerDev_1(pThis, pRmhalspecowner);
1370 }
1371
1372 void __nvoc_init_ProfilerBase(ProfilerBase*, RmHalspecOwner* );
__nvoc_init_ProfilerDev(ProfilerDev * pThis,RmHalspecOwner * pRmhalspecowner)1373 void __nvoc_init_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) {
1374 pThis->__nvoc_pbase_ProfilerDev = pThis;
1375 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object;
1376 pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource;
1377 pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon;
1378 pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource;
1379 pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource;
1380 pThis->__nvoc_pbase_ProfilerBase = &pThis->__nvoc_base_ProfilerBase;
1381 __nvoc_init_ProfilerBase(&pThis->__nvoc_base_ProfilerBase, pRmhalspecowner);
1382 __nvoc_init_funcTable_ProfilerDev(pThis, pRmhalspecowner);
1383 }
1384
__nvoc_objCreate_ProfilerDev(ProfilerDev ** ppThis,Dynamic * pParent,NvU32 createFlags,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)1385 NV_STATUS __nvoc_objCreate_ProfilerDev(ProfilerDev **ppThis, Dynamic *pParent, NvU32 createFlags, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)
1386 {
1387 NV_STATUS status;
1388 Object *pParentObj = NULL;
1389 ProfilerDev *pThis;
1390 RmHalspecOwner *pRmhalspecowner;
1391
1392 // Assign `pThis`, allocating memory unless suppressed by flag.
1393 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(ProfilerDev), (void**)&pThis, (void**)ppThis);
1394 if (status != NV_OK)
1395 return status;
1396
1397 // Zero is the initial value for everything.
1398 portMemSet(pThis, 0, sizeof(ProfilerDev));
1399
1400 // Initialize runtime type information.
1401 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_ProfilerDev);
1402
1403 pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags;
1404
1405 // pParent must be a valid object that derives from a halspec owner class.
1406 NV_ASSERT_OR_RETURN(pParent != NULL, NV_ERR_INVALID_ARGUMENT);
1407
1408 // Link the child into the parent unless flagged not to do so.
1409 if (!(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
1410 {
1411 pParentObj = dynamicCast(pParent, Object);
1412 objAddChild(pParentObj, &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
1413 }
1414 else
1415 {
1416 pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL;
1417 }
1418
1419 if ((pRmhalspecowner = dynamicCast(pParent, RmHalspecOwner)) == NULL)
1420 pRmhalspecowner = objFindAncestorOfType(RmHalspecOwner, pParent);
1421 NV_ASSERT_OR_RETURN(pRmhalspecowner != NULL, NV_ERR_INVALID_ARGUMENT);
1422
1423 __nvoc_init_ProfilerDev(pThis, pRmhalspecowner);
1424 status = __nvoc_ctor_ProfilerDev(pThis, pRmhalspecowner, arg_pCallContext, arg_pParams);
1425 if (status != NV_OK) goto __nvoc_objCreate_ProfilerDev_cleanup;
1426
1427 // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
1428 *ppThis = pThis;
1429
1430 return NV_OK;
1431
1432 __nvoc_objCreate_ProfilerDev_cleanup:
1433
1434 // Unlink the child from the parent if it was linked above.
1435 if (pParentObj != NULL)
1436 objRemoveChild(pParentObj, &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
1437
1438 // Do not call destructors here since the constructor already called them.
1439 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
1440 portMemSet(pThis, 0, sizeof(ProfilerDev));
1441 else
1442 {
1443 portMemFree(pThis);
1444 *ppThis = NULL;
1445 }
1446
1447 // coverity[leaked_storage:FALSE]
1448 return status;
1449 }
1450
__nvoc_objCreateDynamic_ProfilerDev(ProfilerDev ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)1451 NV_STATUS __nvoc_objCreateDynamic_ProfilerDev(ProfilerDev **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
1452 NV_STATUS status;
1453 CALL_CONTEXT * arg_pCallContext = va_arg(args, CALL_CONTEXT *);
1454 struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
1455
1456 status = __nvoc_objCreate_ProfilerDev(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams);
1457
1458 return status;
1459 }
1460
1461