1 #ifndef _G_PROFILER_V2_NVOC_H_
2 #define _G_PROFILER_V2_NVOC_H_
3 #include "nvoc/runtime.h"
4 
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 
9 /*
10  * SPDX-FileCopyrightText: Copyright (c) 2018-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
11  * SPDX-License-Identifier: MIT
12  *
13  * Permission is hereby granted, free of charge, to any person obtaining a
14  * copy of this software and associated documentation files (the "Software"),
15  * to deal in the Software without restriction, including without limitation
16  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
17  * and/or sell copies of the Software, and to permit persons to whom the
18  * Software is furnished to do so, subject to the following conditions:
19  *
20  * The above copyright notice and this permission notice shall be included in
21  * all copies or substantial portions of the Software.
22  *
23  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29  * DEALINGS IN THE SOFTWARE.
30  */
31 
32 #include "g_profiler_v2_nvoc.h"
33 
34 #ifndef PROFILER_V2_H
35 #define PROFILER_V2_H
36 
37 #include "resserv/resserv.h"
38 #include "nvoc/prelude.h"
39 #include "resserv/rs_resource.h"
40 #include "gpu/gpu_resource.h"
41 #include "ctrl/ctrl2080/ctrl2080gpu.h"
42 #include "ctrl/ctrlb0cc.h"
43 #include "gpu/gpu_halspec.h"
44 #include "nvoc/utility.h"
45 #include "gpu/hwpm/kern_hwpm_common_defs.h"
46 
47 #include "class/clb2cc.h"   // MAXWELL_PROFILER_DEVICE
48 
49 typedef struct
50 {
51     NvBool bMemoryProfilingPermitted;
52     NvBool bAdminProfilingPermitted;
53     NvBool bDevProfilingPermitted;
54 } PROFILER_CLIENT_PERMISSIONS;
55 
56 
57 // Private field names are wrapped in PRIVATE_FIELD, which does nothing for
58 // the matching C source file, but causes diagnostics to be issued if another
59 // source file references the field.
60 #ifdef NVOC_PROFILER_V2_H_PRIVATE_ACCESS_ALLOWED
61 #define PRIVATE_FIELD(x) x
62 #else
63 #define PRIVATE_FIELD(x) NVOC_PRIVATE_FIELD(x)
64 #endif
65 
66 struct ProfilerBase {
67     const struct NVOC_RTTI *__nvoc_rtti;
68     struct GpuResource __nvoc_base_GpuResource;
69     struct Object *__nvoc_pbase_Object;
70     struct RsResource *__nvoc_pbase_RsResource;
71     struct RmResourceCommon *__nvoc_pbase_RmResourceCommon;
72     struct RmResource *__nvoc_pbase_RmResource;
73     struct GpuResource *__nvoc_pbase_GpuResource;
74     struct ProfilerBase *__nvoc_pbase_ProfilerBase;
75     NV_STATUS (*__profilerBaseConstructState__)(struct ProfilerBase *, CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
76     void (*__profilerBaseDestructState__)(struct ProfilerBase *);
77     NV_STATUS (*__profilerBaseCtrlCmdReserveHwpmLegacy__)(struct ProfilerBase *, NVB0CC_CTRL_RESERVE_HWPM_LEGACY_PARAMS *);
78     NV_STATUS (*__profilerBaseCtrlCmdInternalReserveHwpmLegacy__)(struct ProfilerBase *, NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS *);
79     NV_STATUS (*__profilerBaseCtrlCmdReleaseHwpmLegacy__)(struct ProfilerBase *);
80     NV_STATUS (*__profilerBaseCtrlCmdReservePmAreaSmpc__)(struct ProfilerBase *, NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS *);
81     NV_STATUS (*__profilerBaseCtrlCmdReleasePmAreaSmpc__)(struct ProfilerBase *);
82     NV_STATUS (*__profilerBaseCtrlCmdAllocPmaStream__)(struct ProfilerBase *, NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS *);
83     NV_STATUS (*__profilerBaseCtrlCmdFreePmaStream__)(struct ProfilerBase *, NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS *);
84     NV_STATUS (*__profilerBaseCtrlCmdInternalFreePmaStream__)(struct ProfilerBase *, NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS *);
85     NV_STATUS (*__profilerBaseCtrlCmdInternalGetMaxPmas__)(struct ProfilerBase *, NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS *);
86     NV_STATUS (*__profilerBaseCtrlCmdBindPmResources__)(struct ProfilerBase *);
87     NV_STATUS (*__profilerBaseCtrlCmdUnbindPmResources__)(struct ProfilerBase *);
88     NV_STATUS (*__profilerBaseCtrlCmdInternalBindPmResources__)(struct ProfilerBase *);
89     NV_STATUS (*__profilerBaseCtrlCmdInternalUnbindPmResources__)(struct ProfilerBase *);
90     NV_STATUS (*__profilerBaseCtrlCmdPmaStreamUpdateGetPut__)(struct ProfilerBase *, NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS *);
91     NV_STATUS (*__profilerBaseCtrlCmdExecRegops__)(struct ProfilerBase *, NVB0CC_CTRL_EXEC_REG_OPS_PARAMS *);
92     NV_STATUS (*__profilerBaseCtrlCmdInternalAllocPmaStream__)(struct ProfilerBase *, NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS *);
93     NV_STATUS (*__profilerBaseCtrlCmdInternalQuiescePmaChannel__)(struct ProfilerBase *, NVB0CC_CTRL_INTERNAL_QUIESCE_PMA_CHANNEL_PARAMS *);
94     NV_STATUS (*__profilerBaseCtrlCmdInternalSriovPromotePmaStream__)(struct ProfilerBase *, NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS *);
95     NV_STATUS (*__profilerBaseCtrlCmdInternalPermissionsInit__)(struct ProfilerBase *, NVB0CC_CTRL_INTERNAL_PERMISSIONS_INIT_PARAMS *);
96     NV_STATUS (*__profilerBaseCtrlCmdReservePmAreaPcSampler__)(struct ProfilerBase *);
97     NV_STATUS (*__profilerBaseCtrlCmdReleasePmAreaPcSampler__)(struct ProfilerBase *);
98     NV_STATUS (*__profilerBaseCtrlCmdGetTotalHsCredits__)(struct ProfilerBase *, NVB0CC_CTRL_GET_TOTAL_HS_CREDITS_PARAMS *);
99     NV_STATUS (*__profilerBaseCtrlCmdGetHsCredits__)(struct ProfilerBase *, NVB0CC_CTRL_GET_HS_CREDITS_PARAMS *);
100     NV_STATUS (*__profilerBaseCtrlCmdSetHsCredits__)(struct ProfilerBase *, NVB0CC_CTRL_SET_HS_CREDITS_PARAMS *);
101     NV_STATUS (*__profilerBaseCtrlCmdReserveHes__)(struct ProfilerBase *, NVB0CC_CTRL_RESERVE_HES_PARAMS *);
102     NV_STATUS (*__profilerBaseCtrlCmdReleaseHes__)(struct ProfilerBase *, NVB0CC_CTRL_RELEASE_HES_PARAMS *);
103     NV_STATUS (*__profilerBaseCtrlCmdRequestCgControls__)(struct ProfilerBase *, NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS *);
104     NV_STATUS (*__profilerBaseCtrlCmdReleaseCgControls__)(struct ProfilerBase *, NVB0CC_CTRL_POWER_RELEASE_FEATURES_PARAMS *);
105     NV_STATUS (*__profilerBaseCtrlCmdDisableDynamicMMABoost__)(struct ProfilerBase *, NVB0CC_CTRL_DISABLE_DYNAMIC_MMA_BOOST_PARAMS *);
106     NV_STATUS (*__profilerBaseCtrlCmdGetDynamicMMABoostStatus__)(struct ProfilerBase *, NVB0CC_CTRL_GET_DYNAMIC_MMA_BOOST_STATUS_PARAMS *);
107     NvBool (*__profilerBaseShareCallback__)(struct ProfilerBase *, struct RsClient *, struct RsResourceRef *, RS_SHARE_POLICY *);
108     NV_STATUS (*__profilerBaseCheckMemInterUnmap__)(struct ProfilerBase *, NvBool);
109     NV_STATUS (*__profilerBaseMapTo__)(struct ProfilerBase *, RS_RES_MAP_TO_PARAMS *);
110     NV_STATUS (*__profilerBaseGetMapAddrSpace__)(struct ProfilerBase *, struct CALL_CONTEXT *, NvU32, NV_ADDRESS_SPACE *);
111     NvU32 (*__profilerBaseGetRefCount__)(struct ProfilerBase *);
112     void (*__profilerBaseAddAdditionalDependants__)(struct RsClient *, struct ProfilerBase *, RsResourceRef *);
113     NV_STATUS (*__profilerBaseControl_Prologue__)(struct ProfilerBase *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
114     NV_STATUS (*__profilerBaseGetRegBaseOffsetAndSize__)(struct ProfilerBase *, struct OBJGPU *, NvU32 *, NvU32 *);
115     NV_STATUS (*__profilerBaseInternalControlForward__)(struct ProfilerBase *, NvU32, void *, NvU32);
116     NV_STATUS (*__profilerBaseUnmapFrom__)(struct ProfilerBase *, RS_RES_UNMAP_FROM_PARAMS *);
117     void (*__profilerBaseControl_Epilogue__)(struct ProfilerBase *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
118     NvHandle (*__profilerBaseGetInternalObjectHandle__)(struct ProfilerBase *);
119     NV_STATUS (*__profilerBaseControl__)(struct ProfilerBase *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
120     NV_STATUS (*__profilerBaseUnmap__)(struct ProfilerBase *, struct CALL_CONTEXT *, struct RsCpuMapping *);
121     NV_STATUS (*__profilerBaseGetMemInterMapParams__)(struct ProfilerBase *, RMRES_MEM_INTER_MAP_PARAMS *);
122     NV_STATUS (*__profilerBaseGetMemoryMappingDescriptor__)(struct ProfilerBase *, struct MEMORY_DESCRIPTOR **);
123     NV_STATUS (*__profilerBaseControlFilter__)(struct ProfilerBase *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
124     NV_STATUS (*__profilerBaseControlSerialization_Prologue__)(struct ProfilerBase *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
125     NvBool (*__profilerBaseCanCopy__)(struct ProfilerBase *);
126     NvBool (*__profilerBaseIsPartialUnmapSupported__)(struct ProfilerBase *);
127     void (*__profilerBasePreDestruct__)(struct ProfilerBase *);
128     NV_STATUS (*__profilerBaseIsDuplicate__)(struct ProfilerBase *, NvHandle, NvBool *);
129     void (*__profilerBaseControlSerialization_Epilogue__)(struct ProfilerBase *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
130     NV_STATUS (*__profilerBaseMap__)(struct ProfilerBase *, struct CALL_CONTEXT *, struct RS_CPU_MAP_PARAMS *, struct RsCpuMapping *);
131     NvBool (*__profilerBaseAccessCallback__)(struct ProfilerBase *, struct RsClient *, void *, RsAccessRight);
132     NvU32 maxPmaChannels;
133     NvU32 pmaVchIdx;
134     NvBool bLegacyHwpm;
135     struct RsResourceRef **ppBytesAvailable;
136     struct RsResourceRef **ppStreamBuffers;
137     struct RsResourceRef *pBoundCntBuf;
138     struct RsResourceRef *pBoundPmaBuf;
139     NvU64 profilerId;
140     HWPM_PMA_STREAM *pPmaStreamList;
141     NvBool *pBindPointAllocated;
142     NvBool bMmaBoostDisabled;
143 };
144 
145 #ifndef __NVOC_CLASS_ProfilerBase_TYPEDEF__
146 #define __NVOC_CLASS_ProfilerBase_TYPEDEF__
147 typedef struct ProfilerBase ProfilerBase;
148 #endif /* __NVOC_CLASS_ProfilerBase_TYPEDEF__ */
149 
150 #ifndef __nvoc_class_id_ProfilerBase
151 #define __nvoc_class_id_ProfilerBase 0x4976fc
152 #endif /* __nvoc_class_id_ProfilerBase */
153 
154 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerBase;
155 
156 #define __staticCast_ProfilerBase(pThis) \
157     ((pThis)->__nvoc_pbase_ProfilerBase)
158 
159 #ifdef __nvoc_profiler_v2_h_disabled
160 #define __dynamicCast_ProfilerBase(pThis) ((ProfilerBase*)NULL)
161 #else //__nvoc_profiler_v2_h_disabled
162 #define __dynamicCast_ProfilerBase(pThis) \
163     ((ProfilerBase*)__nvoc_dynamicCast(staticCast((pThis), Dynamic), classInfo(ProfilerBase)))
164 #endif //__nvoc_profiler_v2_h_disabled
165 
166 
167 NV_STATUS __nvoc_objCreateDynamic_ProfilerBase(ProfilerBase**, Dynamic*, NvU32, va_list);
168 
169 NV_STATUS __nvoc_objCreate_ProfilerBase(ProfilerBase**, Dynamic*, NvU32, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams);
170 #define __objCreate_ProfilerBase(ppNewObj, pParent, createFlags, arg_pCallContext, arg_pParams) \
171     __nvoc_objCreate_ProfilerBase((ppNewObj), staticCast((pParent), Dynamic), (createFlags), arg_pCallContext, arg_pParams)
172 
173 #define profilerBaseConstructState(pProf, pCallContext, pParams) profilerBaseConstructState_DISPATCH(pProf, pCallContext, pParams)
174 #define profilerBaseConstructState_HAL(pProf, pCallContext, pParams) profilerBaseConstructState_DISPATCH(pProf, pCallContext, pParams)
175 #define profilerBaseDestructState(pProf) profilerBaseDestructState_DISPATCH(pProf)
176 #define profilerBaseDestructState_HAL(pProf) profilerBaseDestructState_DISPATCH(pProf)
177 #define profilerBaseCtrlCmdReserveHwpmLegacy(pProfiler, pParams) profilerBaseCtrlCmdReserveHwpmLegacy_DISPATCH(pProfiler, pParams)
178 #define profilerBaseCtrlCmdInternalReserveHwpmLegacy(pProfiler, pParams) profilerBaseCtrlCmdInternalReserveHwpmLegacy_DISPATCH(pProfiler, pParams)
179 #define profilerBaseCtrlCmdReleaseHwpmLegacy(pProfiler) profilerBaseCtrlCmdReleaseHwpmLegacy_DISPATCH(pProfiler)
180 #define profilerBaseCtrlCmdReservePmAreaSmpc(pProfiler, pParams) profilerBaseCtrlCmdReservePmAreaSmpc_DISPATCH(pProfiler, pParams)
181 #define profilerBaseCtrlCmdReleasePmAreaSmpc(pProfiler) profilerBaseCtrlCmdReleasePmAreaSmpc_DISPATCH(pProfiler)
182 #define profilerBaseCtrlCmdAllocPmaStream(pProfiler, pParams) profilerBaseCtrlCmdAllocPmaStream_DISPATCH(pProfiler, pParams)
183 #define profilerBaseCtrlCmdFreePmaStream(pProfiler, pParams) profilerBaseCtrlCmdFreePmaStream_DISPATCH(pProfiler, pParams)
184 #define profilerBaseCtrlCmdInternalFreePmaStream(pProfiler, pParams) profilerBaseCtrlCmdInternalFreePmaStream_DISPATCH(pProfiler, pParams)
185 #define profilerBaseCtrlCmdInternalFreePmaStream_HAL(pProfiler, pParams) profilerBaseCtrlCmdInternalFreePmaStream_DISPATCH(pProfiler, pParams)
186 #define profilerBaseCtrlCmdInternalGetMaxPmas(pProfiler, pParams) profilerBaseCtrlCmdInternalGetMaxPmas_DISPATCH(pProfiler, pParams)
187 #define profilerBaseCtrlCmdBindPmResources(pProfiler) profilerBaseCtrlCmdBindPmResources_DISPATCH(pProfiler)
188 #define profilerBaseCtrlCmdUnbindPmResources(pProfiler) profilerBaseCtrlCmdUnbindPmResources_DISPATCH(pProfiler)
189 #define profilerBaseCtrlCmdInternalBindPmResources(pProfiler) profilerBaseCtrlCmdInternalBindPmResources_DISPATCH(pProfiler)
190 #define profilerBaseCtrlCmdInternalUnbindPmResources(pProfiler) profilerBaseCtrlCmdInternalUnbindPmResources_DISPATCH(pProfiler)
191 #define profilerBaseCtrlCmdPmaStreamUpdateGetPut(pProfiler, pParams) profilerBaseCtrlCmdPmaStreamUpdateGetPut_DISPATCH(pProfiler, pParams)
192 #define profilerBaseCtrlCmdPmaStreamUpdateGetPut_HAL(pProfiler, pParams) profilerBaseCtrlCmdPmaStreamUpdateGetPut_DISPATCH(pProfiler, pParams)
193 #define profilerBaseCtrlCmdExecRegops(pProfiler, pParams) profilerBaseCtrlCmdExecRegops_DISPATCH(pProfiler, pParams)
194 #define profilerBaseCtrlCmdInternalAllocPmaStream(pProfiler, pParams) profilerBaseCtrlCmdInternalAllocPmaStream_DISPATCH(pProfiler, pParams)
195 #define profilerBaseCtrlCmdInternalAllocPmaStream_HAL(pProfiler, pParams) profilerBaseCtrlCmdInternalAllocPmaStream_DISPATCH(pProfiler, pParams)
196 #define profilerBaseCtrlCmdInternalQuiescePmaChannel(pProfiler, pParams) profilerBaseCtrlCmdInternalQuiescePmaChannel_DISPATCH(pProfiler, pParams)
197 #define profilerBaseCtrlCmdInternalSriovPromotePmaStream(pProfiler, pParams) profilerBaseCtrlCmdInternalSriovPromotePmaStream_DISPATCH(pProfiler, pParams)
198 #define profilerBaseCtrlCmdInternalSriovPromotePmaStream_HAL(pProfiler, pParams) profilerBaseCtrlCmdInternalSriovPromotePmaStream_DISPATCH(pProfiler, pParams)
199 #define profilerBaseCtrlCmdInternalPermissionsInit(pProfiler, pParams) profilerBaseCtrlCmdInternalPermissionsInit_DISPATCH(pProfiler, pParams)
200 #define profilerBaseCtrlCmdReservePmAreaPcSampler(pProfiler) profilerBaseCtrlCmdReservePmAreaPcSampler_DISPATCH(pProfiler)
201 #define profilerBaseCtrlCmdReleasePmAreaPcSampler(pProfiler) profilerBaseCtrlCmdReleasePmAreaPcSampler_DISPATCH(pProfiler)
202 #define profilerBaseCtrlCmdGetTotalHsCredits(pProfiler, pParams) profilerBaseCtrlCmdGetTotalHsCredits_DISPATCH(pProfiler, pParams)
203 #define profilerBaseCtrlCmdGetHsCredits(pProfiler, pParams) profilerBaseCtrlCmdGetHsCredits_DISPATCH(pProfiler, pParams)
204 #define profilerBaseCtrlCmdSetHsCredits(pProfiler, pParams) profilerBaseCtrlCmdSetHsCredits_DISPATCH(pProfiler, pParams)
205 #define profilerBaseCtrlCmdReserveHes(pProfiler, pParams) profilerBaseCtrlCmdReserveHes_DISPATCH(pProfiler, pParams)
206 #define profilerBaseCtrlCmdReleaseHes(pProfiler, pParams) profilerBaseCtrlCmdReleaseHes_DISPATCH(pProfiler, pParams)
207 #define profilerBaseCtrlCmdRequestCgControls(pProfiler, pParams) profilerBaseCtrlCmdRequestCgControls_DISPATCH(pProfiler, pParams)
208 #define profilerBaseCtrlCmdRequestCgControls_HAL(pProfiler, pParams) profilerBaseCtrlCmdRequestCgControls_DISPATCH(pProfiler, pParams)
209 #define profilerBaseCtrlCmdReleaseCgControls(pProfiler, pParams) profilerBaseCtrlCmdReleaseCgControls_DISPATCH(pProfiler, pParams)
210 #define profilerBaseCtrlCmdReleaseCgControls_HAL(pProfiler, pParams) profilerBaseCtrlCmdReleaseCgControls_DISPATCH(pProfiler, pParams)
211 #define profilerBaseCtrlCmdDisableDynamicMMABoost(pProfiler, pParams) profilerBaseCtrlCmdDisableDynamicMMABoost_DISPATCH(pProfiler, pParams)
212 #define profilerBaseCtrlCmdGetDynamicMMABoostStatus(pProfiler, pParams) profilerBaseCtrlCmdGetDynamicMMABoostStatus_DISPATCH(pProfiler, pParams)
213 #define profilerBaseShareCallback(pGpuResource, pInvokingClient, pParentRef, pSharePolicy) profilerBaseShareCallback_DISPATCH(pGpuResource, pInvokingClient, pParentRef, pSharePolicy)
214 #define profilerBaseCheckMemInterUnmap(pRmResource, bSubdeviceHandleProvided) profilerBaseCheckMemInterUnmap_DISPATCH(pRmResource, bSubdeviceHandleProvided)
215 #define profilerBaseMapTo(pResource, pParams) profilerBaseMapTo_DISPATCH(pResource, pParams)
216 #define profilerBaseGetMapAddrSpace(pGpuResource, pCallContext, mapFlags, pAddrSpace) profilerBaseGetMapAddrSpace_DISPATCH(pGpuResource, pCallContext, mapFlags, pAddrSpace)
217 #define profilerBaseGetRefCount(pResource) profilerBaseGetRefCount_DISPATCH(pResource)
218 #define profilerBaseAddAdditionalDependants(pClient, pResource, pReference) profilerBaseAddAdditionalDependants_DISPATCH(pClient, pResource, pReference)
219 #define profilerBaseControl_Prologue(pResource, pCallContext, pParams) profilerBaseControl_Prologue_DISPATCH(pResource, pCallContext, pParams)
220 #define profilerBaseGetRegBaseOffsetAndSize(pGpuResource, pGpu, pOffset, pSize) profilerBaseGetRegBaseOffsetAndSize_DISPATCH(pGpuResource, pGpu, pOffset, pSize)
221 #define profilerBaseInternalControlForward(pGpuResource, command, pParams, size) profilerBaseInternalControlForward_DISPATCH(pGpuResource, command, pParams, size)
222 #define profilerBaseUnmapFrom(pResource, pParams) profilerBaseUnmapFrom_DISPATCH(pResource, pParams)
223 #define profilerBaseControl_Epilogue(pResource, pCallContext, pParams) profilerBaseControl_Epilogue_DISPATCH(pResource, pCallContext, pParams)
224 #define profilerBaseGetInternalObjectHandle(pGpuResource) profilerBaseGetInternalObjectHandle_DISPATCH(pGpuResource)
225 #define profilerBaseControl(pGpuResource, pCallContext, pParams) profilerBaseControl_DISPATCH(pGpuResource, pCallContext, pParams)
226 #define profilerBaseUnmap(pGpuResource, pCallContext, pCpuMapping) profilerBaseUnmap_DISPATCH(pGpuResource, pCallContext, pCpuMapping)
227 #define profilerBaseGetMemInterMapParams(pRmResource, pParams) profilerBaseGetMemInterMapParams_DISPATCH(pRmResource, pParams)
228 #define profilerBaseGetMemoryMappingDescriptor(pRmResource, ppMemDesc) profilerBaseGetMemoryMappingDescriptor_DISPATCH(pRmResource, ppMemDesc)
229 #define profilerBaseControlFilter(pResource, pCallContext, pParams) profilerBaseControlFilter_DISPATCH(pResource, pCallContext, pParams)
230 #define profilerBaseControlSerialization_Prologue(pResource, pCallContext, pParams) profilerBaseControlSerialization_Prologue_DISPATCH(pResource, pCallContext, pParams)
231 #define profilerBaseCanCopy(pResource) profilerBaseCanCopy_DISPATCH(pResource)
232 #define profilerBaseIsPartialUnmapSupported(pResource) profilerBaseIsPartialUnmapSupported_DISPATCH(pResource)
233 #define profilerBasePreDestruct(pResource) profilerBasePreDestruct_DISPATCH(pResource)
234 #define profilerBaseIsDuplicate(pResource, hMemory, pDuplicate) profilerBaseIsDuplicate_DISPATCH(pResource, hMemory, pDuplicate)
235 #define profilerBaseControlSerialization_Epilogue(pResource, pCallContext, pParams) profilerBaseControlSerialization_Epilogue_DISPATCH(pResource, pCallContext, pParams)
236 #define profilerBaseMap(pGpuResource, pCallContext, pParams, pCpuMapping) profilerBaseMap_DISPATCH(pGpuResource, pCallContext, pParams, pCpuMapping)
237 #define profilerBaseAccessCallback(pResource, pInvokingClient, pAllocParams, accessRight) profilerBaseAccessCallback_DISPATCH(pResource, pInvokingClient, pAllocParams, accessRight)
profilerBaseConstructState_56cd7a(struct ProfilerBase * pProf,CALL_CONTEXT * pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * pParams)238 static inline NV_STATUS profilerBaseConstructState_56cd7a(struct ProfilerBase *pProf, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams) {
239     return NV_OK;
240 }
241 
242 NV_STATUS profilerBaseConstructState_IMPL(struct ProfilerBase *pProf, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams);
243 
profilerBaseConstructState_DISPATCH(struct ProfilerBase * pProf,CALL_CONTEXT * pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * pParams)244 static inline NV_STATUS profilerBaseConstructState_DISPATCH(struct ProfilerBase *pProf, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams) {
245     return pProf->__profilerBaseConstructState__(pProf, pCallContext, pParams);
246 }
247 
248 void profilerBaseDestructState_VF(struct ProfilerBase *pProf);
249 
profilerBaseDestructState_b3696a(struct ProfilerBase * pProf)250 static inline void profilerBaseDestructState_b3696a(struct ProfilerBase *pProf) {
251     return;
252 }
253 
profilerBaseDestructState_DISPATCH(struct ProfilerBase * pProf)254 static inline void profilerBaseDestructState_DISPATCH(struct ProfilerBase *pProf) {
255     pProf->__profilerBaseDestructState__(pProf);
256 }
257 
258 NV_STATUS profilerBaseCtrlCmdReserveHwpmLegacy_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_RESERVE_HWPM_LEGACY_PARAMS *pParams);
259 
profilerBaseCtrlCmdReserveHwpmLegacy_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_RESERVE_HWPM_LEGACY_PARAMS * pParams)260 static inline NV_STATUS profilerBaseCtrlCmdReserveHwpmLegacy_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_RESERVE_HWPM_LEGACY_PARAMS *pParams) {
261     return pProfiler->__profilerBaseCtrlCmdReserveHwpmLegacy__(pProfiler, pParams);
262 }
263 
264 NV_STATUS profilerBaseCtrlCmdInternalReserveHwpmLegacy_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS *pParams);
265 
profilerBaseCtrlCmdInternalReserveHwpmLegacy_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS * pParams)266 static inline NV_STATUS profilerBaseCtrlCmdInternalReserveHwpmLegacy_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS *pParams) {
267     return pProfiler->__profilerBaseCtrlCmdInternalReserveHwpmLegacy__(pProfiler, pParams);
268 }
269 
270 NV_STATUS profilerBaseCtrlCmdReleaseHwpmLegacy_IMPL(struct ProfilerBase *pProfiler);
271 
profilerBaseCtrlCmdReleaseHwpmLegacy_DISPATCH(struct ProfilerBase * pProfiler)272 static inline NV_STATUS profilerBaseCtrlCmdReleaseHwpmLegacy_DISPATCH(struct ProfilerBase *pProfiler) {
273     return pProfiler->__profilerBaseCtrlCmdReleaseHwpmLegacy__(pProfiler);
274 }
275 
276 NV_STATUS profilerBaseCtrlCmdReservePmAreaSmpc_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS *pParams);
277 
profilerBaseCtrlCmdReservePmAreaSmpc_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS * pParams)278 static inline NV_STATUS profilerBaseCtrlCmdReservePmAreaSmpc_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS *pParams) {
279     return pProfiler->__profilerBaseCtrlCmdReservePmAreaSmpc__(pProfiler, pParams);
280 }
281 
282 NV_STATUS profilerBaseCtrlCmdReleasePmAreaSmpc_IMPL(struct ProfilerBase *pProfiler);
283 
profilerBaseCtrlCmdReleasePmAreaSmpc_DISPATCH(struct ProfilerBase * pProfiler)284 static inline NV_STATUS profilerBaseCtrlCmdReleasePmAreaSmpc_DISPATCH(struct ProfilerBase *pProfiler) {
285     return pProfiler->__profilerBaseCtrlCmdReleasePmAreaSmpc__(pProfiler);
286 }
287 
288 NV_STATUS profilerBaseCtrlCmdAllocPmaStream_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS *pParams);
289 
profilerBaseCtrlCmdAllocPmaStream_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS * pParams)290 static inline NV_STATUS profilerBaseCtrlCmdAllocPmaStream_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS *pParams) {
291     return pProfiler->__profilerBaseCtrlCmdAllocPmaStream__(pProfiler, pParams);
292 }
293 
294 NV_STATUS profilerBaseCtrlCmdFreePmaStream_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS *pParams);
295 
profilerBaseCtrlCmdFreePmaStream_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS * pParams)296 static inline NV_STATUS profilerBaseCtrlCmdFreePmaStream_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS *pParams) {
297     return pProfiler->__profilerBaseCtrlCmdFreePmaStream__(pProfiler, pParams);
298 }
299 
300 NV_STATUS profilerBaseCtrlCmdInternalFreePmaStream_VF(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS *pParams);
301 
profilerBaseCtrlCmdInternalFreePmaStream_56cd7a(struct ProfilerBase * pProfiler,NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS * pParams)302 static inline NV_STATUS profilerBaseCtrlCmdInternalFreePmaStream_56cd7a(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS *pParams) {
303     return NV_OK;
304 }
305 
profilerBaseCtrlCmdInternalFreePmaStream_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS * pParams)306 static inline NV_STATUS profilerBaseCtrlCmdInternalFreePmaStream_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS *pParams) {
307     return pProfiler->__profilerBaseCtrlCmdInternalFreePmaStream__(pProfiler, pParams);
308 }
309 
310 NV_STATUS profilerBaseCtrlCmdInternalGetMaxPmas_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS *pParams);
311 
profilerBaseCtrlCmdInternalGetMaxPmas_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS * pParams)312 static inline NV_STATUS profilerBaseCtrlCmdInternalGetMaxPmas_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS *pParams) {
313     return pProfiler->__profilerBaseCtrlCmdInternalGetMaxPmas__(pProfiler, pParams);
314 }
315 
316 NV_STATUS profilerBaseCtrlCmdBindPmResources_IMPL(struct ProfilerBase *pProfiler);
317 
profilerBaseCtrlCmdBindPmResources_DISPATCH(struct ProfilerBase * pProfiler)318 static inline NV_STATUS profilerBaseCtrlCmdBindPmResources_DISPATCH(struct ProfilerBase *pProfiler) {
319     return pProfiler->__profilerBaseCtrlCmdBindPmResources__(pProfiler);
320 }
321 
322 NV_STATUS profilerBaseCtrlCmdUnbindPmResources_IMPL(struct ProfilerBase *pProfiler);
323 
profilerBaseCtrlCmdUnbindPmResources_DISPATCH(struct ProfilerBase * pProfiler)324 static inline NV_STATUS profilerBaseCtrlCmdUnbindPmResources_DISPATCH(struct ProfilerBase *pProfiler) {
325     return pProfiler->__profilerBaseCtrlCmdUnbindPmResources__(pProfiler);
326 }
327 
328 NV_STATUS profilerBaseCtrlCmdInternalBindPmResources_IMPL(struct ProfilerBase *pProfiler);
329 
profilerBaseCtrlCmdInternalBindPmResources_DISPATCH(struct ProfilerBase * pProfiler)330 static inline NV_STATUS profilerBaseCtrlCmdInternalBindPmResources_DISPATCH(struct ProfilerBase *pProfiler) {
331     return pProfiler->__profilerBaseCtrlCmdInternalBindPmResources__(pProfiler);
332 }
333 
334 NV_STATUS profilerBaseCtrlCmdInternalUnbindPmResources_IMPL(struct ProfilerBase *pProfiler);
335 
profilerBaseCtrlCmdInternalUnbindPmResources_DISPATCH(struct ProfilerBase * pProfiler)336 static inline NV_STATUS profilerBaseCtrlCmdInternalUnbindPmResources_DISPATCH(struct ProfilerBase *pProfiler) {
337     return pProfiler->__profilerBaseCtrlCmdInternalUnbindPmResources__(pProfiler);
338 }
339 
340 NV_STATUS profilerBaseCtrlCmdPmaStreamUpdateGetPut_VF(struct ProfilerBase *pProfiler, NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS *pParams);
341 
profilerBaseCtrlCmdPmaStreamUpdateGetPut_56cd7a(struct ProfilerBase * pProfiler,NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS * pParams)342 static inline NV_STATUS profilerBaseCtrlCmdPmaStreamUpdateGetPut_56cd7a(struct ProfilerBase *pProfiler, NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS *pParams) {
343     return NV_OK;
344 }
345 
profilerBaseCtrlCmdPmaStreamUpdateGetPut_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS * pParams)346 static inline NV_STATUS profilerBaseCtrlCmdPmaStreamUpdateGetPut_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS *pParams) {
347     return pProfiler->__profilerBaseCtrlCmdPmaStreamUpdateGetPut__(pProfiler, pParams);
348 }
349 
350 NV_STATUS profilerBaseCtrlCmdExecRegops_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_EXEC_REG_OPS_PARAMS *pParams);
351 
profilerBaseCtrlCmdExecRegops_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_EXEC_REG_OPS_PARAMS * pParams)352 static inline NV_STATUS profilerBaseCtrlCmdExecRegops_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_EXEC_REG_OPS_PARAMS *pParams) {
353     return pProfiler->__profilerBaseCtrlCmdExecRegops__(pProfiler, pParams);
354 }
355 
356 NV_STATUS profilerBaseCtrlCmdInternalAllocPmaStream_VF(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS *pParams);
357 
profilerBaseCtrlCmdInternalAllocPmaStream_56cd7a(struct ProfilerBase * pProfiler,NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS * pParams)358 static inline NV_STATUS profilerBaseCtrlCmdInternalAllocPmaStream_56cd7a(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS *pParams) {
359     return NV_OK;
360 }
361 
profilerBaseCtrlCmdInternalAllocPmaStream_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS * pParams)362 static inline NV_STATUS profilerBaseCtrlCmdInternalAllocPmaStream_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS *pParams) {
363     return pProfiler->__profilerBaseCtrlCmdInternalAllocPmaStream__(pProfiler, pParams);
364 }
365 
366 NV_STATUS profilerBaseCtrlCmdInternalQuiescePmaChannel_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_QUIESCE_PMA_CHANNEL_PARAMS *pParams);
367 
profilerBaseCtrlCmdInternalQuiescePmaChannel_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_INTERNAL_QUIESCE_PMA_CHANNEL_PARAMS * pParams)368 static inline NV_STATUS profilerBaseCtrlCmdInternalQuiescePmaChannel_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_QUIESCE_PMA_CHANNEL_PARAMS *pParams) {
369     return pProfiler->__profilerBaseCtrlCmdInternalQuiescePmaChannel__(pProfiler, pParams);
370 }
371 
profilerBaseCtrlCmdInternalSriovPromotePmaStream_108313(struct ProfilerBase * pProfiler,NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS * pParams)372 static inline NV_STATUS profilerBaseCtrlCmdInternalSriovPromotePmaStream_108313(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS *pParams) {
373     NV_ASSERT_OR_RETURN_PRECOMP(0, ((NvBool)(0 != 0)));
374 }
375 
376 NV_STATUS profilerBaseCtrlCmdInternalSriovPromotePmaStream_VF(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS *pParams);
377 
profilerBaseCtrlCmdInternalSriovPromotePmaStream_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS * pParams)378 static inline NV_STATUS profilerBaseCtrlCmdInternalSriovPromotePmaStream_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS *pParams) {
379     return pProfiler->__profilerBaseCtrlCmdInternalSriovPromotePmaStream__(pProfiler, pParams);
380 }
381 
382 NV_STATUS profilerBaseCtrlCmdInternalPermissionsInit_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_PERMISSIONS_INIT_PARAMS *pParams);
383 
profilerBaseCtrlCmdInternalPermissionsInit_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_INTERNAL_PERMISSIONS_INIT_PARAMS * pParams)384 static inline NV_STATUS profilerBaseCtrlCmdInternalPermissionsInit_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_INTERNAL_PERMISSIONS_INIT_PARAMS *pParams) {
385     return pProfiler->__profilerBaseCtrlCmdInternalPermissionsInit__(pProfiler, pParams);
386 }
387 
388 NV_STATUS profilerBaseCtrlCmdReservePmAreaPcSampler_IMPL(struct ProfilerBase *pProfiler);
389 
profilerBaseCtrlCmdReservePmAreaPcSampler_DISPATCH(struct ProfilerBase * pProfiler)390 static inline NV_STATUS profilerBaseCtrlCmdReservePmAreaPcSampler_DISPATCH(struct ProfilerBase *pProfiler) {
391     return pProfiler->__profilerBaseCtrlCmdReservePmAreaPcSampler__(pProfiler);
392 }
393 
394 NV_STATUS profilerBaseCtrlCmdReleasePmAreaPcSampler_IMPL(struct ProfilerBase *pProfiler);
395 
profilerBaseCtrlCmdReleasePmAreaPcSampler_DISPATCH(struct ProfilerBase * pProfiler)396 static inline NV_STATUS profilerBaseCtrlCmdReleasePmAreaPcSampler_DISPATCH(struct ProfilerBase *pProfiler) {
397     return pProfiler->__profilerBaseCtrlCmdReleasePmAreaPcSampler__(pProfiler);
398 }
399 
400 NV_STATUS profilerBaseCtrlCmdGetTotalHsCredits_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_GET_TOTAL_HS_CREDITS_PARAMS *pParams);
401 
profilerBaseCtrlCmdGetTotalHsCredits_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_GET_TOTAL_HS_CREDITS_PARAMS * pParams)402 static inline NV_STATUS profilerBaseCtrlCmdGetTotalHsCredits_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_GET_TOTAL_HS_CREDITS_PARAMS *pParams) {
403     return pProfiler->__profilerBaseCtrlCmdGetTotalHsCredits__(pProfiler, pParams);
404 }
405 
406 NV_STATUS profilerBaseCtrlCmdGetHsCredits_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_GET_HS_CREDITS_PARAMS *pParams);
407 
profilerBaseCtrlCmdGetHsCredits_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_GET_HS_CREDITS_PARAMS * pParams)408 static inline NV_STATUS profilerBaseCtrlCmdGetHsCredits_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_GET_HS_CREDITS_PARAMS *pParams) {
409     return pProfiler->__profilerBaseCtrlCmdGetHsCredits__(pProfiler, pParams);
410 }
411 
412 NV_STATUS profilerBaseCtrlCmdSetHsCredits_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_SET_HS_CREDITS_PARAMS *pParams);
413 
profilerBaseCtrlCmdSetHsCredits_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_SET_HS_CREDITS_PARAMS * pParams)414 static inline NV_STATUS profilerBaseCtrlCmdSetHsCredits_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_SET_HS_CREDITS_PARAMS *pParams) {
415     return pProfiler->__profilerBaseCtrlCmdSetHsCredits__(pProfiler, pParams);
416 }
417 
418 NV_STATUS profilerBaseCtrlCmdReserveHes_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_RESERVE_HES_PARAMS *pParams);
419 
profilerBaseCtrlCmdReserveHes_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_RESERVE_HES_PARAMS * pParams)420 static inline NV_STATUS profilerBaseCtrlCmdReserveHes_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_RESERVE_HES_PARAMS *pParams) {
421     return pProfiler->__profilerBaseCtrlCmdReserveHes__(pProfiler, pParams);
422 }
423 
424 NV_STATUS profilerBaseCtrlCmdReleaseHes_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_RELEASE_HES_PARAMS *pParams);
425 
profilerBaseCtrlCmdReleaseHes_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_RELEASE_HES_PARAMS * pParams)426 static inline NV_STATUS profilerBaseCtrlCmdReleaseHes_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_RELEASE_HES_PARAMS *pParams) {
427     return pProfiler->__profilerBaseCtrlCmdReleaseHes__(pProfiler, pParams);
428 }
429 
430 NV_STATUS profilerBaseCtrlCmdRequestCgControls_VF(struct ProfilerBase *pProfiler, NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS *pParams);
431 
profilerBaseCtrlCmdRequestCgControls_92bfc3(struct ProfilerBase * pProfiler,NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS * pParams)432 static inline NV_STATUS profilerBaseCtrlCmdRequestCgControls_92bfc3(struct ProfilerBase *pProfiler, NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS *pParams) {
433     NV_ASSERT_PRECOMP(0);
434     return NV_ERR_NOT_SUPPORTED;
435 }
436 
profilerBaseCtrlCmdRequestCgControls_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS * pParams)437 static inline NV_STATUS profilerBaseCtrlCmdRequestCgControls_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS *pParams) {
438     return pProfiler->__profilerBaseCtrlCmdRequestCgControls__(pProfiler, pParams);
439 }
440 
profilerBaseCtrlCmdReleaseCgControls_56cd7a(struct ProfilerBase * pProfiler,NVB0CC_CTRL_POWER_RELEASE_FEATURES_PARAMS * pParams)441 static inline NV_STATUS profilerBaseCtrlCmdReleaseCgControls_56cd7a(struct ProfilerBase *pProfiler, NVB0CC_CTRL_POWER_RELEASE_FEATURES_PARAMS *pParams) {
442     return NV_OK;
443 }
444 
profilerBaseCtrlCmdReleaseCgControls_92bfc3(struct ProfilerBase * pProfiler,NVB0CC_CTRL_POWER_RELEASE_FEATURES_PARAMS * pParams)445 static inline NV_STATUS profilerBaseCtrlCmdReleaseCgControls_92bfc3(struct ProfilerBase *pProfiler, NVB0CC_CTRL_POWER_RELEASE_FEATURES_PARAMS *pParams) {
446     NV_ASSERT_PRECOMP(0);
447     return NV_ERR_NOT_SUPPORTED;
448 }
449 
profilerBaseCtrlCmdReleaseCgControls_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_POWER_RELEASE_FEATURES_PARAMS * pParams)450 static inline NV_STATUS profilerBaseCtrlCmdReleaseCgControls_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_POWER_RELEASE_FEATURES_PARAMS *pParams) {
451     return pProfiler->__profilerBaseCtrlCmdReleaseCgControls__(pProfiler, pParams);
452 }
453 
454 NV_STATUS profilerBaseCtrlCmdDisableDynamicMMABoost_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_DISABLE_DYNAMIC_MMA_BOOST_PARAMS *pParams);
455 
profilerBaseCtrlCmdDisableDynamicMMABoost_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_DISABLE_DYNAMIC_MMA_BOOST_PARAMS * pParams)456 static inline NV_STATUS profilerBaseCtrlCmdDisableDynamicMMABoost_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_DISABLE_DYNAMIC_MMA_BOOST_PARAMS *pParams) {
457     return pProfiler->__profilerBaseCtrlCmdDisableDynamicMMABoost__(pProfiler, pParams);
458 }
459 
460 NV_STATUS profilerBaseCtrlCmdGetDynamicMMABoostStatus_IMPL(struct ProfilerBase *pProfiler, NVB0CC_CTRL_GET_DYNAMIC_MMA_BOOST_STATUS_PARAMS *pParams);
461 
profilerBaseCtrlCmdGetDynamicMMABoostStatus_DISPATCH(struct ProfilerBase * pProfiler,NVB0CC_CTRL_GET_DYNAMIC_MMA_BOOST_STATUS_PARAMS * pParams)462 static inline NV_STATUS profilerBaseCtrlCmdGetDynamicMMABoostStatus_DISPATCH(struct ProfilerBase *pProfiler, NVB0CC_CTRL_GET_DYNAMIC_MMA_BOOST_STATUS_PARAMS *pParams) {
463     return pProfiler->__profilerBaseCtrlCmdGetDynamicMMABoostStatus__(pProfiler, pParams);
464 }
465 
profilerBaseShareCallback_DISPATCH(struct ProfilerBase * pGpuResource,struct RsClient * pInvokingClient,struct RsResourceRef * pParentRef,RS_SHARE_POLICY * pSharePolicy)466 static inline NvBool profilerBaseShareCallback_DISPATCH(struct ProfilerBase *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) {
467     return pGpuResource->__profilerBaseShareCallback__(pGpuResource, pInvokingClient, pParentRef, pSharePolicy);
468 }
469 
profilerBaseCheckMemInterUnmap_DISPATCH(struct ProfilerBase * pRmResource,NvBool bSubdeviceHandleProvided)470 static inline NV_STATUS profilerBaseCheckMemInterUnmap_DISPATCH(struct ProfilerBase *pRmResource, NvBool bSubdeviceHandleProvided) {
471     return pRmResource->__profilerBaseCheckMemInterUnmap__(pRmResource, bSubdeviceHandleProvided);
472 }
473 
profilerBaseMapTo_DISPATCH(struct ProfilerBase * pResource,RS_RES_MAP_TO_PARAMS * pParams)474 static inline NV_STATUS profilerBaseMapTo_DISPATCH(struct ProfilerBase *pResource, RS_RES_MAP_TO_PARAMS *pParams) {
475     return pResource->__profilerBaseMapTo__(pResource, pParams);
476 }
477 
profilerBaseGetMapAddrSpace_DISPATCH(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,NvU32 mapFlags,NV_ADDRESS_SPACE * pAddrSpace)478 static inline NV_STATUS profilerBaseGetMapAddrSpace_DISPATCH(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) {
479     return pGpuResource->__profilerBaseGetMapAddrSpace__(pGpuResource, pCallContext, mapFlags, pAddrSpace);
480 }
481 
profilerBaseGetRefCount_DISPATCH(struct ProfilerBase * pResource)482 static inline NvU32 profilerBaseGetRefCount_DISPATCH(struct ProfilerBase *pResource) {
483     return pResource->__profilerBaseGetRefCount__(pResource);
484 }
485 
profilerBaseAddAdditionalDependants_DISPATCH(struct RsClient * pClient,struct ProfilerBase * pResource,RsResourceRef * pReference)486 static inline void profilerBaseAddAdditionalDependants_DISPATCH(struct RsClient *pClient, struct ProfilerBase *pResource, RsResourceRef *pReference) {
487     pResource->__profilerBaseAddAdditionalDependants__(pClient, pResource, pReference);
488 }
489 
profilerBaseControl_Prologue_DISPATCH(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)490 static inline NV_STATUS profilerBaseControl_Prologue_DISPATCH(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
491     return pResource->__profilerBaseControl_Prologue__(pResource, pCallContext, pParams);
492 }
493 
profilerBaseGetRegBaseOffsetAndSize_DISPATCH(struct ProfilerBase * pGpuResource,struct OBJGPU * pGpu,NvU32 * pOffset,NvU32 * pSize)494 static inline NV_STATUS profilerBaseGetRegBaseOffsetAndSize_DISPATCH(struct ProfilerBase *pGpuResource, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) {
495     return pGpuResource->__profilerBaseGetRegBaseOffsetAndSize__(pGpuResource, pGpu, pOffset, pSize);
496 }
497 
profilerBaseInternalControlForward_DISPATCH(struct ProfilerBase * pGpuResource,NvU32 command,void * pParams,NvU32 size)498 static inline NV_STATUS profilerBaseInternalControlForward_DISPATCH(struct ProfilerBase *pGpuResource, NvU32 command, void *pParams, NvU32 size) {
499     return pGpuResource->__profilerBaseInternalControlForward__(pGpuResource, command, pParams, size);
500 }
501 
profilerBaseUnmapFrom_DISPATCH(struct ProfilerBase * pResource,RS_RES_UNMAP_FROM_PARAMS * pParams)502 static inline NV_STATUS profilerBaseUnmapFrom_DISPATCH(struct ProfilerBase *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) {
503     return pResource->__profilerBaseUnmapFrom__(pResource, pParams);
504 }
505 
profilerBaseControl_Epilogue_DISPATCH(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)506 static inline void profilerBaseControl_Epilogue_DISPATCH(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
507     pResource->__profilerBaseControl_Epilogue__(pResource, pCallContext, pParams);
508 }
509 
profilerBaseGetInternalObjectHandle_DISPATCH(struct ProfilerBase * pGpuResource)510 static inline NvHandle profilerBaseGetInternalObjectHandle_DISPATCH(struct ProfilerBase *pGpuResource) {
511     return pGpuResource->__profilerBaseGetInternalObjectHandle__(pGpuResource);
512 }
513 
profilerBaseControl_DISPATCH(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)514 static inline NV_STATUS profilerBaseControl_DISPATCH(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
515     return pGpuResource->__profilerBaseControl__(pGpuResource, pCallContext, pParams);
516 }
517 
profilerBaseUnmap_DISPATCH(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RsCpuMapping * pCpuMapping)518 static inline NV_STATUS profilerBaseUnmap_DISPATCH(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) {
519     return pGpuResource->__profilerBaseUnmap__(pGpuResource, pCallContext, pCpuMapping);
520 }
521 
profilerBaseGetMemInterMapParams_DISPATCH(struct ProfilerBase * pRmResource,RMRES_MEM_INTER_MAP_PARAMS * pParams)522 static inline NV_STATUS profilerBaseGetMemInterMapParams_DISPATCH(struct ProfilerBase *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
523     return pRmResource->__profilerBaseGetMemInterMapParams__(pRmResource, pParams);
524 }
525 
profilerBaseGetMemoryMappingDescriptor_DISPATCH(struct ProfilerBase * pRmResource,struct MEMORY_DESCRIPTOR ** ppMemDesc)526 static inline NV_STATUS profilerBaseGetMemoryMappingDescriptor_DISPATCH(struct ProfilerBase *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) {
527     return pRmResource->__profilerBaseGetMemoryMappingDescriptor__(pRmResource, ppMemDesc);
528 }
529 
profilerBaseControlFilter_DISPATCH(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)530 static inline NV_STATUS profilerBaseControlFilter_DISPATCH(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
531     return pResource->__profilerBaseControlFilter__(pResource, pCallContext, pParams);
532 }
533 
profilerBaseControlSerialization_Prologue_DISPATCH(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)534 static inline NV_STATUS profilerBaseControlSerialization_Prologue_DISPATCH(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
535     return pResource->__profilerBaseControlSerialization_Prologue__(pResource, pCallContext, pParams);
536 }
537 
profilerBaseCanCopy_DISPATCH(struct ProfilerBase * pResource)538 static inline NvBool profilerBaseCanCopy_DISPATCH(struct ProfilerBase *pResource) {
539     return pResource->__profilerBaseCanCopy__(pResource);
540 }
541 
profilerBaseIsPartialUnmapSupported_DISPATCH(struct ProfilerBase * pResource)542 static inline NvBool profilerBaseIsPartialUnmapSupported_DISPATCH(struct ProfilerBase *pResource) {
543     return pResource->__profilerBaseIsPartialUnmapSupported__(pResource);
544 }
545 
profilerBasePreDestruct_DISPATCH(struct ProfilerBase * pResource)546 static inline void profilerBasePreDestruct_DISPATCH(struct ProfilerBase *pResource) {
547     pResource->__profilerBasePreDestruct__(pResource);
548 }
549 
profilerBaseIsDuplicate_DISPATCH(struct ProfilerBase * pResource,NvHandle hMemory,NvBool * pDuplicate)550 static inline NV_STATUS profilerBaseIsDuplicate_DISPATCH(struct ProfilerBase *pResource, NvHandle hMemory, NvBool *pDuplicate) {
551     return pResource->__profilerBaseIsDuplicate__(pResource, hMemory, pDuplicate);
552 }
553 
profilerBaseControlSerialization_Epilogue_DISPATCH(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)554 static inline void profilerBaseControlSerialization_Epilogue_DISPATCH(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
555     pResource->__profilerBaseControlSerialization_Epilogue__(pResource, pCallContext, pParams);
556 }
557 
profilerBaseMap_DISPATCH(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_CPU_MAP_PARAMS * pParams,struct RsCpuMapping * pCpuMapping)558 static inline NV_STATUS profilerBaseMap_DISPATCH(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) {
559     return pGpuResource->__profilerBaseMap__(pGpuResource, pCallContext, pParams, pCpuMapping);
560 }
561 
profilerBaseAccessCallback_DISPATCH(struct ProfilerBase * pResource,struct RsClient * pInvokingClient,void * pAllocParams,RsAccessRight accessRight)562 static inline NvBool profilerBaseAccessCallback_DISPATCH(struct ProfilerBase *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) {
563     return pResource->__profilerBaseAccessCallback__(pResource, pInvokingClient, pAllocParams, accessRight);
564 }
565 
566 NV_STATUS profilerBaseConstruct_IMPL(struct ProfilerBase *arg_pProf, CALL_CONTEXT *arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *arg_pParams);
567 
568 #define __nvoc_profilerBaseConstruct(arg_pProf, arg_pCallContext, arg_pParams) profilerBaseConstruct_IMPL(arg_pProf, arg_pCallContext, arg_pParams)
569 void profilerBaseDestruct_IMPL(struct ProfilerBase *pProf);
570 
571 #define __nvoc_profilerBaseDestruct(pProf) profilerBaseDestruct_IMPL(pProf)
572 NV_STATUS profilerBaseQuiesceStreamout_IMPL(struct ProfilerBase *pProf, OBJGPU *pGpu, struct KernelHwpm *pKernelHwpm, NvU32 pmaChIdx);
573 
574 #ifdef __nvoc_profiler_v2_h_disabled
profilerBaseQuiesceStreamout(struct ProfilerBase * pProf,OBJGPU * pGpu,struct KernelHwpm * pKernelHwpm,NvU32 pmaChIdx)575 static inline NV_STATUS profilerBaseQuiesceStreamout(struct ProfilerBase *pProf, OBJGPU *pGpu, struct KernelHwpm *pKernelHwpm, NvU32 pmaChIdx) {
576     NV_ASSERT_FAILED_PRECOMP("ProfilerBase was disabled!");
577     return NV_ERR_NOT_SUPPORTED;
578 }
579 #else //__nvoc_profiler_v2_h_disabled
580 #define profilerBaseQuiesceStreamout(pProf, pGpu, pKernelHwpm, pmaChIdx) profilerBaseQuiesceStreamout_IMPL(pProf, pGpu, pKernelHwpm, pmaChIdx)
581 #endif //__nvoc_profiler_v2_h_disabled
582 
583 #undef PRIVATE_FIELD
584 
585 
586 // Private field names are wrapped in PRIVATE_FIELD, which does nothing for
587 // the matching C source file, but causes diagnostics to be issued if another
588 // source file references the field.
589 #ifdef NVOC_PROFILER_V2_H_PRIVATE_ACCESS_ALLOWED
590 #define PRIVATE_FIELD(x) x
591 #else
592 #define PRIVATE_FIELD(x) NVOC_PRIVATE_FIELD(x)
593 #endif
594 
595 struct ProfilerDev {
596     const struct NVOC_RTTI *__nvoc_rtti;
597     struct ProfilerBase __nvoc_base_ProfilerBase;
598     struct Object *__nvoc_pbase_Object;
599     struct RsResource *__nvoc_pbase_RsResource;
600     struct RmResourceCommon *__nvoc_pbase_RmResourceCommon;
601     struct RmResource *__nvoc_pbase_RmResource;
602     struct GpuResource *__nvoc_pbase_GpuResource;
603     struct ProfilerBase *__nvoc_pbase_ProfilerBase;
604     struct ProfilerDev *__nvoc_pbase_ProfilerDev;
605     NV_STATUS (*__profilerDevConstructState__)(struct ProfilerDev *, CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *, PROFILER_CLIENT_PERMISSIONS);
606     NV_STATUS (*__profilerDevConstructStatePrologue__)(struct ProfilerDev *, CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
607     NV_STATUS (*__profilerDevConstructStateInterlude__)(struct ProfilerDev *, CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *, PROFILER_CLIENT_PERMISSIONS);
608     NV_STATUS (*__profilerDevConstructStateEpilogue__)(struct ProfilerDev *, CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
609     void (*__profilerDevDestructState__)(struct ProfilerDev *);
610     NvBool (*__profilerDevShareCallback__)(struct ProfilerDev *, struct RsClient *, struct RsResourceRef *, RS_SHARE_POLICY *);
611     NV_STATUS (*__profilerDevCheckMemInterUnmap__)(struct ProfilerDev *, NvBool);
612     NV_STATUS (*__profilerDevMapTo__)(struct ProfilerDev *, RS_RES_MAP_TO_PARAMS *);
613     NV_STATUS (*__profilerDevGetMapAddrSpace__)(struct ProfilerDev *, struct CALL_CONTEXT *, NvU32, NV_ADDRESS_SPACE *);
614     NvU32 (*__profilerDevGetRefCount__)(struct ProfilerDev *);
615     void (*__profilerDevAddAdditionalDependants__)(struct RsClient *, struct ProfilerDev *, RsResourceRef *);
616     NV_STATUS (*__profilerDevControl_Prologue__)(struct ProfilerDev *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
617     NV_STATUS (*__profilerDevGetRegBaseOffsetAndSize__)(struct ProfilerDev *, struct OBJGPU *, NvU32 *, NvU32 *);
618     NV_STATUS (*__profilerDevInternalControlForward__)(struct ProfilerDev *, NvU32, void *, NvU32);
619     NV_STATUS (*__profilerDevUnmapFrom__)(struct ProfilerDev *, RS_RES_UNMAP_FROM_PARAMS *);
620     void (*__profilerDevControl_Epilogue__)(struct ProfilerDev *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
621     NvHandle (*__profilerDevGetInternalObjectHandle__)(struct ProfilerDev *);
622     NV_STATUS (*__profilerDevControl__)(struct ProfilerDev *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
623     NV_STATUS (*__profilerDevUnmap__)(struct ProfilerDev *, struct CALL_CONTEXT *, struct RsCpuMapping *);
624     NV_STATUS (*__profilerDevGetMemInterMapParams__)(struct ProfilerDev *, RMRES_MEM_INTER_MAP_PARAMS *);
625     NV_STATUS (*__profilerDevGetMemoryMappingDescriptor__)(struct ProfilerDev *, struct MEMORY_DESCRIPTOR **);
626     NV_STATUS (*__profilerDevControlFilter__)(struct ProfilerDev *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
627     NV_STATUS (*__profilerDevControlSerialization_Prologue__)(struct ProfilerDev *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
628     NvBool (*__profilerDevCanCopy__)(struct ProfilerDev *);
629     NvBool (*__profilerDevIsPartialUnmapSupported__)(struct ProfilerDev *);
630     void (*__profilerDevPreDestruct__)(struct ProfilerDev *);
631     NV_STATUS (*__profilerDevIsDuplicate__)(struct ProfilerDev *, NvHandle, NvBool *);
632     void (*__profilerDevControlSerialization_Epilogue__)(struct ProfilerDev *, struct CALL_CONTEXT *, struct RS_RES_CONTROL_PARAMS_INTERNAL *);
633     NV_STATUS (*__profilerDevMap__)(struct ProfilerDev *, struct CALL_CONTEXT *, struct RS_CPU_MAP_PARAMS *, struct RsCpuMapping *);
634     NvBool (*__profilerDevAccessCallback__)(struct ProfilerDev *, struct RsClient *, void *, RsAccessRight);
635 };
636 
637 #ifndef __NVOC_CLASS_ProfilerDev_TYPEDEF__
638 #define __NVOC_CLASS_ProfilerDev_TYPEDEF__
639 typedef struct ProfilerDev ProfilerDev;
640 #endif /* __NVOC_CLASS_ProfilerDev_TYPEDEF__ */
641 
642 #ifndef __nvoc_class_id_ProfilerDev
643 #define __nvoc_class_id_ProfilerDev 0x54d077
644 #endif /* __nvoc_class_id_ProfilerDev */
645 
646 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerDev;
647 
648 #define __staticCast_ProfilerDev(pThis) \
649     ((pThis)->__nvoc_pbase_ProfilerDev)
650 
651 #ifdef __nvoc_profiler_v2_h_disabled
652 #define __dynamicCast_ProfilerDev(pThis) ((ProfilerDev*)NULL)
653 #else //__nvoc_profiler_v2_h_disabled
654 #define __dynamicCast_ProfilerDev(pThis) \
655     ((ProfilerDev*)__nvoc_dynamicCast(staticCast((pThis), Dynamic), classInfo(ProfilerDev)))
656 #endif //__nvoc_profiler_v2_h_disabled
657 
658 
659 NV_STATUS __nvoc_objCreateDynamic_ProfilerDev(ProfilerDev**, Dynamic*, NvU32, va_list);
660 
661 NV_STATUS __nvoc_objCreate_ProfilerDev(ProfilerDev**, Dynamic*, NvU32, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams);
662 #define __objCreate_ProfilerDev(ppNewObj, pParent, createFlags, arg_pCallContext, arg_pParams) \
663     __nvoc_objCreate_ProfilerDev((ppNewObj), staticCast((pParent), Dynamic), (createFlags), arg_pCallContext, arg_pParams)
664 
665 #define profilerDevConstructState(pResource, pCallContext, pParams, clientPermissions) profilerDevConstructState_DISPATCH(pResource, pCallContext, pParams, clientPermissions)
666 #define profilerDevConstructState_HAL(pResource, pCallContext, pParams, clientPermissions) profilerDevConstructState_DISPATCH(pResource, pCallContext, pParams, clientPermissions)
667 #define profilerDevConstructStatePrologue(pResource, pCallContext, pParams) profilerDevConstructStatePrologue_DISPATCH(pResource, pCallContext, pParams)
668 #define profilerDevConstructStatePrologue_HAL(pResource, pCallContext, pParams) profilerDevConstructStatePrologue_DISPATCH(pResource, pCallContext, pParams)
669 #define profilerDevConstructStateInterlude(pResource, pCallContext, pParams, clientPermissions) profilerDevConstructStateInterlude_DISPATCH(pResource, pCallContext, pParams, clientPermissions)
670 #define profilerDevConstructStateInterlude_HAL(pResource, pCallContext, pParams, clientPermissions) profilerDevConstructStateInterlude_DISPATCH(pResource, pCallContext, pParams, clientPermissions)
671 #define profilerDevConstructStateEpilogue(pResource, pCallContext, pParams) profilerDevConstructStateEpilogue_DISPATCH(pResource, pCallContext, pParams)
672 #define profilerDevConstructStateEpilogue_HAL(pResource, pCallContext, pParams) profilerDevConstructStateEpilogue_DISPATCH(pResource, pCallContext, pParams)
673 #define profilerDevDestructState(pResource) profilerDevDestructState_DISPATCH(pResource)
674 #define profilerDevDestructState_HAL(pResource) profilerDevDestructState_DISPATCH(pResource)
675 #define profilerDevShareCallback(pGpuResource, pInvokingClient, pParentRef, pSharePolicy) profilerDevShareCallback_DISPATCH(pGpuResource, pInvokingClient, pParentRef, pSharePolicy)
676 #define profilerDevCheckMemInterUnmap(pRmResource, bSubdeviceHandleProvided) profilerDevCheckMemInterUnmap_DISPATCH(pRmResource, bSubdeviceHandleProvided)
677 #define profilerDevMapTo(pResource, pParams) profilerDevMapTo_DISPATCH(pResource, pParams)
678 #define profilerDevGetMapAddrSpace(pGpuResource, pCallContext, mapFlags, pAddrSpace) profilerDevGetMapAddrSpace_DISPATCH(pGpuResource, pCallContext, mapFlags, pAddrSpace)
679 #define profilerDevGetRefCount(pResource) profilerDevGetRefCount_DISPATCH(pResource)
680 #define profilerDevAddAdditionalDependants(pClient, pResource, pReference) profilerDevAddAdditionalDependants_DISPATCH(pClient, pResource, pReference)
681 #define profilerDevControl_Prologue(pResource, pCallContext, pParams) profilerDevControl_Prologue_DISPATCH(pResource, pCallContext, pParams)
682 #define profilerDevGetRegBaseOffsetAndSize(pGpuResource, pGpu, pOffset, pSize) profilerDevGetRegBaseOffsetAndSize_DISPATCH(pGpuResource, pGpu, pOffset, pSize)
683 #define profilerDevInternalControlForward(pGpuResource, command, pParams, size) profilerDevInternalControlForward_DISPATCH(pGpuResource, command, pParams, size)
684 #define profilerDevUnmapFrom(pResource, pParams) profilerDevUnmapFrom_DISPATCH(pResource, pParams)
685 #define profilerDevControl_Epilogue(pResource, pCallContext, pParams) profilerDevControl_Epilogue_DISPATCH(pResource, pCallContext, pParams)
686 #define profilerDevGetInternalObjectHandle(pGpuResource) profilerDevGetInternalObjectHandle_DISPATCH(pGpuResource)
687 #define profilerDevControl(pGpuResource, pCallContext, pParams) profilerDevControl_DISPATCH(pGpuResource, pCallContext, pParams)
688 #define profilerDevUnmap(pGpuResource, pCallContext, pCpuMapping) profilerDevUnmap_DISPATCH(pGpuResource, pCallContext, pCpuMapping)
689 #define profilerDevGetMemInterMapParams(pRmResource, pParams) profilerDevGetMemInterMapParams_DISPATCH(pRmResource, pParams)
690 #define profilerDevGetMemoryMappingDescriptor(pRmResource, ppMemDesc) profilerDevGetMemoryMappingDescriptor_DISPATCH(pRmResource, ppMemDesc)
691 #define profilerDevControlFilter(pResource, pCallContext, pParams) profilerDevControlFilter_DISPATCH(pResource, pCallContext, pParams)
692 #define profilerDevControlSerialization_Prologue(pResource, pCallContext, pParams) profilerDevControlSerialization_Prologue_DISPATCH(pResource, pCallContext, pParams)
693 #define profilerDevCanCopy(pResource) profilerDevCanCopy_DISPATCH(pResource)
694 #define profilerDevIsPartialUnmapSupported(pResource) profilerDevIsPartialUnmapSupported_DISPATCH(pResource)
695 #define profilerDevPreDestruct(pResource) profilerDevPreDestruct_DISPATCH(pResource)
696 #define profilerDevIsDuplicate(pResource, hMemory, pDuplicate) profilerDevIsDuplicate_DISPATCH(pResource, hMemory, pDuplicate)
697 #define profilerDevControlSerialization_Epilogue(pResource, pCallContext, pParams) profilerDevControlSerialization_Epilogue_DISPATCH(pResource, pCallContext, pParams)
698 #define profilerDevMap(pGpuResource, pCallContext, pParams, pCpuMapping) profilerDevMap_DISPATCH(pGpuResource, pCallContext, pParams, pCpuMapping)
699 #define profilerDevAccessCallback(pResource, pInvokingClient, pAllocParams, accessRight) profilerDevAccessCallback_DISPATCH(pResource, pInvokingClient, pAllocParams, accessRight)
700 NvBool profilerDevQueryCapabilities_IMPL(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams, PROFILER_CLIENT_PERMISSIONS *pClientPermissions);
701 
702 
703 #ifdef __nvoc_profiler_v2_h_disabled
profilerDevQueryCapabilities(struct ProfilerDev * pResource,CALL_CONTEXT * pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * pParams,PROFILER_CLIENT_PERMISSIONS * pClientPermissions)704 static inline NvBool profilerDevQueryCapabilities(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams, PROFILER_CLIENT_PERMISSIONS *pClientPermissions) {
705     NV_ASSERT_FAILED_PRECOMP("ProfilerDev was disabled!");
706     return NV_FALSE;
707 }
708 #else //__nvoc_profiler_v2_h_disabled
709 #define profilerDevQueryCapabilities(pResource, pCallContext, pParams, pClientPermissions) profilerDevQueryCapabilities_IMPL(pResource, pCallContext, pParams, pClientPermissions)
710 #endif //__nvoc_profiler_v2_h_disabled
711 
712 #define profilerDevQueryCapabilities_HAL(pResource, pCallContext, pParams, pClientPermissions) profilerDevQueryCapabilities(pResource, pCallContext, pParams, pClientPermissions)
713 
714 NV_STATUS profilerDevConstructState_VF(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams, PROFILER_CLIENT_PERMISSIONS clientPermissions);
715 
716 NV_STATUS profilerDevConstructState_IMPL(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams, PROFILER_CLIENT_PERMISSIONS clientPermissions);
717 
profilerDevConstructState_DISPATCH(struct ProfilerDev * pResource,CALL_CONTEXT * pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * pParams,PROFILER_CLIENT_PERMISSIONS clientPermissions)718 static inline NV_STATUS profilerDevConstructState_DISPATCH(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams, PROFILER_CLIENT_PERMISSIONS clientPermissions) {
719     return pResource->__profilerDevConstructState__(pResource, pCallContext, pParams, clientPermissions);
720 }
721 
722 NV_STATUS profilerDevConstructStatePrologue_FWCLIENT(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams);
723 
profilerDevConstructStatePrologue_92bfc3(struct ProfilerDev * pResource,CALL_CONTEXT * pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * pParams)724 static inline NV_STATUS profilerDevConstructStatePrologue_92bfc3(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams) {
725     NV_ASSERT_PRECOMP(0);
726     return NV_ERR_NOT_SUPPORTED;
727 }
728 
profilerDevConstructStatePrologue_DISPATCH(struct ProfilerDev * pResource,CALL_CONTEXT * pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * pParams)729 static inline NV_STATUS profilerDevConstructStatePrologue_DISPATCH(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams) {
730     return pResource->__profilerDevConstructStatePrologue__(pResource, pCallContext, pParams);
731 }
732 
733 NV_STATUS profilerDevConstructStateInterlude_IMPL(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams, PROFILER_CLIENT_PERMISSIONS clientPermissions);
734 
profilerDevConstructStateInterlude_92bfc3(struct ProfilerDev * pResource,CALL_CONTEXT * pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * pParams,PROFILER_CLIENT_PERMISSIONS clientPermissions)735 static inline NV_STATUS profilerDevConstructStateInterlude_92bfc3(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams, PROFILER_CLIENT_PERMISSIONS clientPermissions) {
736     NV_ASSERT_PRECOMP(0);
737     return NV_ERR_NOT_SUPPORTED;
738 }
739 
profilerDevConstructStateInterlude_DISPATCH(struct ProfilerDev * pResource,CALL_CONTEXT * pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * pParams,PROFILER_CLIENT_PERMISSIONS clientPermissions)740 static inline NV_STATUS profilerDevConstructStateInterlude_DISPATCH(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams, PROFILER_CLIENT_PERMISSIONS clientPermissions) {
741     return pResource->__profilerDevConstructStateInterlude__(pResource, pCallContext, pParams, clientPermissions);
742 }
743 
profilerDevConstructStateEpilogue_56cd7a(struct ProfilerDev * pResource,CALL_CONTEXT * pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * pParams)744 static inline NV_STATUS profilerDevConstructStateEpilogue_56cd7a(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams) {
745     return NV_OK;
746 }
747 
profilerDevConstructStateEpilogue_92bfc3(struct ProfilerDev * pResource,CALL_CONTEXT * pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * pParams)748 static inline NV_STATUS profilerDevConstructStateEpilogue_92bfc3(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams) {
749     NV_ASSERT_PRECOMP(0);
750     return NV_ERR_NOT_SUPPORTED;
751 }
752 
profilerDevConstructStateEpilogue_DISPATCH(struct ProfilerDev * pResource,CALL_CONTEXT * pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * pParams)753 static inline NV_STATUS profilerDevConstructStateEpilogue_DISPATCH(struct ProfilerDev *pResource, CALL_CONTEXT *pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *pParams) {
754     return pResource->__profilerDevConstructStateEpilogue__(pResource, pCallContext, pParams);
755 }
756 
757 void profilerDevDestructState_FWCLIENT(struct ProfilerDev *pResource);
758 
profilerDevDestructState_b3696a(struct ProfilerDev * pResource)759 static inline void profilerDevDestructState_b3696a(struct ProfilerDev *pResource) {
760     return;
761 }
762 
profilerDevDestructState_DISPATCH(struct ProfilerDev * pResource)763 static inline void profilerDevDestructState_DISPATCH(struct ProfilerDev *pResource) {
764     pResource->__profilerDevDestructState__(pResource);
765 }
766 
profilerDevShareCallback_DISPATCH(struct ProfilerDev * pGpuResource,struct RsClient * pInvokingClient,struct RsResourceRef * pParentRef,RS_SHARE_POLICY * pSharePolicy)767 static inline NvBool profilerDevShareCallback_DISPATCH(struct ProfilerDev *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) {
768     return pGpuResource->__profilerDevShareCallback__(pGpuResource, pInvokingClient, pParentRef, pSharePolicy);
769 }
770 
profilerDevCheckMemInterUnmap_DISPATCH(struct ProfilerDev * pRmResource,NvBool bSubdeviceHandleProvided)771 static inline NV_STATUS profilerDevCheckMemInterUnmap_DISPATCH(struct ProfilerDev *pRmResource, NvBool bSubdeviceHandleProvided) {
772     return pRmResource->__profilerDevCheckMemInterUnmap__(pRmResource, bSubdeviceHandleProvided);
773 }
774 
profilerDevMapTo_DISPATCH(struct ProfilerDev * pResource,RS_RES_MAP_TO_PARAMS * pParams)775 static inline NV_STATUS profilerDevMapTo_DISPATCH(struct ProfilerDev *pResource, RS_RES_MAP_TO_PARAMS *pParams) {
776     return pResource->__profilerDevMapTo__(pResource, pParams);
777 }
778 
profilerDevGetMapAddrSpace_DISPATCH(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,NvU32 mapFlags,NV_ADDRESS_SPACE * pAddrSpace)779 static inline NV_STATUS profilerDevGetMapAddrSpace_DISPATCH(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) {
780     return pGpuResource->__profilerDevGetMapAddrSpace__(pGpuResource, pCallContext, mapFlags, pAddrSpace);
781 }
782 
profilerDevGetRefCount_DISPATCH(struct ProfilerDev * pResource)783 static inline NvU32 profilerDevGetRefCount_DISPATCH(struct ProfilerDev *pResource) {
784     return pResource->__profilerDevGetRefCount__(pResource);
785 }
786 
profilerDevAddAdditionalDependants_DISPATCH(struct RsClient * pClient,struct ProfilerDev * pResource,RsResourceRef * pReference)787 static inline void profilerDevAddAdditionalDependants_DISPATCH(struct RsClient *pClient, struct ProfilerDev *pResource, RsResourceRef *pReference) {
788     pResource->__profilerDevAddAdditionalDependants__(pClient, pResource, pReference);
789 }
790 
profilerDevControl_Prologue_DISPATCH(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)791 static inline NV_STATUS profilerDevControl_Prologue_DISPATCH(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
792     return pResource->__profilerDevControl_Prologue__(pResource, pCallContext, pParams);
793 }
794 
profilerDevGetRegBaseOffsetAndSize_DISPATCH(struct ProfilerDev * pGpuResource,struct OBJGPU * pGpu,NvU32 * pOffset,NvU32 * pSize)795 static inline NV_STATUS profilerDevGetRegBaseOffsetAndSize_DISPATCH(struct ProfilerDev *pGpuResource, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) {
796     return pGpuResource->__profilerDevGetRegBaseOffsetAndSize__(pGpuResource, pGpu, pOffset, pSize);
797 }
798 
profilerDevInternalControlForward_DISPATCH(struct ProfilerDev * pGpuResource,NvU32 command,void * pParams,NvU32 size)799 static inline NV_STATUS profilerDevInternalControlForward_DISPATCH(struct ProfilerDev *pGpuResource, NvU32 command, void *pParams, NvU32 size) {
800     return pGpuResource->__profilerDevInternalControlForward__(pGpuResource, command, pParams, size);
801 }
802 
profilerDevUnmapFrom_DISPATCH(struct ProfilerDev * pResource,RS_RES_UNMAP_FROM_PARAMS * pParams)803 static inline NV_STATUS profilerDevUnmapFrom_DISPATCH(struct ProfilerDev *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) {
804     return pResource->__profilerDevUnmapFrom__(pResource, pParams);
805 }
806 
profilerDevControl_Epilogue_DISPATCH(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)807 static inline void profilerDevControl_Epilogue_DISPATCH(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
808     pResource->__profilerDevControl_Epilogue__(pResource, pCallContext, pParams);
809 }
810 
profilerDevGetInternalObjectHandle_DISPATCH(struct ProfilerDev * pGpuResource)811 static inline NvHandle profilerDevGetInternalObjectHandle_DISPATCH(struct ProfilerDev *pGpuResource) {
812     return pGpuResource->__profilerDevGetInternalObjectHandle__(pGpuResource);
813 }
814 
profilerDevControl_DISPATCH(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)815 static inline NV_STATUS profilerDevControl_DISPATCH(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
816     return pGpuResource->__profilerDevControl__(pGpuResource, pCallContext, pParams);
817 }
818 
profilerDevUnmap_DISPATCH(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RsCpuMapping * pCpuMapping)819 static inline NV_STATUS profilerDevUnmap_DISPATCH(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) {
820     return pGpuResource->__profilerDevUnmap__(pGpuResource, pCallContext, pCpuMapping);
821 }
822 
profilerDevGetMemInterMapParams_DISPATCH(struct ProfilerDev * pRmResource,RMRES_MEM_INTER_MAP_PARAMS * pParams)823 static inline NV_STATUS profilerDevGetMemInterMapParams_DISPATCH(struct ProfilerDev *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
824     return pRmResource->__profilerDevGetMemInterMapParams__(pRmResource, pParams);
825 }
826 
profilerDevGetMemoryMappingDescriptor_DISPATCH(struct ProfilerDev * pRmResource,struct MEMORY_DESCRIPTOR ** ppMemDesc)827 static inline NV_STATUS profilerDevGetMemoryMappingDescriptor_DISPATCH(struct ProfilerDev *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) {
828     return pRmResource->__profilerDevGetMemoryMappingDescriptor__(pRmResource, ppMemDesc);
829 }
830 
profilerDevControlFilter_DISPATCH(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)831 static inline NV_STATUS profilerDevControlFilter_DISPATCH(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
832     return pResource->__profilerDevControlFilter__(pResource, pCallContext, pParams);
833 }
834 
profilerDevControlSerialization_Prologue_DISPATCH(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)835 static inline NV_STATUS profilerDevControlSerialization_Prologue_DISPATCH(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
836     return pResource->__profilerDevControlSerialization_Prologue__(pResource, pCallContext, pParams);
837 }
838 
profilerDevCanCopy_DISPATCH(struct ProfilerDev * pResource)839 static inline NvBool profilerDevCanCopy_DISPATCH(struct ProfilerDev *pResource) {
840     return pResource->__profilerDevCanCopy__(pResource);
841 }
842 
profilerDevIsPartialUnmapSupported_DISPATCH(struct ProfilerDev * pResource)843 static inline NvBool profilerDevIsPartialUnmapSupported_DISPATCH(struct ProfilerDev *pResource) {
844     return pResource->__profilerDevIsPartialUnmapSupported__(pResource);
845 }
846 
profilerDevPreDestruct_DISPATCH(struct ProfilerDev * pResource)847 static inline void profilerDevPreDestruct_DISPATCH(struct ProfilerDev *pResource) {
848     pResource->__profilerDevPreDestruct__(pResource);
849 }
850 
profilerDevIsDuplicate_DISPATCH(struct ProfilerDev * pResource,NvHandle hMemory,NvBool * pDuplicate)851 static inline NV_STATUS profilerDevIsDuplicate_DISPATCH(struct ProfilerDev *pResource, NvHandle hMemory, NvBool *pDuplicate) {
852     return pResource->__profilerDevIsDuplicate__(pResource, hMemory, pDuplicate);
853 }
854 
profilerDevControlSerialization_Epilogue_DISPATCH(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)855 static inline void profilerDevControlSerialization_Epilogue_DISPATCH(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
856     pResource->__profilerDevControlSerialization_Epilogue__(pResource, pCallContext, pParams);
857 }
858 
profilerDevMap_DISPATCH(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_CPU_MAP_PARAMS * pParams,struct RsCpuMapping * pCpuMapping)859 static inline NV_STATUS profilerDevMap_DISPATCH(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) {
860     return pGpuResource->__profilerDevMap__(pGpuResource, pCallContext, pParams, pCpuMapping);
861 }
862 
profilerDevAccessCallback_DISPATCH(struct ProfilerDev * pResource,struct RsClient * pInvokingClient,void * pAllocParams,RsAccessRight accessRight)863 static inline NvBool profilerDevAccessCallback_DISPATCH(struct ProfilerDev *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) {
864     return pResource->__profilerDevAccessCallback__(pResource, pInvokingClient, pAllocParams, accessRight);
865 }
866 
867 NV_STATUS profilerDevConstruct_IMPL(struct ProfilerDev *arg_pResource, CALL_CONTEXT *arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL *arg_pParams);
868 
869 #define __nvoc_profilerDevConstruct(arg_pResource, arg_pCallContext, arg_pParams) profilerDevConstruct_IMPL(arg_pResource, arg_pCallContext, arg_pParams)
870 void profilerDevDestruct_IMPL(struct ProfilerDev *pResource);
871 
872 #define __nvoc_profilerDevDestruct(pResource) profilerDevDestruct_IMPL(pResource)
873 #undef PRIVATE_FIELD
874 
875 #endif // PROFILER_V2_H
876 
877 #ifdef __cplusplus
878 } // extern "C"
879 #endif
880 
881 #endif // _G_PROFILER_V2_NVOC_H_
882