1 #define NVOC_DISP_CHANNEL_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_disp_channel_nvoc.h"
9
10 #ifdef DEBUG
11 char __nvoc_class_id_uniqueness_check_0xbd2ff3 = 1;
12 #endif
13
14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_DispChannel;
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 extern const struct NVOC_CLASS_DEF __nvoc_class_def_INotifier;
27
28 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Notifier;
29
30 void __nvoc_init_DispChannel(DispChannel*);
31 void __nvoc_init_funcTable_DispChannel(DispChannel*);
32 NV_STATUS __nvoc_ctor_DispChannel(DispChannel*, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams, NvU32 arg_isDma);
33 void __nvoc_init_dataField_DispChannel(DispChannel*);
34 void __nvoc_dtor_DispChannel(DispChannel*);
35 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_DispChannel;
36
37 static const struct NVOC_RTTI __nvoc_rtti_DispChannel_DispChannel = {
38 /*pClassDef=*/ &__nvoc_class_def_DispChannel,
39 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_DispChannel,
40 /*offset=*/ 0,
41 };
42
43 static const struct NVOC_RTTI __nvoc_rtti_DispChannel_Object = {
44 /*pClassDef=*/ &__nvoc_class_def_Object,
45 /*dtor=*/ &__nvoc_destructFromBase,
46 /*offset=*/ NV_OFFSETOF(DispChannel, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object),
47 };
48
49 static const struct NVOC_RTTI __nvoc_rtti_DispChannel_RsResource = {
50 /*pClassDef=*/ &__nvoc_class_def_RsResource,
51 /*dtor=*/ &__nvoc_destructFromBase,
52 /*offset=*/ NV_OFFSETOF(DispChannel, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource),
53 };
54
55 static const struct NVOC_RTTI __nvoc_rtti_DispChannel_RmResourceCommon = {
56 /*pClassDef=*/ &__nvoc_class_def_RmResourceCommon,
57 /*dtor=*/ &__nvoc_destructFromBase,
58 /*offset=*/ NV_OFFSETOF(DispChannel, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon),
59 };
60
61 static const struct NVOC_RTTI __nvoc_rtti_DispChannel_RmResource = {
62 /*pClassDef=*/ &__nvoc_class_def_RmResource,
63 /*dtor=*/ &__nvoc_destructFromBase,
64 /*offset=*/ NV_OFFSETOF(DispChannel, __nvoc_base_GpuResource.__nvoc_base_RmResource),
65 };
66
67 static const struct NVOC_RTTI __nvoc_rtti_DispChannel_GpuResource = {
68 /*pClassDef=*/ &__nvoc_class_def_GpuResource,
69 /*dtor=*/ &__nvoc_destructFromBase,
70 /*offset=*/ NV_OFFSETOF(DispChannel, __nvoc_base_GpuResource),
71 };
72
73 static const struct NVOC_RTTI __nvoc_rtti_DispChannel_INotifier = {
74 /*pClassDef=*/ &__nvoc_class_def_INotifier,
75 /*dtor=*/ &__nvoc_destructFromBase,
76 /*offset=*/ NV_OFFSETOF(DispChannel, __nvoc_base_Notifier.__nvoc_base_INotifier),
77 };
78
79 static const struct NVOC_RTTI __nvoc_rtti_DispChannel_Notifier = {
80 /*pClassDef=*/ &__nvoc_class_def_Notifier,
81 /*dtor=*/ &__nvoc_destructFromBase,
82 /*offset=*/ NV_OFFSETOF(DispChannel, __nvoc_base_Notifier),
83 };
84
85 static const struct NVOC_CASTINFO __nvoc_castinfo_DispChannel = {
86 /*numRelatives=*/ 8,
87 /*relatives=*/ {
88 &__nvoc_rtti_DispChannel_DispChannel,
89 &__nvoc_rtti_DispChannel_Notifier,
90 &__nvoc_rtti_DispChannel_INotifier,
91 &__nvoc_rtti_DispChannel_GpuResource,
92 &__nvoc_rtti_DispChannel_RmResource,
93 &__nvoc_rtti_DispChannel_RmResourceCommon,
94 &__nvoc_rtti_DispChannel_RsResource,
95 &__nvoc_rtti_DispChannel_Object,
96 },
97 };
98
99 const struct NVOC_CLASS_DEF __nvoc_class_def_DispChannel =
100 {
101 /*classInfo=*/ {
102 /*size=*/ sizeof(DispChannel),
103 /*classId=*/ classId(DispChannel),
104 /*providerId=*/ &__nvoc_rtti_provider,
105 #if NV_PRINTF_STRINGS_ALLOWED
106 /*name=*/ "DispChannel",
107 #endif
108 },
109 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_DispChannel,
110 /*pCastInfo=*/ &__nvoc_castinfo_DispChannel,
111 /*pExportInfo=*/ &__nvoc_export_info_DispChannel
112 };
113
__nvoc_thunk_DispChannel_gpuresGetRegBaseOffsetAndSize(struct GpuResource * pDispChannel,struct OBJGPU * pGpu,NvU32 * pOffset,NvU32 * pSize)114 static NV_STATUS __nvoc_thunk_DispChannel_gpuresGetRegBaseOffsetAndSize(struct GpuResource *pDispChannel, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) {
115 return dispchnGetRegBaseOffsetAndSize((struct DispChannel *)(((unsigned char *)pDispChannel) - __nvoc_rtti_DispChannel_GpuResource.offset), pGpu, pOffset, pSize);
116 }
117
__nvoc_thunk_GpuResource_dispchnShareCallback(struct DispChannel * pGpuResource,struct RsClient * pInvokingClient,struct RsResourceRef * pParentRef,RS_SHARE_POLICY * pSharePolicy)118 static NvBool __nvoc_thunk_GpuResource_dispchnShareCallback(struct DispChannel *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) {
119 return gpuresShareCallback((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannel_GpuResource.offset), pInvokingClient, pParentRef, pSharePolicy);
120 }
121
__nvoc_thunk_RmResource_dispchnCheckMemInterUnmap(struct DispChannel * pRmResource,NvBool bSubdeviceHandleProvided)122 static NV_STATUS __nvoc_thunk_RmResource_dispchnCheckMemInterUnmap(struct DispChannel *pRmResource, NvBool bSubdeviceHandleProvided) {
123 return rmresCheckMemInterUnmap((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_DispChannel_RmResource.offset), bSubdeviceHandleProvided);
124 }
125
__nvoc_thunk_Notifier_dispchnGetOrAllocNotifShare(struct DispChannel * pNotifier,NvHandle hNotifierClient,NvHandle hNotifierResource,struct NotifShare ** ppNotifShare)126 static NV_STATUS __nvoc_thunk_Notifier_dispchnGetOrAllocNotifShare(struct DispChannel *pNotifier, NvHandle hNotifierClient, NvHandle hNotifierResource, struct NotifShare **ppNotifShare) {
127 return notifyGetOrAllocNotifShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannel_Notifier.offset), hNotifierClient, hNotifierResource, ppNotifShare);
128 }
129
__nvoc_thunk_RsResource_dispchnMapTo(struct DispChannel * pResource,RS_RES_MAP_TO_PARAMS * pParams)130 static NV_STATUS __nvoc_thunk_RsResource_dispchnMapTo(struct DispChannel *pResource, RS_RES_MAP_TO_PARAMS *pParams) {
131 return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RsResource.offset), pParams);
132 }
133
__nvoc_thunk_GpuResource_dispchnGetMapAddrSpace(struct DispChannel * pGpuResource,struct CALL_CONTEXT * pCallContext,NvU32 mapFlags,NV_ADDRESS_SPACE * pAddrSpace)134 static NV_STATUS __nvoc_thunk_GpuResource_dispchnGetMapAddrSpace(struct DispChannel *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) {
135 return gpuresGetMapAddrSpace((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannel_GpuResource.offset), pCallContext, mapFlags, pAddrSpace);
136 }
137
__nvoc_thunk_Notifier_dispchnSetNotificationShare(struct DispChannel * pNotifier,struct NotifShare * pNotifShare)138 static void __nvoc_thunk_Notifier_dispchnSetNotificationShare(struct DispChannel *pNotifier, struct NotifShare *pNotifShare) {
139 notifySetNotificationShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannel_Notifier.offset), pNotifShare);
140 }
141
__nvoc_thunk_RsResource_dispchnGetRefCount(struct DispChannel * pResource)142 static NvU32 __nvoc_thunk_RsResource_dispchnGetRefCount(struct DispChannel *pResource) {
143 return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RsResource.offset));
144 }
145
__nvoc_thunk_RsResource_dispchnAddAdditionalDependants(struct RsClient * pClient,struct DispChannel * pResource,RsResourceRef * pReference)146 static void __nvoc_thunk_RsResource_dispchnAddAdditionalDependants(struct RsClient *pClient, struct DispChannel *pResource, RsResourceRef *pReference) {
147 resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RsResource.offset), pReference);
148 }
149
__nvoc_thunk_RmResource_dispchnControl_Prologue(struct DispChannel * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)150 static NV_STATUS __nvoc_thunk_RmResource_dispchnControl_Prologue(struct DispChannel *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
151 return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RmResource.offset), pCallContext, pParams);
152 }
153
__nvoc_thunk_GpuResource_dispchnInternalControlForward(struct DispChannel * pGpuResource,NvU32 command,void * pParams,NvU32 size)154 static NV_STATUS __nvoc_thunk_GpuResource_dispchnInternalControlForward(struct DispChannel *pGpuResource, NvU32 command, void *pParams, NvU32 size) {
155 return gpuresInternalControlForward((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannel_GpuResource.offset), command, pParams, size);
156 }
157
__nvoc_thunk_RsResource_dispchnUnmapFrom(struct DispChannel * pResource,RS_RES_UNMAP_FROM_PARAMS * pParams)158 static NV_STATUS __nvoc_thunk_RsResource_dispchnUnmapFrom(struct DispChannel *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) {
159 return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RsResource.offset), pParams);
160 }
161
__nvoc_thunk_RmResource_dispchnControl_Epilogue(struct DispChannel * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)162 static void __nvoc_thunk_RmResource_dispchnControl_Epilogue(struct DispChannel *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
163 rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RmResource.offset), pCallContext, pParams);
164 }
165
__nvoc_thunk_GpuResource_dispchnGetInternalObjectHandle(struct DispChannel * pGpuResource)166 static NvHandle __nvoc_thunk_GpuResource_dispchnGetInternalObjectHandle(struct DispChannel *pGpuResource) {
167 return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannel_GpuResource.offset));
168 }
169
__nvoc_thunk_GpuResource_dispchnControl(struct DispChannel * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)170 static NV_STATUS __nvoc_thunk_GpuResource_dispchnControl(struct DispChannel *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
171 return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannel_GpuResource.offset), pCallContext, pParams);
172 }
173
__nvoc_thunk_GpuResource_dispchnUnmap(struct DispChannel * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RsCpuMapping * pCpuMapping)174 static NV_STATUS __nvoc_thunk_GpuResource_dispchnUnmap(struct DispChannel *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) {
175 return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannel_GpuResource.offset), pCallContext, pCpuMapping);
176 }
177
__nvoc_thunk_RmResource_dispchnGetMemInterMapParams(struct DispChannel * pRmResource,RMRES_MEM_INTER_MAP_PARAMS * pParams)178 static NV_STATUS __nvoc_thunk_RmResource_dispchnGetMemInterMapParams(struct DispChannel *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
179 return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_DispChannel_RmResource.offset), pParams);
180 }
181
__nvoc_thunk_RmResource_dispchnGetMemoryMappingDescriptor(struct DispChannel * pRmResource,struct MEMORY_DESCRIPTOR ** ppMemDesc)182 static NV_STATUS __nvoc_thunk_RmResource_dispchnGetMemoryMappingDescriptor(struct DispChannel *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) {
183 return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_DispChannel_RmResource.offset), ppMemDesc);
184 }
185
__nvoc_thunk_RsResource_dispchnControlFilter(struct DispChannel * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)186 static NV_STATUS __nvoc_thunk_RsResource_dispchnControlFilter(struct DispChannel *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
187 return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RsResource.offset), pCallContext, pParams);
188 }
189
__nvoc_thunk_Notifier_dispchnUnregisterEvent(struct DispChannel * pNotifier,NvHandle hNotifierClient,NvHandle hNotifierResource,NvHandle hEventClient,NvHandle hEvent)190 static NV_STATUS __nvoc_thunk_Notifier_dispchnUnregisterEvent(struct DispChannel *pNotifier, NvHandle hNotifierClient, NvHandle hNotifierResource, NvHandle hEventClient, NvHandle hEvent) {
191 return notifyUnregisterEvent((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannel_Notifier.offset), hNotifierClient, hNotifierResource, hEventClient, hEvent);
192 }
193
__nvoc_thunk_RmResource_dispchnControlSerialization_Prologue(struct DispChannel * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)194 static NV_STATUS __nvoc_thunk_RmResource_dispchnControlSerialization_Prologue(struct DispChannel *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
195 return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RmResource.offset), pCallContext, pParams);
196 }
197
__nvoc_thunk_RsResource_dispchnCanCopy(struct DispChannel * pResource)198 static NvBool __nvoc_thunk_RsResource_dispchnCanCopy(struct DispChannel *pResource) {
199 return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RsResource.offset));
200 }
201
__nvoc_thunk_RsResource_dispchnIsPartialUnmapSupported(struct DispChannel * pResource)202 static NvBool __nvoc_thunk_RsResource_dispchnIsPartialUnmapSupported(struct DispChannel *pResource) {
203 return resIsPartialUnmapSupported((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RsResource.offset));
204 }
205
__nvoc_thunk_RsResource_dispchnPreDestruct(struct DispChannel * pResource)206 static void __nvoc_thunk_RsResource_dispchnPreDestruct(struct DispChannel *pResource) {
207 resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RsResource.offset));
208 }
209
__nvoc_thunk_RsResource_dispchnIsDuplicate(struct DispChannel * pResource,NvHandle hMemory,NvBool * pDuplicate)210 static NV_STATUS __nvoc_thunk_RsResource_dispchnIsDuplicate(struct DispChannel *pResource, NvHandle hMemory, NvBool *pDuplicate) {
211 return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RsResource.offset), hMemory, pDuplicate);
212 }
213
__nvoc_thunk_RmResource_dispchnControlSerialization_Epilogue(struct DispChannel * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)214 static void __nvoc_thunk_RmResource_dispchnControlSerialization_Epilogue(struct DispChannel *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
215 rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RmResource.offset), pCallContext, pParams);
216 }
217
__nvoc_thunk_Notifier_dispchnGetNotificationListPtr(struct DispChannel * pNotifier)218 static PEVENTNOTIFICATION *__nvoc_thunk_Notifier_dispchnGetNotificationListPtr(struct DispChannel *pNotifier) {
219 return notifyGetNotificationListPtr((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannel_Notifier.offset));
220 }
221
__nvoc_thunk_Notifier_dispchnGetNotificationShare(struct DispChannel * pNotifier)222 static struct NotifShare *__nvoc_thunk_Notifier_dispchnGetNotificationShare(struct DispChannel *pNotifier) {
223 return notifyGetNotificationShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannel_Notifier.offset));
224 }
225
__nvoc_thunk_GpuResource_dispchnMap(struct DispChannel * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_CPU_MAP_PARAMS * pParams,struct RsCpuMapping * pCpuMapping)226 static NV_STATUS __nvoc_thunk_GpuResource_dispchnMap(struct DispChannel *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) {
227 return gpuresMap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannel_GpuResource.offset), pCallContext, pParams, pCpuMapping);
228 }
229
__nvoc_thunk_RmResource_dispchnAccessCallback(struct DispChannel * pResource,struct RsClient * pInvokingClient,void * pAllocParams,RsAccessRight accessRight)230 static NvBool __nvoc_thunk_RmResource_dispchnAccessCallback(struct DispChannel *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) {
231 return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannel_RmResource.offset), pInvokingClient, pAllocParams, accessRight);
232 }
233
234 const struct NVOC_EXPORT_INFO __nvoc_export_info_DispChannel =
235 {
236 /*numEntries=*/ 0,
237 /*pExportEntries=*/ 0
238 };
239
240 void __nvoc_dtor_GpuResource(GpuResource*);
241 void __nvoc_dtor_Notifier(Notifier*);
__nvoc_dtor_DispChannel(DispChannel * pThis)242 void __nvoc_dtor_DispChannel(DispChannel *pThis) {
243 __nvoc_dispchnDestruct(pThis);
244 __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource);
245 __nvoc_dtor_Notifier(&pThis->__nvoc_base_Notifier);
246 PORT_UNREFERENCED_VARIABLE(pThis);
247 }
248
__nvoc_init_dataField_DispChannel(DispChannel * pThis)249 void __nvoc_init_dataField_DispChannel(DispChannel *pThis) {
250 PORT_UNREFERENCED_VARIABLE(pThis);
251 }
252
253 NV_STATUS __nvoc_ctor_GpuResource(GpuResource* , struct CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
254 NV_STATUS __nvoc_ctor_Notifier(Notifier* , struct CALL_CONTEXT *);
__nvoc_ctor_DispChannel(DispChannel * pThis,struct CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams,NvU32 arg_isDma)255 NV_STATUS __nvoc_ctor_DispChannel(DispChannel *pThis, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams, NvU32 arg_isDma) {
256 NV_STATUS status = NV_OK;
257 status = __nvoc_ctor_GpuResource(&pThis->__nvoc_base_GpuResource, arg_pCallContext, arg_pParams);
258 if (status != NV_OK) goto __nvoc_ctor_DispChannel_fail_GpuResource;
259 status = __nvoc_ctor_Notifier(&pThis->__nvoc_base_Notifier, arg_pCallContext);
260 if (status != NV_OK) goto __nvoc_ctor_DispChannel_fail_Notifier;
261 __nvoc_init_dataField_DispChannel(pThis);
262
263 status = __nvoc_dispchnConstruct(pThis, arg_pCallContext, arg_pParams, arg_isDma);
264 if (status != NV_OK) goto __nvoc_ctor_DispChannel_fail__init;
265 goto __nvoc_ctor_DispChannel_exit; // Success
266
267 __nvoc_ctor_DispChannel_fail__init:
268 __nvoc_dtor_Notifier(&pThis->__nvoc_base_Notifier);
269 __nvoc_ctor_DispChannel_fail_Notifier:
270 __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource);
271 __nvoc_ctor_DispChannel_fail_GpuResource:
272 __nvoc_ctor_DispChannel_exit:
273
274 return status;
275 }
276
__nvoc_init_funcTable_DispChannel_1(DispChannel * pThis)277 static void __nvoc_init_funcTable_DispChannel_1(DispChannel *pThis) {
278 PORT_UNREFERENCED_VARIABLE(pThis);
279
280 pThis->__dispchnGetRegBaseOffsetAndSize__ = &dispchnGetRegBaseOffsetAndSize_IMPL;
281
282 pThis->__nvoc_base_GpuResource.__gpuresGetRegBaseOffsetAndSize__ = &__nvoc_thunk_DispChannel_gpuresGetRegBaseOffsetAndSize;
283
284 pThis->__dispchnShareCallback__ = &__nvoc_thunk_GpuResource_dispchnShareCallback;
285
286 pThis->__dispchnCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_dispchnCheckMemInterUnmap;
287
288 pThis->__dispchnGetOrAllocNotifShare__ = &__nvoc_thunk_Notifier_dispchnGetOrAllocNotifShare;
289
290 pThis->__dispchnMapTo__ = &__nvoc_thunk_RsResource_dispchnMapTo;
291
292 pThis->__dispchnGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_dispchnGetMapAddrSpace;
293
294 pThis->__dispchnSetNotificationShare__ = &__nvoc_thunk_Notifier_dispchnSetNotificationShare;
295
296 pThis->__dispchnGetRefCount__ = &__nvoc_thunk_RsResource_dispchnGetRefCount;
297
298 pThis->__dispchnAddAdditionalDependants__ = &__nvoc_thunk_RsResource_dispchnAddAdditionalDependants;
299
300 pThis->__dispchnControl_Prologue__ = &__nvoc_thunk_RmResource_dispchnControl_Prologue;
301
302 pThis->__dispchnInternalControlForward__ = &__nvoc_thunk_GpuResource_dispchnInternalControlForward;
303
304 pThis->__dispchnUnmapFrom__ = &__nvoc_thunk_RsResource_dispchnUnmapFrom;
305
306 pThis->__dispchnControl_Epilogue__ = &__nvoc_thunk_RmResource_dispchnControl_Epilogue;
307
308 pThis->__dispchnGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_dispchnGetInternalObjectHandle;
309
310 pThis->__dispchnControl__ = &__nvoc_thunk_GpuResource_dispchnControl;
311
312 pThis->__dispchnUnmap__ = &__nvoc_thunk_GpuResource_dispchnUnmap;
313
314 pThis->__dispchnGetMemInterMapParams__ = &__nvoc_thunk_RmResource_dispchnGetMemInterMapParams;
315
316 pThis->__dispchnGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_dispchnGetMemoryMappingDescriptor;
317
318 pThis->__dispchnControlFilter__ = &__nvoc_thunk_RsResource_dispchnControlFilter;
319
320 pThis->__dispchnUnregisterEvent__ = &__nvoc_thunk_Notifier_dispchnUnregisterEvent;
321
322 pThis->__dispchnControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_dispchnControlSerialization_Prologue;
323
324 pThis->__dispchnCanCopy__ = &__nvoc_thunk_RsResource_dispchnCanCopy;
325
326 pThis->__dispchnIsPartialUnmapSupported__ = &__nvoc_thunk_RsResource_dispchnIsPartialUnmapSupported;
327
328 pThis->__dispchnPreDestruct__ = &__nvoc_thunk_RsResource_dispchnPreDestruct;
329
330 pThis->__dispchnIsDuplicate__ = &__nvoc_thunk_RsResource_dispchnIsDuplicate;
331
332 pThis->__dispchnControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_dispchnControlSerialization_Epilogue;
333
334 pThis->__dispchnGetNotificationListPtr__ = &__nvoc_thunk_Notifier_dispchnGetNotificationListPtr;
335
336 pThis->__dispchnGetNotificationShare__ = &__nvoc_thunk_Notifier_dispchnGetNotificationShare;
337
338 pThis->__dispchnMap__ = &__nvoc_thunk_GpuResource_dispchnMap;
339
340 pThis->__dispchnAccessCallback__ = &__nvoc_thunk_RmResource_dispchnAccessCallback;
341 }
342
__nvoc_init_funcTable_DispChannel(DispChannel * pThis)343 void __nvoc_init_funcTable_DispChannel(DispChannel *pThis) {
344 __nvoc_init_funcTable_DispChannel_1(pThis);
345 }
346
347 void __nvoc_init_GpuResource(GpuResource*);
348 void __nvoc_init_Notifier(Notifier*);
__nvoc_init_DispChannel(DispChannel * pThis)349 void __nvoc_init_DispChannel(DispChannel *pThis) {
350 pThis->__nvoc_pbase_DispChannel = pThis;
351 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object;
352 pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource;
353 pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon;
354 pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource;
355 pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_GpuResource;
356 pThis->__nvoc_pbase_INotifier = &pThis->__nvoc_base_Notifier.__nvoc_base_INotifier;
357 pThis->__nvoc_pbase_Notifier = &pThis->__nvoc_base_Notifier;
358 __nvoc_init_GpuResource(&pThis->__nvoc_base_GpuResource);
359 __nvoc_init_Notifier(&pThis->__nvoc_base_Notifier);
360 __nvoc_init_funcTable_DispChannel(pThis);
361 }
362
__nvoc_objCreate_DispChannel(DispChannel ** ppThis,Dynamic * pParent,NvU32 createFlags,struct CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams,NvU32 arg_isDma)363 NV_STATUS __nvoc_objCreate_DispChannel(DispChannel **ppThis, Dynamic *pParent, NvU32 createFlags, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams, NvU32 arg_isDma)
364 {
365 NV_STATUS status;
366 Object *pParentObj = NULL;
367 DispChannel *pThis;
368
369 // Assign `pThis`, allocating memory unless suppressed by flag.
370 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(DispChannel), (void**)&pThis, (void**)ppThis);
371 if (status != NV_OK)
372 return status;
373
374 // Zero is the initial value for everything.
375 portMemSet(pThis, 0, sizeof(DispChannel));
376
377 // Initialize runtime type information.
378 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_DispChannel);
379
380 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags;
381
382 // Link the child into the parent if there is one unless flagged not to do so.
383 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
384 {
385 pParentObj = dynamicCast(pParent, Object);
386 objAddChild(pParentObj, &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
387 }
388 else
389 {
390 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL;
391 }
392
393 __nvoc_init_DispChannel(pThis);
394 status = __nvoc_ctor_DispChannel(pThis, arg_pCallContext, arg_pParams, arg_isDma);
395 if (status != NV_OK) goto __nvoc_objCreate_DispChannel_cleanup;
396
397 // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
398 *ppThis = pThis;
399
400 return NV_OK;
401
402 __nvoc_objCreate_DispChannel_cleanup:
403
404 // Unlink the child from the parent if it was linked above.
405 if (pParentObj != NULL)
406 objRemoveChild(pParentObj, &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
407
408 // Do not call destructors here since the constructor already called them.
409 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
410 portMemSet(pThis, 0, sizeof(DispChannel));
411 else
412 {
413 portMemFree(pThis);
414 *ppThis = NULL;
415 }
416
417 // coverity[leaked_storage:FALSE]
418 return status;
419 }
420
__nvoc_objCreateDynamic_DispChannel(DispChannel ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)421 NV_STATUS __nvoc_objCreateDynamic_DispChannel(DispChannel **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
422 NV_STATUS status;
423 struct CALL_CONTEXT * arg_pCallContext = va_arg(args, struct CALL_CONTEXT *);
424 struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
425 NvU32 arg_isDma = va_arg(args, NvU32);
426
427 status = __nvoc_objCreate_DispChannel(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams, arg_isDma);
428
429 return status;
430 }
431
432 #ifdef DEBUG
433 char __nvoc_class_id_uniqueness_check_0x10dec3 = 1;
434 #endif
435
436 extern const struct NVOC_CLASS_DEF __nvoc_class_def_DispChannelPio;
437
438 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object;
439
440 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsResource;
441
442 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResourceCommon;
443
444 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResource;
445
446 extern const struct NVOC_CLASS_DEF __nvoc_class_def_GpuResource;
447
448 extern const struct NVOC_CLASS_DEF __nvoc_class_def_INotifier;
449
450 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Notifier;
451
452 extern const struct NVOC_CLASS_DEF __nvoc_class_def_DispChannel;
453
454 void __nvoc_init_DispChannelPio(DispChannelPio*);
455 void __nvoc_init_funcTable_DispChannelPio(DispChannelPio*);
456 NV_STATUS __nvoc_ctor_DispChannelPio(DispChannelPio*, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams);
457 void __nvoc_init_dataField_DispChannelPio(DispChannelPio*);
458 void __nvoc_dtor_DispChannelPio(DispChannelPio*);
459 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_DispChannelPio;
460
461 static const struct NVOC_RTTI __nvoc_rtti_DispChannelPio_DispChannelPio = {
462 /*pClassDef=*/ &__nvoc_class_def_DispChannelPio,
463 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_DispChannelPio,
464 /*offset=*/ 0,
465 };
466
467 static const struct NVOC_RTTI __nvoc_rtti_DispChannelPio_Object = {
468 /*pClassDef=*/ &__nvoc_class_def_Object,
469 /*dtor=*/ &__nvoc_destructFromBase,
470 /*offset=*/ NV_OFFSETOF(DispChannelPio, __nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object),
471 };
472
473 static const struct NVOC_RTTI __nvoc_rtti_DispChannelPio_RsResource = {
474 /*pClassDef=*/ &__nvoc_class_def_RsResource,
475 /*dtor=*/ &__nvoc_destructFromBase,
476 /*offset=*/ NV_OFFSETOF(DispChannelPio, __nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource),
477 };
478
479 static const struct NVOC_RTTI __nvoc_rtti_DispChannelPio_RmResourceCommon = {
480 /*pClassDef=*/ &__nvoc_class_def_RmResourceCommon,
481 /*dtor=*/ &__nvoc_destructFromBase,
482 /*offset=*/ NV_OFFSETOF(DispChannelPio, __nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon),
483 };
484
485 static const struct NVOC_RTTI __nvoc_rtti_DispChannelPio_RmResource = {
486 /*pClassDef=*/ &__nvoc_class_def_RmResource,
487 /*dtor=*/ &__nvoc_destructFromBase,
488 /*offset=*/ NV_OFFSETOF(DispChannelPio, __nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource),
489 };
490
491 static const struct NVOC_RTTI __nvoc_rtti_DispChannelPio_GpuResource = {
492 /*pClassDef=*/ &__nvoc_class_def_GpuResource,
493 /*dtor=*/ &__nvoc_destructFromBase,
494 /*offset=*/ NV_OFFSETOF(DispChannelPio, __nvoc_base_DispChannel.__nvoc_base_GpuResource),
495 };
496
497 static const struct NVOC_RTTI __nvoc_rtti_DispChannelPio_INotifier = {
498 /*pClassDef=*/ &__nvoc_class_def_INotifier,
499 /*dtor=*/ &__nvoc_destructFromBase,
500 /*offset=*/ NV_OFFSETOF(DispChannelPio, __nvoc_base_DispChannel.__nvoc_base_Notifier.__nvoc_base_INotifier),
501 };
502
503 static const struct NVOC_RTTI __nvoc_rtti_DispChannelPio_Notifier = {
504 /*pClassDef=*/ &__nvoc_class_def_Notifier,
505 /*dtor=*/ &__nvoc_destructFromBase,
506 /*offset=*/ NV_OFFSETOF(DispChannelPio, __nvoc_base_DispChannel.__nvoc_base_Notifier),
507 };
508
509 static const struct NVOC_RTTI __nvoc_rtti_DispChannelPio_DispChannel = {
510 /*pClassDef=*/ &__nvoc_class_def_DispChannel,
511 /*dtor=*/ &__nvoc_destructFromBase,
512 /*offset=*/ NV_OFFSETOF(DispChannelPio, __nvoc_base_DispChannel),
513 };
514
515 static const struct NVOC_CASTINFO __nvoc_castinfo_DispChannelPio = {
516 /*numRelatives=*/ 9,
517 /*relatives=*/ {
518 &__nvoc_rtti_DispChannelPio_DispChannelPio,
519 &__nvoc_rtti_DispChannelPio_DispChannel,
520 &__nvoc_rtti_DispChannelPio_Notifier,
521 &__nvoc_rtti_DispChannelPio_INotifier,
522 &__nvoc_rtti_DispChannelPio_GpuResource,
523 &__nvoc_rtti_DispChannelPio_RmResource,
524 &__nvoc_rtti_DispChannelPio_RmResourceCommon,
525 &__nvoc_rtti_DispChannelPio_RsResource,
526 &__nvoc_rtti_DispChannelPio_Object,
527 },
528 };
529
530 const struct NVOC_CLASS_DEF __nvoc_class_def_DispChannelPio =
531 {
532 /*classInfo=*/ {
533 /*size=*/ sizeof(DispChannelPio),
534 /*classId=*/ classId(DispChannelPio),
535 /*providerId=*/ &__nvoc_rtti_provider,
536 #if NV_PRINTF_STRINGS_ALLOWED
537 /*name=*/ "DispChannelPio",
538 #endif
539 },
540 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_DispChannelPio,
541 /*pCastInfo=*/ &__nvoc_castinfo_DispChannelPio,
542 /*pExportInfo=*/ &__nvoc_export_info_DispChannelPio
543 };
544
__nvoc_thunk_GpuResource_dispchnpioShareCallback(struct DispChannelPio * pGpuResource,struct RsClient * pInvokingClient,struct RsResourceRef * pParentRef,RS_SHARE_POLICY * pSharePolicy)545 static NvBool __nvoc_thunk_GpuResource_dispchnpioShareCallback(struct DispChannelPio *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) {
546 return gpuresShareCallback((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelPio_GpuResource.offset), pInvokingClient, pParentRef, pSharePolicy);
547 }
548
__nvoc_thunk_RmResource_dispchnpioCheckMemInterUnmap(struct DispChannelPio * pRmResource,NvBool bSubdeviceHandleProvided)549 static NV_STATUS __nvoc_thunk_RmResource_dispchnpioCheckMemInterUnmap(struct DispChannelPio *pRmResource, NvBool bSubdeviceHandleProvided) {
550 return rmresCheckMemInterUnmap((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_DispChannelPio_RmResource.offset), bSubdeviceHandleProvided);
551 }
552
__nvoc_thunk_Notifier_dispchnpioGetOrAllocNotifShare(struct DispChannelPio * pNotifier,NvHandle hNotifierClient,NvHandle hNotifierResource,struct NotifShare ** ppNotifShare)553 static NV_STATUS __nvoc_thunk_Notifier_dispchnpioGetOrAllocNotifShare(struct DispChannelPio *pNotifier, NvHandle hNotifierClient, NvHandle hNotifierResource, struct NotifShare **ppNotifShare) {
554 return notifyGetOrAllocNotifShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannelPio_Notifier.offset), hNotifierClient, hNotifierResource, ppNotifShare);
555 }
556
__nvoc_thunk_RsResource_dispchnpioMapTo(struct DispChannelPio * pResource,RS_RES_MAP_TO_PARAMS * pParams)557 static NV_STATUS __nvoc_thunk_RsResource_dispchnpioMapTo(struct DispChannelPio *pResource, RS_RES_MAP_TO_PARAMS *pParams) {
558 return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RsResource.offset), pParams);
559 }
560
__nvoc_thunk_GpuResource_dispchnpioGetMapAddrSpace(struct DispChannelPio * pGpuResource,struct CALL_CONTEXT * pCallContext,NvU32 mapFlags,NV_ADDRESS_SPACE * pAddrSpace)561 static NV_STATUS __nvoc_thunk_GpuResource_dispchnpioGetMapAddrSpace(struct DispChannelPio *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) {
562 return gpuresGetMapAddrSpace((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelPio_GpuResource.offset), pCallContext, mapFlags, pAddrSpace);
563 }
564
__nvoc_thunk_Notifier_dispchnpioSetNotificationShare(struct DispChannelPio * pNotifier,struct NotifShare * pNotifShare)565 static void __nvoc_thunk_Notifier_dispchnpioSetNotificationShare(struct DispChannelPio *pNotifier, struct NotifShare *pNotifShare) {
566 notifySetNotificationShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannelPio_Notifier.offset), pNotifShare);
567 }
568
__nvoc_thunk_RsResource_dispchnpioGetRefCount(struct DispChannelPio * pResource)569 static NvU32 __nvoc_thunk_RsResource_dispchnpioGetRefCount(struct DispChannelPio *pResource) {
570 return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RsResource.offset));
571 }
572
__nvoc_thunk_RsResource_dispchnpioAddAdditionalDependants(struct RsClient * pClient,struct DispChannelPio * pResource,RsResourceRef * pReference)573 static void __nvoc_thunk_RsResource_dispchnpioAddAdditionalDependants(struct RsClient *pClient, struct DispChannelPio *pResource, RsResourceRef *pReference) {
574 resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RsResource.offset), pReference);
575 }
576
__nvoc_thunk_RmResource_dispchnpioControl_Prologue(struct DispChannelPio * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)577 static NV_STATUS __nvoc_thunk_RmResource_dispchnpioControl_Prologue(struct DispChannelPio *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
578 return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RmResource.offset), pCallContext, pParams);
579 }
580
__nvoc_thunk_DispChannel_dispchnpioGetRegBaseOffsetAndSize(struct DispChannelPio * pDispChannel,struct OBJGPU * pGpu,NvU32 * pOffset,NvU32 * pSize)581 static NV_STATUS __nvoc_thunk_DispChannel_dispchnpioGetRegBaseOffsetAndSize(struct DispChannelPio *pDispChannel, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) {
582 return dispchnGetRegBaseOffsetAndSize((struct DispChannel *)(((unsigned char *)pDispChannel) + __nvoc_rtti_DispChannelPio_DispChannel.offset), pGpu, pOffset, pSize);
583 }
584
__nvoc_thunk_GpuResource_dispchnpioInternalControlForward(struct DispChannelPio * pGpuResource,NvU32 command,void * pParams,NvU32 size)585 static NV_STATUS __nvoc_thunk_GpuResource_dispchnpioInternalControlForward(struct DispChannelPio *pGpuResource, NvU32 command, void *pParams, NvU32 size) {
586 return gpuresInternalControlForward((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelPio_GpuResource.offset), command, pParams, size);
587 }
588
__nvoc_thunk_RsResource_dispchnpioUnmapFrom(struct DispChannelPio * pResource,RS_RES_UNMAP_FROM_PARAMS * pParams)589 static NV_STATUS __nvoc_thunk_RsResource_dispchnpioUnmapFrom(struct DispChannelPio *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) {
590 return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RsResource.offset), pParams);
591 }
592
__nvoc_thunk_RmResource_dispchnpioControl_Epilogue(struct DispChannelPio * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)593 static void __nvoc_thunk_RmResource_dispchnpioControl_Epilogue(struct DispChannelPio *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
594 rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RmResource.offset), pCallContext, pParams);
595 }
596
__nvoc_thunk_GpuResource_dispchnpioGetInternalObjectHandle(struct DispChannelPio * pGpuResource)597 static NvHandle __nvoc_thunk_GpuResource_dispchnpioGetInternalObjectHandle(struct DispChannelPio *pGpuResource) {
598 return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelPio_GpuResource.offset));
599 }
600
__nvoc_thunk_GpuResource_dispchnpioControl(struct DispChannelPio * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)601 static NV_STATUS __nvoc_thunk_GpuResource_dispchnpioControl(struct DispChannelPio *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
602 return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelPio_GpuResource.offset), pCallContext, pParams);
603 }
604
__nvoc_thunk_GpuResource_dispchnpioUnmap(struct DispChannelPio * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RsCpuMapping * pCpuMapping)605 static NV_STATUS __nvoc_thunk_GpuResource_dispchnpioUnmap(struct DispChannelPio *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) {
606 return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelPio_GpuResource.offset), pCallContext, pCpuMapping);
607 }
608
__nvoc_thunk_RmResource_dispchnpioGetMemInterMapParams(struct DispChannelPio * pRmResource,RMRES_MEM_INTER_MAP_PARAMS * pParams)609 static NV_STATUS __nvoc_thunk_RmResource_dispchnpioGetMemInterMapParams(struct DispChannelPio *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
610 return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_DispChannelPio_RmResource.offset), pParams);
611 }
612
__nvoc_thunk_RmResource_dispchnpioGetMemoryMappingDescriptor(struct DispChannelPio * pRmResource,struct MEMORY_DESCRIPTOR ** ppMemDesc)613 static NV_STATUS __nvoc_thunk_RmResource_dispchnpioGetMemoryMappingDescriptor(struct DispChannelPio *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) {
614 return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_DispChannelPio_RmResource.offset), ppMemDesc);
615 }
616
__nvoc_thunk_RsResource_dispchnpioControlFilter(struct DispChannelPio * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)617 static NV_STATUS __nvoc_thunk_RsResource_dispchnpioControlFilter(struct DispChannelPio *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
618 return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RsResource.offset), pCallContext, pParams);
619 }
620
__nvoc_thunk_Notifier_dispchnpioUnregisterEvent(struct DispChannelPio * pNotifier,NvHandle hNotifierClient,NvHandle hNotifierResource,NvHandle hEventClient,NvHandle hEvent)621 static NV_STATUS __nvoc_thunk_Notifier_dispchnpioUnregisterEvent(struct DispChannelPio *pNotifier, NvHandle hNotifierClient, NvHandle hNotifierResource, NvHandle hEventClient, NvHandle hEvent) {
622 return notifyUnregisterEvent((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannelPio_Notifier.offset), hNotifierClient, hNotifierResource, hEventClient, hEvent);
623 }
624
__nvoc_thunk_RmResource_dispchnpioControlSerialization_Prologue(struct DispChannelPio * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)625 static NV_STATUS __nvoc_thunk_RmResource_dispchnpioControlSerialization_Prologue(struct DispChannelPio *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
626 return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RmResource.offset), pCallContext, pParams);
627 }
628
__nvoc_thunk_RsResource_dispchnpioCanCopy(struct DispChannelPio * pResource)629 static NvBool __nvoc_thunk_RsResource_dispchnpioCanCopy(struct DispChannelPio *pResource) {
630 return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RsResource.offset));
631 }
632
__nvoc_thunk_RsResource_dispchnpioIsPartialUnmapSupported(struct DispChannelPio * pResource)633 static NvBool __nvoc_thunk_RsResource_dispchnpioIsPartialUnmapSupported(struct DispChannelPio *pResource) {
634 return resIsPartialUnmapSupported((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RsResource.offset));
635 }
636
__nvoc_thunk_RsResource_dispchnpioPreDestruct(struct DispChannelPio * pResource)637 static void __nvoc_thunk_RsResource_dispchnpioPreDestruct(struct DispChannelPio *pResource) {
638 resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RsResource.offset));
639 }
640
__nvoc_thunk_RsResource_dispchnpioIsDuplicate(struct DispChannelPio * pResource,NvHandle hMemory,NvBool * pDuplicate)641 static NV_STATUS __nvoc_thunk_RsResource_dispchnpioIsDuplicate(struct DispChannelPio *pResource, NvHandle hMemory, NvBool *pDuplicate) {
642 return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RsResource.offset), hMemory, pDuplicate);
643 }
644
__nvoc_thunk_RmResource_dispchnpioControlSerialization_Epilogue(struct DispChannelPio * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)645 static void __nvoc_thunk_RmResource_dispchnpioControlSerialization_Epilogue(struct DispChannelPio *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
646 rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RmResource.offset), pCallContext, pParams);
647 }
648
__nvoc_thunk_Notifier_dispchnpioGetNotificationListPtr(struct DispChannelPio * pNotifier)649 static PEVENTNOTIFICATION *__nvoc_thunk_Notifier_dispchnpioGetNotificationListPtr(struct DispChannelPio *pNotifier) {
650 return notifyGetNotificationListPtr((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannelPio_Notifier.offset));
651 }
652
__nvoc_thunk_Notifier_dispchnpioGetNotificationShare(struct DispChannelPio * pNotifier)653 static struct NotifShare *__nvoc_thunk_Notifier_dispchnpioGetNotificationShare(struct DispChannelPio *pNotifier) {
654 return notifyGetNotificationShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannelPio_Notifier.offset));
655 }
656
__nvoc_thunk_GpuResource_dispchnpioMap(struct DispChannelPio * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_CPU_MAP_PARAMS * pParams,struct RsCpuMapping * pCpuMapping)657 static NV_STATUS __nvoc_thunk_GpuResource_dispchnpioMap(struct DispChannelPio *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) {
658 return gpuresMap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelPio_GpuResource.offset), pCallContext, pParams, pCpuMapping);
659 }
660
__nvoc_thunk_RmResource_dispchnpioAccessCallback(struct DispChannelPio * pResource,struct RsClient * pInvokingClient,void * pAllocParams,RsAccessRight accessRight)661 static NvBool __nvoc_thunk_RmResource_dispchnpioAccessCallback(struct DispChannelPio *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) {
662 return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelPio_RmResource.offset), pInvokingClient, pAllocParams, accessRight);
663 }
664
665 const struct NVOC_EXPORT_INFO __nvoc_export_info_DispChannelPio =
666 {
667 /*numEntries=*/ 0,
668 /*pExportEntries=*/ 0
669 };
670
671 void __nvoc_dtor_DispChannel(DispChannel*);
__nvoc_dtor_DispChannelPio(DispChannelPio * pThis)672 void __nvoc_dtor_DispChannelPio(DispChannelPio *pThis) {
673 __nvoc_dtor_DispChannel(&pThis->__nvoc_base_DispChannel);
674 PORT_UNREFERENCED_VARIABLE(pThis);
675 }
676
__nvoc_init_dataField_DispChannelPio(DispChannelPio * pThis)677 void __nvoc_init_dataField_DispChannelPio(DispChannelPio *pThis) {
678 PORT_UNREFERENCED_VARIABLE(pThis);
679 }
680
681 NV_STATUS __nvoc_ctor_DispChannel(DispChannel* , struct CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *, NvU32);
__nvoc_ctor_DispChannelPio(DispChannelPio * pThis,struct CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)682 NV_STATUS __nvoc_ctor_DispChannelPio(DispChannelPio *pThis, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) {
683 NV_STATUS status = NV_OK;
684 status = __nvoc_ctor_DispChannel(&pThis->__nvoc_base_DispChannel, arg_pCallContext, arg_pParams, ((NvBool)(0 != 0)));
685 if (status != NV_OK) goto __nvoc_ctor_DispChannelPio_fail_DispChannel;
686 __nvoc_init_dataField_DispChannelPio(pThis);
687
688 status = __nvoc_dispchnpioConstruct(pThis, arg_pCallContext, arg_pParams);
689 if (status != NV_OK) goto __nvoc_ctor_DispChannelPio_fail__init;
690 goto __nvoc_ctor_DispChannelPio_exit; // Success
691
692 __nvoc_ctor_DispChannelPio_fail__init:
693 __nvoc_dtor_DispChannel(&pThis->__nvoc_base_DispChannel);
694 __nvoc_ctor_DispChannelPio_fail_DispChannel:
695 __nvoc_ctor_DispChannelPio_exit:
696
697 return status;
698 }
699
__nvoc_init_funcTable_DispChannelPio_1(DispChannelPio * pThis)700 static void __nvoc_init_funcTable_DispChannelPio_1(DispChannelPio *pThis) {
701 PORT_UNREFERENCED_VARIABLE(pThis);
702
703 pThis->__dispchnpioShareCallback__ = &__nvoc_thunk_GpuResource_dispchnpioShareCallback;
704
705 pThis->__dispchnpioCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_dispchnpioCheckMemInterUnmap;
706
707 pThis->__dispchnpioGetOrAllocNotifShare__ = &__nvoc_thunk_Notifier_dispchnpioGetOrAllocNotifShare;
708
709 pThis->__dispchnpioMapTo__ = &__nvoc_thunk_RsResource_dispchnpioMapTo;
710
711 pThis->__dispchnpioGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_dispchnpioGetMapAddrSpace;
712
713 pThis->__dispchnpioSetNotificationShare__ = &__nvoc_thunk_Notifier_dispchnpioSetNotificationShare;
714
715 pThis->__dispchnpioGetRefCount__ = &__nvoc_thunk_RsResource_dispchnpioGetRefCount;
716
717 pThis->__dispchnpioAddAdditionalDependants__ = &__nvoc_thunk_RsResource_dispchnpioAddAdditionalDependants;
718
719 pThis->__dispchnpioControl_Prologue__ = &__nvoc_thunk_RmResource_dispchnpioControl_Prologue;
720
721 pThis->__dispchnpioGetRegBaseOffsetAndSize__ = &__nvoc_thunk_DispChannel_dispchnpioGetRegBaseOffsetAndSize;
722
723 pThis->__dispchnpioInternalControlForward__ = &__nvoc_thunk_GpuResource_dispchnpioInternalControlForward;
724
725 pThis->__dispchnpioUnmapFrom__ = &__nvoc_thunk_RsResource_dispchnpioUnmapFrom;
726
727 pThis->__dispchnpioControl_Epilogue__ = &__nvoc_thunk_RmResource_dispchnpioControl_Epilogue;
728
729 pThis->__dispchnpioGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_dispchnpioGetInternalObjectHandle;
730
731 pThis->__dispchnpioControl__ = &__nvoc_thunk_GpuResource_dispchnpioControl;
732
733 pThis->__dispchnpioUnmap__ = &__nvoc_thunk_GpuResource_dispchnpioUnmap;
734
735 pThis->__dispchnpioGetMemInterMapParams__ = &__nvoc_thunk_RmResource_dispchnpioGetMemInterMapParams;
736
737 pThis->__dispchnpioGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_dispchnpioGetMemoryMappingDescriptor;
738
739 pThis->__dispchnpioControlFilter__ = &__nvoc_thunk_RsResource_dispchnpioControlFilter;
740
741 pThis->__dispchnpioUnregisterEvent__ = &__nvoc_thunk_Notifier_dispchnpioUnregisterEvent;
742
743 pThis->__dispchnpioControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_dispchnpioControlSerialization_Prologue;
744
745 pThis->__dispchnpioCanCopy__ = &__nvoc_thunk_RsResource_dispchnpioCanCopy;
746
747 pThis->__dispchnpioIsPartialUnmapSupported__ = &__nvoc_thunk_RsResource_dispchnpioIsPartialUnmapSupported;
748
749 pThis->__dispchnpioPreDestruct__ = &__nvoc_thunk_RsResource_dispchnpioPreDestruct;
750
751 pThis->__dispchnpioIsDuplicate__ = &__nvoc_thunk_RsResource_dispchnpioIsDuplicate;
752
753 pThis->__dispchnpioControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_dispchnpioControlSerialization_Epilogue;
754
755 pThis->__dispchnpioGetNotificationListPtr__ = &__nvoc_thunk_Notifier_dispchnpioGetNotificationListPtr;
756
757 pThis->__dispchnpioGetNotificationShare__ = &__nvoc_thunk_Notifier_dispchnpioGetNotificationShare;
758
759 pThis->__dispchnpioMap__ = &__nvoc_thunk_GpuResource_dispchnpioMap;
760
761 pThis->__dispchnpioAccessCallback__ = &__nvoc_thunk_RmResource_dispchnpioAccessCallback;
762 }
763
__nvoc_init_funcTable_DispChannelPio(DispChannelPio * pThis)764 void __nvoc_init_funcTable_DispChannelPio(DispChannelPio *pThis) {
765 __nvoc_init_funcTable_DispChannelPio_1(pThis);
766 }
767
768 void __nvoc_init_DispChannel(DispChannel*);
__nvoc_init_DispChannelPio(DispChannelPio * pThis)769 void __nvoc_init_DispChannelPio(DispChannelPio *pThis) {
770 pThis->__nvoc_pbase_DispChannelPio = pThis;
771 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object;
772 pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource;
773 pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon;
774 pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource;
775 pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource;
776 pThis->__nvoc_pbase_INotifier = &pThis->__nvoc_base_DispChannel.__nvoc_base_Notifier.__nvoc_base_INotifier;
777 pThis->__nvoc_pbase_Notifier = &pThis->__nvoc_base_DispChannel.__nvoc_base_Notifier;
778 pThis->__nvoc_pbase_DispChannel = &pThis->__nvoc_base_DispChannel;
779 __nvoc_init_DispChannel(&pThis->__nvoc_base_DispChannel);
780 __nvoc_init_funcTable_DispChannelPio(pThis);
781 }
782
__nvoc_objCreate_DispChannelPio(DispChannelPio ** ppThis,Dynamic * pParent,NvU32 createFlags,struct CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)783 NV_STATUS __nvoc_objCreate_DispChannelPio(DispChannelPio **ppThis, Dynamic *pParent, NvU32 createFlags, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)
784 {
785 NV_STATUS status;
786 Object *pParentObj = NULL;
787 DispChannelPio *pThis;
788
789 // Assign `pThis`, allocating memory unless suppressed by flag.
790 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(DispChannelPio), (void**)&pThis, (void**)ppThis);
791 if (status != NV_OK)
792 return status;
793
794 // Zero is the initial value for everything.
795 portMemSet(pThis, 0, sizeof(DispChannelPio));
796
797 // Initialize runtime type information.
798 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_DispChannelPio);
799
800 pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags;
801
802 // Link the child into the parent if there is one unless flagged not to do so.
803 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
804 {
805 pParentObj = dynamicCast(pParent, Object);
806 objAddChild(pParentObj, &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
807 }
808 else
809 {
810 pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL;
811 }
812
813 __nvoc_init_DispChannelPio(pThis);
814 status = __nvoc_ctor_DispChannelPio(pThis, arg_pCallContext, arg_pParams);
815 if (status != NV_OK) goto __nvoc_objCreate_DispChannelPio_cleanup;
816
817 // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
818 *ppThis = pThis;
819
820 return NV_OK;
821
822 __nvoc_objCreate_DispChannelPio_cleanup:
823
824 // Unlink the child from the parent if it was linked above.
825 if (pParentObj != NULL)
826 objRemoveChild(pParentObj, &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
827
828 // Do not call destructors here since the constructor already called them.
829 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
830 portMemSet(pThis, 0, sizeof(DispChannelPio));
831 else
832 {
833 portMemFree(pThis);
834 *ppThis = NULL;
835 }
836
837 // coverity[leaked_storage:FALSE]
838 return status;
839 }
840
__nvoc_objCreateDynamic_DispChannelPio(DispChannelPio ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)841 NV_STATUS __nvoc_objCreateDynamic_DispChannelPio(DispChannelPio **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
842 NV_STATUS status;
843 struct CALL_CONTEXT * arg_pCallContext = va_arg(args, struct CALL_CONTEXT *);
844 struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
845
846 status = __nvoc_objCreate_DispChannelPio(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams);
847
848 return status;
849 }
850
851 #ifdef DEBUG
852 char __nvoc_class_id_uniqueness_check_0xfe3d2e = 1;
853 #endif
854
855 extern const struct NVOC_CLASS_DEF __nvoc_class_def_DispChannelDma;
856
857 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object;
858
859 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsResource;
860
861 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResourceCommon;
862
863 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResource;
864
865 extern const struct NVOC_CLASS_DEF __nvoc_class_def_GpuResource;
866
867 extern const struct NVOC_CLASS_DEF __nvoc_class_def_INotifier;
868
869 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Notifier;
870
871 extern const struct NVOC_CLASS_DEF __nvoc_class_def_DispChannel;
872
873 void __nvoc_init_DispChannelDma(DispChannelDma*);
874 void __nvoc_init_funcTable_DispChannelDma(DispChannelDma*);
875 NV_STATUS __nvoc_ctor_DispChannelDma(DispChannelDma*, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams);
876 void __nvoc_init_dataField_DispChannelDma(DispChannelDma*);
877 void __nvoc_dtor_DispChannelDma(DispChannelDma*);
878 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_DispChannelDma;
879
880 static const struct NVOC_RTTI __nvoc_rtti_DispChannelDma_DispChannelDma = {
881 /*pClassDef=*/ &__nvoc_class_def_DispChannelDma,
882 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_DispChannelDma,
883 /*offset=*/ 0,
884 };
885
886 static const struct NVOC_RTTI __nvoc_rtti_DispChannelDma_Object = {
887 /*pClassDef=*/ &__nvoc_class_def_Object,
888 /*dtor=*/ &__nvoc_destructFromBase,
889 /*offset=*/ NV_OFFSETOF(DispChannelDma, __nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object),
890 };
891
892 static const struct NVOC_RTTI __nvoc_rtti_DispChannelDma_RsResource = {
893 /*pClassDef=*/ &__nvoc_class_def_RsResource,
894 /*dtor=*/ &__nvoc_destructFromBase,
895 /*offset=*/ NV_OFFSETOF(DispChannelDma, __nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource),
896 };
897
898 static const struct NVOC_RTTI __nvoc_rtti_DispChannelDma_RmResourceCommon = {
899 /*pClassDef=*/ &__nvoc_class_def_RmResourceCommon,
900 /*dtor=*/ &__nvoc_destructFromBase,
901 /*offset=*/ NV_OFFSETOF(DispChannelDma, __nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon),
902 };
903
904 static const struct NVOC_RTTI __nvoc_rtti_DispChannelDma_RmResource = {
905 /*pClassDef=*/ &__nvoc_class_def_RmResource,
906 /*dtor=*/ &__nvoc_destructFromBase,
907 /*offset=*/ NV_OFFSETOF(DispChannelDma, __nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource),
908 };
909
910 static const struct NVOC_RTTI __nvoc_rtti_DispChannelDma_GpuResource = {
911 /*pClassDef=*/ &__nvoc_class_def_GpuResource,
912 /*dtor=*/ &__nvoc_destructFromBase,
913 /*offset=*/ NV_OFFSETOF(DispChannelDma, __nvoc_base_DispChannel.__nvoc_base_GpuResource),
914 };
915
916 static const struct NVOC_RTTI __nvoc_rtti_DispChannelDma_INotifier = {
917 /*pClassDef=*/ &__nvoc_class_def_INotifier,
918 /*dtor=*/ &__nvoc_destructFromBase,
919 /*offset=*/ NV_OFFSETOF(DispChannelDma, __nvoc_base_DispChannel.__nvoc_base_Notifier.__nvoc_base_INotifier),
920 };
921
922 static const struct NVOC_RTTI __nvoc_rtti_DispChannelDma_Notifier = {
923 /*pClassDef=*/ &__nvoc_class_def_Notifier,
924 /*dtor=*/ &__nvoc_destructFromBase,
925 /*offset=*/ NV_OFFSETOF(DispChannelDma, __nvoc_base_DispChannel.__nvoc_base_Notifier),
926 };
927
928 static const struct NVOC_RTTI __nvoc_rtti_DispChannelDma_DispChannel = {
929 /*pClassDef=*/ &__nvoc_class_def_DispChannel,
930 /*dtor=*/ &__nvoc_destructFromBase,
931 /*offset=*/ NV_OFFSETOF(DispChannelDma, __nvoc_base_DispChannel),
932 };
933
934 static const struct NVOC_CASTINFO __nvoc_castinfo_DispChannelDma = {
935 /*numRelatives=*/ 9,
936 /*relatives=*/ {
937 &__nvoc_rtti_DispChannelDma_DispChannelDma,
938 &__nvoc_rtti_DispChannelDma_DispChannel,
939 &__nvoc_rtti_DispChannelDma_Notifier,
940 &__nvoc_rtti_DispChannelDma_INotifier,
941 &__nvoc_rtti_DispChannelDma_GpuResource,
942 &__nvoc_rtti_DispChannelDma_RmResource,
943 &__nvoc_rtti_DispChannelDma_RmResourceCommon,
944 &__nvoc_rtti_DispChannelDma_RsResource,
945 &__nvoc_rtti_DispChannelDma_Object,
946 },
947 };
948
949 const struct NVOC_CLASS_DEF __nvoc_class_def_DispChannelDma =
950 {
951 /*classInfo=*/ {
952 /*size=*/ sizeof(DispChannelDma),
953 /*classId=*/ classId(DispChannelDma),
954 /*providerId=*/ &__nvoc_rtti_provider,
955 #if NV_PRINTF_STRINGS_ALLOWED
956 /*name=*/ "DispChannelDma",
957 #endif
958 },
959 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_DispChannelDma,
960 /*pCastInfo=*/ &__nvoc_castinfo_DispChannelDma,
961 /*pExportInfo=*/ &__nvoc_export_info_DispChannelDma
962 };
963
__nvoc_thunk_GpuResource_dispchndmaShareCallback(struct DispChannelDma * pGpuResource,struct RsClient * pInvokingClient,struct RsResourceRef * pParentRef,RS_SHARE_POLICY * pSharePolicy)964 static NvBool __nvoc_thunk_GpuResource_dispchndmaShareCallback(struct DispChannelDma *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) {
965 return gpuresShareCallback((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelDma_GpuResource.offset), pInvokingClient, pParentRef, pSharePolicy);
966 }
967
__nvoc_thunk_RmResource_dispchndmaCheckMemInterUnmap(struct DispChannelDma * pRmResource,NvBool bSubdeviceHandleProvided)968 static NV_STATUS __nvoc_thunk_RmResource_dispchndmaCheckMemInterUnmap(struct DispChannelDma *pRmResource, NvBool bSubdeviceHandleProvided) {
969 return rmresCheckMemInterUnmap((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_DispChannelDma_RmResource.offset), bSubdeviceHandleProvided);
970 }
971
__nvoc_thunk_Notifier_dispchndmaGetOrAllocNotifShare(struct DispChannelDma * pNotifier,NvHandle hNotifierClient,NvHandle hNotifierResource,struct NotifShare ** ppNotifShare)972 static NV_STATUS __nvoc_thunk_Notifier_dispchndmaGetOrAllocNotifShare(struct DispChannelDma *pNotifier, NvHandle hNotifierClient, NvHandle hNotifierResource, struct NotifShare **ppNotifShare) {
973 return notifyGetOrAllocNotifShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannelDma_Notifier.offset), hNotifierClient, hNotifierResource, ppNotifShare);
974 }
975
__nvoc_thunk_RsResource_dispchndmaMapTo(struct DispChannelDma * pResource,RS_RES_MAP_TO_PARAMS * pParams)976 static NV_STATUS __nvoc_thunk_RsResource_dispchndmaMapTo(struct DispChannelDma *pResource, RS_RES_MAP_TO_PARAMS *pParams) {
977 return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RsResource.offset), pParams);
978 }
979
__nvoc_thunk_GpuResource_dispchndmaGetMapAddrSpace(struct DispChannelDma * pGpuResource,struct CALL_CONTEXT * pCallContext,NvU32 mapFlags,NV_ADDRESS_SPACE * pAddrSpace)980 static NV_STATUS __nvoc_thunk_GpuResource_dispchndmaGetMapAddrSpace(struct DispChannelDma *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) {
981 return gpuresGetMapAddrSpace((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelDma_GpuResource.offset), pCallContext, mapFlags, pAddrSpace);
982 }
983
__nvoc_thunk_Notifier_dispchndmaSetNotificationShare(struct DispChannelDma * pNotifier,struct NotifShare * pNotifShare)984 static void __nvoc_thunk_Notifier_dispchndmaSetNotificationShare(struct DispChannelDma *pNotifier, struct NotifShare *pNotifShare) {
985 notifySetNotificationShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannelDma_Notifier.offset), pNotifShare);
986 }
987
__nvoc_thunk_RsResource_dispchndmaGetRefCount(struct DispChannelDma * pResource)988 static NvU32 __nvoc_thunk_RsResource_dispchndmaGetRefCount(struct DispChannelDma *pResource) {
989 return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RsResource.offset));
990 }
991
__nvoc_thunk_RsResource_dispchndmaAddAdditionalDependants(struct RsClient * pClient,struct DispChannelDma * pResource,RsResourceRef * pReference)992 static void __nvoc_thunk_RsResource_dispchndmaAddAdditionalDependants(struct RsClient *pClient, struct DispChannelDma *pResource, RsResourceRef *pReference) {
993 resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RsResource.offset), pReference);
994 }
995
__nvoc_thunk_RmResource_dispchndmaControl_Prologue(struct DispChannelDma * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)996 static NV_STATUS __nvoc_thunk_RmResource_dispchndmaControl_Prologue(struct DispChannelDma *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
997 return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RmResource.offset), pCallContext, pParams);
998 }
999
__nvoc_thunk_DispChannel_dispchndmaGetRegBaseOffsetAndSize(struct DispChannelDma * pDispChannel,struct OBJGPU * pGpu,NvU32 * pOffset,NvU32 * pSize)1000 static NV_STATUS __nvoc_thunk_DispChannel_dispchndmaGetRegBaseOffsetAndSize(struct DispChannelDma *pDispChannel, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) {
1001 return dispchnGetRegBaseOffsetAndSize((struct DispChannel *)(((unsigned char *)pDispChannel) + __nvoc_rtti_DispChannelDma_DispChannel.offset), pGpu, pOffset, pSize);
1002 }
1003
__nvoc_thunk_GpuResource_dispchndmaInternalControlForward(struct DispChannelDma * pGpuResource,NvU32 command,void * pParams,NvU32 size)1004 static NV_STATUS __nvoc_thunk_GpuResource_dispchndmaInternalControlForward(struct DispChannelDma *pGpuResource, NvU32 command, void *pParams, NvU32 size) {
1005 return gpuresInternalControlForward((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelDma_GpuResource.offset), command, pParams, size);
1006 }
1007
__nvoc_thunk_RsResource_dispchndmaUnmapFrom(struct DispChannelDma * pResource,RS_RES_UNMAP_FROM_PARAMS * pParams)1008 static NV_STATUS __nvoc_thunk_RsResource_dispchndmaUnmapFrom(struct DispChannelDma *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) {
1009 return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RsResource.offset), pParams);
1010 }
1011
__nvoc_thunk_RmResource_dispchndmaControl_Epilogue(struct DispChannelDma * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1012 static void __nvoc_thunk_RmResource_dispchndmaControl_Epilogue(struct DispChannelDma *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1013 rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RmResource.offset), pCallContext, pParams);
1014 }
1015
__nvoc_thunk_GpuResource_dispchndmaGetInternalObjectHandle(struct DispChannelDma * pGpuResource)1016 static NvHandle __nvoc_thunk_GpuResource_dispchndmaGetInternalObjectHandle(struct DispChannelDma *pGpuResource) {
1017 return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelDma_GpuResource.offset));
1018 }
1019
__nvoc_thunk_GpuResource_dispchndmaControl(struct DispChannelDma * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1020 static NV_STATUS __nvoc_thunk_GpuResource_dispchndmaControl(struct DispChannelDma *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1021 return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelDma_GpuResource.offset), pCallContext, pParams);
1022 }
1023
__nvoc_thunk_GpuResource_dispchndmaUnmap(struct DispChannelDma * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RsCpuMapping * pCpuMapping)1024 static NV_STATUS __nvoc_thunk_GpuResource_dispchndmaUnmap(struct DispChannelDma *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) {
1025 return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelDma_GpuResource.offset), pCallContext, pCpuMapping);
1026 }
1027
__nvoc_thunk_RmResource_dispchndmaGetMemInterMapParams(struct DispChannelDma * pRmResource,RMRES_MEM_INTER_MAP_PARAMS * pParams)1028 static NV_STATUS __nvoc_thunk_RmResource_dispchndmaGetMemInterMapParams(struct DispChannelDma *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
1029 return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_DispChannelDma_RmResource.offset), pParams);
1030 }
1031
__nvoc_thunk_RmResource_dispchndmaGetMemoryMappingDescriptor(struct DispChannelDma * pRmResource,struct MEMORY_DESCRIPTOR ** ppMemDesc)1032 static NV_STATUS __nvoc_thunk_RmResource_dispchndmaGetMemoryMappingDescriptor(struct DispChannelDma *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) {
1033 return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_DispChannelDma_RmResource.offset), ppMemDesc);
1034 }
1035
__nvoc_thunk_RsResource_dispchndmaControlFilter(struct DispChannelDma * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1036 static NV_STATUS __nvoc_thunk_RsResource_dispchndmaControlFilter(struct DispChannelDma *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1037 return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RsResource.offset), pCallContext, pParams);
1038 }
1039
__nvoc_thunk_Notifier_dispchndmaUnregisterEvent(struct DispChannelDma * pNotifier,NvHandle hNotifierClient,NvHandle hNotifierResource,NvHandle hEventClient,NvHandle hEvent)1040 static NV_STATUS __nvoc_thunk_Notifier_dispchndmaUnregisterEvent(struct DispChannelDma *pNotifier, NvHandle hNotifierClient, NvHandle hNotifierResource, NvHandle hEventClient, NvHandle hEvent) {
1041 return notifyUnregisterEvent((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannelDma_Notifier.offset), hNotifierClient, hNotifierResource, hEventClient, hEvent);
1042 }
1043
__nvoc_thunk_RmResource_dispchndmaControlSerialization_Prologue(struct DispChannelDma * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1044 static NV_STATUS __nvoc_thunk_RmResource_dispchndmaControlSerialization_Prologue(struct DispChannelDma *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1045 return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RmResource.offset), pCallContext, pParams);
1046 }
1047
__nvoc_thunk_RsResource_dispchndmaCanCopy(struct DispChannelDma * pResource)1048 static NvBool __nvoc_thunk_RsResource_dispchndmaCanCopy(struct DispChannelDma *pResource) {
1049 return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RsResource.offset));
1050 }
1051
__nvoc_thunk_RsResource_dispchndmaIsPartialUnmapSupported(struct DispChannelDma * pResource)1052 static NvBool __nvoc_thunk_RsResource_dispchndmaIsPartialUnmapSupported(struct DispChannelDma *pResource) {
1053 return resIsPartialUnmapSupported((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RsResource.offset));
1054 }
1055
__nvoc_thunk_RsResource_dispchndmaPreDestruct(struct DispChannelDma * pResource)1056 static void __nvoc_thunk_RsResource_dispchndmaPreDestruct(struct DispChannelDma *pResource) {
1057 resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RsResource.offset));
1058 }
1059
__nvoc_thunk_RsResource_dispchndmaIsDuplicate(struct DispChannelDma * pResource,NvHandle hMemory,NvBool * pDuplicate)1060 static NV_STATUS __nvoc_thunk_RsResource_dispchndmaIsDuplicate(struct DispChannelDma *pResource, NvHandle hMemory, NvBool *pDuplicate) {
1061 return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RsResource.offset), hMemory, pDuplicate);
1062 }
1063
__nvoc_thunk_RmResource_dispchndmaControlSerialization_Epilogue(struct DispChannelDma * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1064 static void __nvoc_thunk_RmResource_dispchndmaControlSerialization_Epilogue(struct DispChannelDma *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1065 rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RmResource.offset), pCallContext, pParams);
1066 }
1067
__nvoc_thunk_Notifier_dispchndmaGetNotificationListPtr(struct DispChannelDma * pNotifier)1068 static PEVENTNOTIFICATION *__nvoc_thunk_Notifier_dispchndmaGetNotificationListPtr(struct DispChannelDma *pNotifier) {
1069 return notifyGetNotificationListPtr((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannelDma_Notifier.offset));
1070 }
1071
__nvoc_thunk_Notifier_dispchndmaGetNotificationShare(struct DispChannelDma * pNotifier)1072 static struct NotifShare *__nvoc_thunk_Notifier_dispchndmaGetNotificationShare(struct DispChannelDma *pNotifier) {
1073 return notifyGetNotificationShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_DispChannelDma_Notifier.offset));
1074 }
1075
__nvoc_thunk_GpuResource_dispchndmaMap(struct DispChannelDma * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_CPU_MAP_PARAMS * pParams,struct RsCpuMapping * pCpuMapping)1076 static NV_STATUS __nvoc_thunk_GpuResource_dispchndmaMap(struct DispChannelDma *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) {
1077 return gpuresMap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_DispChannelDma_GpuResource.offset), pCallContext, pParams, pCpuMapping);
1078 }
1079
__nvoc_thunk_RmResource_dispchndmaAccessCallback(struct DispChannelDma * pResource,struct RsClient * pInvokingClient,void * pAllocParams,RsAccessRight accessRight)1080 static NvBool __nvoc_thunk_RmResource_dispchndmaAccessCallback(struct DispChannelDma *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) {
1081 return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_DispChannelDma_RmResource.offset), pInvokingClient, pAllocParams, accessRight);
1082 }
1083
1084 const struct NVOC_EXPORT_INFO __nvoc_export_info_DispChannelDma =
1085 {
1086 /*numEntries=*/ 0,
1087 /*pExportEntries=*/ 0
1088 };
1089
1090 void __nvoc_dtor_DispChannel(DispChannel*);
__nvoc_dtor_DispChannelDma(DispChannelDma * pThis)1091 void __nvoc_dtor_DispChannelDma(DispChannelDma *pThis) {
1092 __nvoc_dtor_DispChannel(&pThis->__nvoc_base_DispChannel);
1093 PORT_UNREFERENCED_VARIABLE(pThis);
1094 }
1095
__nvoc_init_dataField_DispChannelDma(DispChannelDma * pThis)1096 void __nvoc_init_dataField_DispChannelDma(DispChannelDma *pThis) {
1097 PORT_UNREFERENCED_VARIABLE(pThis);
1098 }
1099
1100 NV_STATUS __nvoc_ctor_DispChannel(DispChannel* , struct CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *, NvU32);
__nvoc_ctor_DispChannelDma(DispChannelDma * pThis,struct CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)1101 NV_STATUS __nvoc_ctor_DispChannelDma(DispChannelDma *pThis, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) {
1102 NV_STATUS status = NV_OK;
1103 status = __nvoc_ctor_DispChannel(&pThis->__nvoc_base_DispChannel, arg_pCallContext, arg_pParams, ((NvBool)(0 == 0)));
1104 if (status != NV_OK) goto __nvoc_ctor_DispChannelDma_fail_DispChannel;
1105 __nvoc_init_dataField_DispChannelDma(pThis);
1106
1107 status = __nvoc_dispchndmaConstruct(pThis, arg_pCallContext, arg_pParams);
1108 if (status != NV_OK) goto __nvoc_ctor_DispChannelDma_fail__init;
1109 goto __nvoc_ctor_DispChannelDma_exit; // Success
1110
1111 __nvoc_ctor_DispChannelDma_fail__init:
1112 __nvoc_dtor_DispChannel(&pThis->__nvoc_base_DispChannel);
1113 __nvoc_ctor_DispChannelDma_fail_DispChannel:
1114 __nvoc_ctor_DispChannelDma_exit:
1115
1116 return status;
1117 }
1118
__nvoc_init_funcTable_DispChannelDma_1(DispChannelDma * pThis)1119 static void __nvoc_init_funcTable_DispChannelDma_1(DispChannelDma *pThis) {
1120 PORT_UNREFERENCED_VARIABLE(pThis);
1121
1122 pThis->__dispchndmaShareCallback__ = &__nvoc_thunk_GpuResource_dispchndmaShareCallback;
1123
1124 pThis->__dispchndmaCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_dispchndmaCheckMemInterUnmap;
1125
1126 pThis->__dispchndmaGetOrAllocNotifShare__ = &__nvoc_thunk_Notifier_dispchndmaGetOrAllocNotifShare;
1127
1128 pThis->__dispchndmaMapTo__ = &__nvoc_thunk_RsResource_dispchndmaMapTo;
1129
1130 pThis->__dispchndmaGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_dispchndmaGetMapAddrSpace;
1131
1132 pThis->__dispchndmaSetNotificationShare__ = &__nvoc_thunk_Notifier_dispchndmaSetNotificationShare;
1133
1134 pThis->__dispchndmaGetRefCount__ = &__nvoc_thunk_RsResource_dispchndmaGetRefCount;
1135
1136 pThis->__dispchndmaAddAdditionalDependants__ = &__nvoc_thunk_RsResource_dispchndmaAddAdditionalDependants;
1137
1138 pThis->__dispchndmaControl_Prologue__ = &__nvoc_thunk_RmResource_dispchndmaControl_Prologue;
1139
1140 pThis->__dispchndmaGetRegBaseOffsetAndSize__ = &__nvoc_thunk_DispChannel_dispchndmaGetRegBaseOffsetAndSize;
1141
1142 pThis->__dispchndmaInternalControlForward__ = &__nvoc_thunk_GpuResource_dispchndmaInternalControlForward;
1143
1144 pThis->__dispchndmaUnmapFrom__ = &__nvoc_thunk_RsResource_dispchndmaUnmapFrom;
1145
1146 pThis->__dispchndmaControl_Epilogue__ = &__nvoc_thunk_RmResource_dispchndmaControl_Epilogue;
1147
1148 pThis->__dispchndmaGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_dispchndmaGetInternalObjectHandle;
1149
1150 pThis->__dispchndmaControl__ = &__nvoc_thunk_GpuResource_dispchndmaControl;
1151
1152 pThis->__dispchndmaUnmap__ = &__nvoc_thunk_GpuResource_dispchndmaUnmap;
1153
1154 pThis->__dispchndmaGetMemInterMapParams__ = &__nvoc_thunk_RmResource_dispchndmaGetMemInterMapParams;
1155
1156 pThis->__dispchndmaGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_dispchndmaGetMemoryMappingDescriptor;
1157
1158 pThis->__dispchndmaControlFilter__ = &__nvoc_thunk_RsResource_dispchndmaControlFilter;
1159
1160 pThis->__dispchndmaUnregisterEvent__ = &__nvoc_thunk_Notifier_dispchndmaUnregisterEvent;
1161
1162 pThis->__dispchndmaControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_dispchndmaControlSerialization_Prologue;
1163
1164 pThis->__dispchndmaCanCopy__ = &__nvoc_thunk_RsResource_dispchndmaCanCopy;
1165
1166 pThis->__dispchndmaIsPartialUnmapSupported__ = &__nvoc_thunk_RsResource_dispchndmaIsPartialUnmapSupported;
1167
1168 pThis->__dispchndmaPreDestruct__ = &__nvoc_thunk_RsResource_dispchndmaPreDestruct;
1169
1170 pThis->__dispchndmaIsDuplicate__ = &__nvoc_thunk_RsResource_dispchndmaIsDuplicate;
1171
1172 pThis->__dispchndmaControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_dispchndmaControlSerialization_Epilogue;
1173
1174 pThis->__dispchndmaGetNotificationListPtr__ = &__nvoc_thunk_Notifier_dispchndmaGetNotificationListPtr;
1175
1176 pThis->__dispchndmaGetNotificationShare__ = &__nvoc_thunk_Notifier_dispchndmaGetNotificationShare;
1177
1178 pThis->__dispchndmaMap__ = &__nvoc_thunk_GpuResource_dispchndmaMap;
1179
1180 pThis->__dispchndmaAccessCallback__ = &__nvoc_thunk_RmResource_dispchndmaAccessCallback;
1181 }
1182
__nvoc_init_funcTable_DispChannelDma(DispChannelDma * pThis)1183 void __nvoc_init_funcTable_DispChannelDma(DispChannelDma *pThis) {
1184 __nvoc_init_funcTable_DispChannelDma_1(pThis);
1185 }
1186
1187 void __nvoc_init_DispChannel(DispChannel*);
__nvoc_init_DispChannelDma(DispChannelDma * pThis)1188 void __nvoc_init_DispChannelDma(DispChannelDma *pThis) {
1189 pThis->__nvoc_pbase_DispChannelDma = pThis;
1190 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object;
1191 pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource;
1192 pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon;
1193 pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource;
1194 pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource;
1195 pThis->__nvoc_pbase_INotifier = &pThis->__nvoc_base_DispChannel.__nvoc_base_Notifier.__nvoc_base_INotifier;
1196 pThis->__nvoc_pbase_Notifier = &pThis->__nvoc_base_DispChannel.__nvoc_base_Notifier;
1197 pThis->__nvoc_pbase_DispChannel = &pThis->__nvoc_base_DispChannel;
1198 __nvoc_init_DispChannel(&pThis->__nvoc_base_DispChannel);
1199 __nvoc_init_funcTable_DispChannelDma(pThis);
1200 }
1201
__nvoc_objCreate_DispChannelDma(DispChannelDma ** ppThis,Dynamic * pParent,NvU32 createFlags,struct CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)1202 NV_STATUS __nvoc_objCreate_DispChannelDma(DispChannelDma **ppThis, Dynamic *pParent, NvU32 createFlags, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)
1203 {
1204 NV_STATUS status;
1205 Object *pParentObj = NULL;
1206 DispChannelDma *pThis;
1207
1208 // Assign `pThis`, allocating memory unless suppressed by flag.
1209 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(DispChannelDma), (void**)&pThis, (void**)ppThis);
1210 if (status != NV_OK)
1211 return status;
1212
1213 // Zero is the initial value for everything.
1214 portMemSet(pThis, 0, sizeof(DispChannelDma));
1215
1216 // Initialize runtime type information.
1217 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_DispChannelDma);
1218
1219 pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags;
1220
1221 // Link the child into the parent if there is one unless flagged not to do so.
1222 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
1223 {
1224 pParentObj = dynamicCast(pParent, Object);
1225 objAddChild(pParentObj, &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
1226 }
1227 else
1228 {
1229 pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL;
1230 }
1231
1232 __nvoc_init_DispChannelDma(pThis);
1233 status = __nvoc_ctor_DispChannelDma(pThis, arg_pCallContext, arg_pParams);
1234 if (status != NV_OK) goto __nvoc_objCreate_DispChannelDma_cleanup;
1235
1236 // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
1237 *ppThis = pThis;
1238
1239 return NV_OK;
1240
1241 __nvoc_objCreate_DispChannelDma_cleanup:
1242
1243 // Unlink the child from the parent if it was linked above.
1244 if (pParentObj != NULL)
1245 objRemoveChild(pParentObj, &pThis->__nvoc_base_DispChannel.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
1246
1247 // Do not call destructors here since the constructor already called them.
1248 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
1249 portMemSet(pThis, 0, sizeof(DispChannelDma));
1250 else
1251 {
1252 portMemFree(pThis);
1253 *ppThis = NULL;
1254 }
1255
1256 // coverity[leaked_storage:FALSE]
1257 return status;
1258 }
1259
__nvoc_objCreateDynamic_DispChannelDma(DispChannelDma ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)1260 NV_STATUS __nvoc_objCreateDynamic_DispChannelDma(DispChannelDma **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
1261 NV_STATUS status;
1262 struct CALL_CONTEXT * arg_pCallContext = va_arg(args, struct CALL_CONTEXT *);
1263 struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
1264
1265 status = __nvoc_objCreate_DispChannelDma(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams);
1266
1267 return status;
1268 }
1269
1270