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