1 #define NVOC_KERNEL_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_kernel_channel_nvoc.h" 9 10 #ifdef DEBUG 11 char __nvoc_class_id_uniqueness_check_0x5d8d70 = 1; 12 #endif 13 14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_KernelChannel; 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_KernelChannel(KernelChannel*, RmHalspecOwner* ); 31 void __nvoc_init_funcTable_KernelChannel(KernelChannel*, RmHalspecOwner* ); 32 NV_STATUS __nvoc_ctor_KernelChannel(KernelChannel*, RmHalspecOwner* , CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams); 33 void __nvoc_init_dataField_KernelChannel(KernelChannel*, RmHalspecOwner* ); 34 void __nvoc_dtor_KernelChannel(KernelChannel*); 35 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_KernelChannel; 36 37 static const struct NVOC_RTTI __nvoc_rtti_KernelChannel_KernelChannel = { 38 /*pClassDef=*/ &__nvoc_class_def_KernelChannel, 39 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_KernelChannel, 40 /*offset=*/ 0, 41 }; 42 43 static const struct NVOC_RTTI __nvoc_rtti_KernelChannel_Object = { 44 /*pClassDef=*/ &__nvoc_class_def_Object, 45 /*dtor=*/ &__nvoc_destructFromBase, 46 /*offset=*/ NV_OFFSETOF(KernelChannel, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object), 47 }; 48 49 static const struct NVOC_RTTI __nvoc_rtti_KernelChannel_RsResource = { 50 /*pClassDef=*/ &__nvoc_class_def_RsResource, 51 /*dtor=*/ &__nvoc_destructFromBase, 52 /*offset=*/ NV_OFFSETOF(KernelChannel, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource), 53 }; 54 55 static const struct NVOC_RTTI __nvoc_rtti_KernelChannel_RmResourceCommon = { 56 /*pClassDef=*/ &__nvoc_class_def_RmResourceCommon, 57 /*dtor=*/ &__nvoc_destructFromBase, 58 /*offset=*/ NV_OFFSETOF(KernelChannel, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon), 59 }; 60 61 static const struct NVOC_RTTI __nvoc_rtti_KernelChannel_RmResource = { 62 /*pClassDef=*/ &__nvoc_class_def_RmResource, 63 /*dtor=*/ &__nvoc_destructFromBase, 64 /*offset=*/ NV_OFFSETOF(KernelChannel, __nvoc_base_GpuResource.__nvoc_base_RmResource), 65 }; 66 67 static const struct NVOC_RTTI __nvoc_rtti_KernelChannel_GpuResource = { 68 /*pClassDef=*/ &__nvoc_class_def_GpuResource, 69 /*dtor=*/ &__nvoc_destructFromBase, 70 /*offset=*/ NV_OFFSETOF(KernelChannel, __nvoc_base_GpuResource), 71 }; 72 73 static const struct NVOC_RTTI __nvoc_rtti_KernelChannel_INotifier = { 74 /*pClassDef=*/ &__nvoc_class_def_INotifier, 75 /*dtor=*/ &__nvoc_destructFromBase, 76 /*offset=*/ NV_OFFSETOF(KernelChannel, __nvoc_base_Notifier.__nvoc_base_INotifier), 77 }; 78 79 static const struct NVOC_RTTI __nvoc_rtti_KernelChannel_Notifier = { 80 /*pClassDef=*/ &__nvoc_class_def_Notifier, 81 /*dtor=*/ &__nvoc_destructFromBase, 82 /*offset=*/ NV_OFFSETOF(KernelChannel, __nvoc_base_Notifier), 83 }; 84 85 static const struct NVOC_CASTINFO __nvoc_castinfo_KernelChannel = { 86 /*numRelatives=*/ 8, 87 /*relatives=*/ { 88 &__nvoc_rtti_KernelChannel_KernelChannel, 89 &__nvoc_rtti_KernelChannel_Notifier, 90 &__nvoc_rtti_KernelChannel_INotifier, 91 &__nvoc_rtti_KernelChannel_GpuResource, 92 &__nvoc_rtti_KernelChannel_RmResource, 93 &__nvoc_rtti_KernelChannel_RmResourceCommon, 94 &__nvoc_rtti_KernelChannel_RsResource, 95 &__nvoc_rtti_KernelChannel_Object, 96 }, 97 }; 98 99 const struct NVOC_CLASS_DEF __nvoc_class_def_KernelChannel = 100 { 101 /*classInfo=*/ { 102 /*size=*/ sizeof(KernelChannel), 103 /*classId=*/ classId(KernelChannel), 104 /*providerId=*/ &__nvoc_rtti_provider, 105 #if NV_PRINTF_STRINGS_ALLOWED 106 /*name=*/ "KernelChannel", 107 #endif 108 }, 109 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_KernelChannel, 110 /*pCastInfo=*/ &__nvoc_castinfo_KernelChannel, 111 /*pExportInfo=*/ &__nvoc_export_info_KernelChannel 112 }; 113 114 static NV_STATUS __nvoc_thunk_KernelChannel_gpuresMap(struct GpuResource *pKernelChannel, CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, RsCpuMapping *pCpuMapping) { 115 return kchannelMap((struct KernelChannel *)(((unsigned char *)pKernelChannel) - __nvoc_rtti_KernelChannel_GpuResource.offset), pCallContext, pParams, pCpuMapping); 116 } 117 118 static NV_STATUS __nvoc_thunk_KernelChannel_gpuresUnmap(struct GpuResource *pKernelChannel, CALL_CONTEXT *pCallContext, RsCpuMapping *pCpuMapping) { 119 return kchannelUnmap((struct KernelChannel *)(((unsigned char *)pKernelChannel) - __nvoc_rtti_KernelChannel_GpuResource.offset), pCallContext, pCpuMapping); 120 } 121 122 static NV_STATUS __nvoc_thunk_KernelChannel_gpuresGetMapAddrSpace(struct GpuResource *pKernelChannel, CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) { 123 return kchannelGetMapAddrSpace((struct KernelChannel *)(((unsigned char *)pKernelChannel) - __nvoc_rtti_KernelChannel_GpuResource.offset), pCallContext, mapFlags, pAddrSpace); 124 } 125 126 static NV_STATUS __nvoc_thunk_KernelChannel_rmresGetMemInterMapParams(struct RmResource *pKernelChannel, RMRES_MEM_INTER_MAP_PARAMS *pParams) { 127 return kchannelGetMemInterMapParams((struct KernelChannel *)(((unsigned char *)pKernelChannel) - __nvoc_rtti_KernelChannel_RmResource.offset), pParams); 128 } 129 130 static NV_STATUS __nvoc_thunk_KernelChannel_rmresCheckMemInterUnmap(struct RmResource *pKernelChannel, NvBool bSubdeviceHandleProvided) { 131 return kchannelCheckMemInterUnmap((struct KernelChannel *)(((unsigned char *)pKernelChannel) - __nvoc_rtti_KernelChannel_RmResource.offset), bSubdeviceHandleProvided); 132 } 133 134 static NvBool __nvoc_thunk_GpuResource_kchannelShareCallback(struct KernelChannel *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) { 135 return gpuresShareCallback((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_KernelChannel_GpuResource.offset), pInvokingClient, pParentRef, pSharePolicy); 136 } 137 138 static NV_STATUS __nvoc_thunk_Notifier_kchannelGetOrAllocNotifShare(struct KernelChannel *pNotifier, NvHandle hNotifierClient, NvHandle hNotifierResource, struct NotifShare **ppNotifShare) { 139 return notifyGetOrAllocNotifShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_KernelChannel_Notifier.offset), hNotifierClient, hNotifierResource, ppNotifShare); 140 } 141 142 static NV_STATUS __nvoc_thunk_RsResource_kchannelMapTo(struct KernelChannel *pResource, RS_RES_MAP_TO_PARAMS *pParams) { 143 return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RsResource.offset), pParams); 144 } 145 146 static void __nvoc_thunk_Notifier_kchannelSetNotificationShare(struct KernelChannel *pNotifier, struct NotifShare *pNotifShare) { 147 notifySetNotificationShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_KernelChannel_Notifier.offset), pNotifShare); 148 } 149 150 static NvU32 __nvoc_thunk_RsResource_kchannelGetRefCount(struct KernelChannel *pResource) { 151 return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RsResource.offset)); 152 } 153 154 static void __nvoc_thunk_RsResource_kchannelAddAdditionalDependants(struct RsClient *pClient, struct KernelChannel *pResource, RsResourceRef *pReference) { 155 resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RsResource.offset), pReference); 156 } 157 158 static NV_STATUS __nvoc_thunk_RmResource_kchannelControl_Prologue(struct KernelChannel *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 159 return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RmResource.offset), pCallContext, pParams); 160 } 161 162 static NV_STATUS __nvoc_thunk_GpuResource_kchannelGetRegBaseOffsetAndSize(struct KernelChannel *pGpuResource, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) { 163 return gpuresGetRegBaseOffsetAndSize((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_KernelChannel_GpuResource.offset), pGpu, pOffset, pSize); 164 } 165 166 static NV_STATUS __nvoc_thunk_GpuResource_kchannelInternalControlForward(struct KernelChannel *pGpuResource, NvU32 command, void *pParams, NvU32 size) { 167 return gpuresInternalControlForward((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_KernelChannel_GpuResource.offset), command, pParams, size); 168 } 169 170 static NV_STATUS __nvoc_thunk_RsResource_kchannelUnmapFrom(struct KernelChannel *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) { 171 return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RsResource.offset), pParams); 172 } 173 174 static void __nvoc_thunk_RmResource_kchannelControl_Epilogue(struct KernelChannel *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 175 rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RmResource.offset), pCallContext, pParams); 176 } 177 178 static NV_STATUS __nvoc_thunk_RsResource_kchannelControlLookup(struct KernelChannel *pResource, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams, const struct NVOC_EXPORTED_METHOD_DEF **ppEntry) { 179 return resControlLookup((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RsResource.offset), pParams, ppEntry); 180 } 181 182 static NvHandle __nvoc_thunk_GpuResource_kchannelGetInternalObjectHandle(struct KernelChannel *pGpuResource) { 183 return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_KernelChannel_GpuResource.offset)); 184 } 185 186 static NV_STATUS __nvoc_thunk_GpuResource_kchannelControl(struct KernelChannel *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 187 return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_KernelChannel_GpuResource.offset), pCallContext, pParams); 188 } 189 190 static NV_STATUS __nvoc_thunk_RmResource_kchannelGetMemoryMappingDescriptor(struct KernelChannel *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) { 191 return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_KernelChannel_RmResource.offset), ppMemDesc); 192 } 193 194 static NV_STATUS __nvoc_thunk_RsResource_kchannelControlFilter(struct KernelChannel *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 195 return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RsResource.offset), pCallContext, pParams); 196 } 197 198 static NV_STATUS __nvoc_thunk_Notifier_kchannelUnregisterEvent(struct KernelChannel *pNotifier, NvHandle hNotifierClient, NvHandle hNotifierResource, NvHandle hEventClient, NvHandle hEvent) { 199 return notifyUnregisterEvent((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_KernelChannel_Notifier.offset), hNotifierClient, hNotifierResource, hEventClient, hEvent); 200 } 201 202 static NV_STATUS __nvoc_thunk_RmResource_kchannelControlSerialization_Prologue(struct KernelChannel *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 203 return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RmResource.offset), pCallContext, pParams); 204 } 205 206 static NvBool __nvoc_thunk_RsResource_kchannelCanCopy(struct KernelChannel *pResource) { 207 return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RsResource.offset)); 208 } 209 210 static void __nvoc_thunk_RsResource_kchannelPreDestruct(struct KernelChannel *pResource) { 211 resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RsResource.offset)); 212 } 213 214 static NV_STATUS __nvoc_thunk_RsResource_kchannelIsDuplicate(struct KernelChannel *pResource, NvHandle hMemory, NvBool *pDuplicate) { 215 return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RsResource.offset), hMemory, pDuplicate); 216 } 217 218 static void __nvoc_thunk_RmResource_kchannelControlSerialization_Epilogue(struct KernelChannel *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 219 rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RmResource.offset), pCallContext, pParams); 220 } 221 222 static PEVENTNOTIFICATION *__nvoc_thunk_Notifier_kchannelGetNotificationListPtr(struct KernelChannel *pNotifier) { 223 return notifyGetNotificationListPtr((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_KernelChannel_Notifier.offset)); 224 } 225 226 static struct NotifShare *__nvoc_thunk_Notifier_kchannelGetNotificationShare(struct KernelChannel *pNotifier) { 227 return notifyGetNotificationShare((struct Notifier *)(((unsigned char *)pNotifier) + __nvoc_rtti_KernelChannel_Notifier.offset)); 228 } 229 230 static NvBool __nvoc_thunk_RmResource_kchannelAccessCallback(struct KernelChannel *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) { 231 return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_KernelChannel_RmResource.offset), pInvokingClient, pAllocParams, accessRight); 232 } 233 234 #if !defined(NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG) 235 #define NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(x) (0) 236 #endif 237 238 static const struct NVOC_EXPORTED_METHOD_DEF __nvoc_exported_method_def_KernelChannel[] = 239 { 240 { /* [0] */ 241 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 242 /*pFunc=*/ (void (*)(void)) NULL, 243 #else 244 /*pFunc=*/ (void (*)(void)) kchannelCtrlSetTpcPartitionMode_a094e1, 245 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 246 /*flags=*/ 0x10u, 247 /*accessRight=*/0x0u, 248 /*methodId=*/ 0x900101u, 249 /*paramSize=*/ sizeof(NV0090_CTRL_TPC_PARTITION_MODE_PARAMS), 250 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 251 #if NV_PRINTF_STRINGS_ALLOWED 252 /*func=*/ "kchannelCtrlSetTpcPartitionMode" 253 #endif 254 }, 255 { /* [1] */ 256 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 257 /*pFunc=*/ (void (*)(void)) NULL, 258 #else 259 /*pFunc=*/ (void (*)(void)) kchannelCtrlGetTpcPartitionMode_a094e1, 260 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 261 /*flags=*/ 0x10u, 262 /*accessRight=*/0x0u, 263 /*methodId=*/ 0x900103u, 264 /*paramSize=*/ sizeof(NV0090_CTRL_TPC_PARTITION_MODE_PARAMS), 265 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 266 #if NV_PRINTF_STRINGS_ALLOWED 267 /*func=*/ "kchannelCtrlGetTpcPartitionMode" 268 #endif 269 }, 270 { /* [2] */ 271 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 272 /*pFunc=*/ (void (*)(void)) NULL, 273 #else 274 /*pFunc=*/ (void (*)(void)) kchannelCtrlGetMMUDebugMode_a094e1, 275 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 276 /*flags=*/ 0x10u, 277 /*accessRight=*/0x0u, 278 /*methodId=*/ 0x900105u, 279 /*paramSize=*/ sizeof(NV0090_CTRL_GET_MMU_DEBUG_MODE_PARAMS), 280 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 281 #if NV_PRINTF_STRINGS_ALLOWED 282 /*func=*/ "kchannelCtrlGetMMUDebugMode" 283 #endif 284 }, 285 { /* [3] */ 286 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 287 /*pFunc=*/ (void (*)(void)) NULL, 288 #else 289 /*pFunc=*/ (void (*)(void)) kchannelCtrlProgramVidmemPromote_a094e1, 290 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 291 /*flags=*/ 0x10u, 292 /*accessRight=*/0x0u, 293 /*methodId=*/ 0x900107u, 294 /*paramSize=*/ sizeof(NV0090_CTRL_PROGRAM_VIDMEM_PROMOTE_PARAMS), 295 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 296 #if NV_PRINTF_STRINGS_ALLOWED 297 /*func=*/ "kchannelCtrlProgramVidmemPromote" 298 #endif 299 }, 300 { /* [4] */ 301 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 302 /*pFunc=*/ (void (*)(void)) NULL, 303 #else 304 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdResetIsolatedChannel_IMPL, 305 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 306 /*flags=*/ 0x2210u, 307 /*accessRight=*/0x0u, 308 /*methodId=*/ 0x506f0105u, 309 /*paramSize=*/ sizeof(NV506F_CTRL_CMD_RESET_ISOLATED_CHANNEL_PARAMS), 310 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 311 #if NV_PRINTF_STRINGS_ALLOWED 312 /*func=*/ "kchannelCtrlCmdResetIsolatedChannel" 313 #endif 314 }, 315 { /* [5] */ 316 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 317 /*pFunc=*/ (void (*)(void)) NULL, 318 #else 319 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetClassEngineid_IMPL, 320 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 321 /*flags=*/ 0x10u, 322 /*accessRight=*/0x0u, 323 /*methodId=*/ 0x906f0101u, 324 /*paramSize=*/ sizeof(NV906F_CTRL_GET_CLASS_ENGINEID_PARAMS), 325 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 326 #if NV_PRINTF_STRINGS_ALLOWED 327 /*func=*/ "kchannelCtrlCmdGetClassEngineid" 328 #endif 329 }, 330 { /* [6] */ 331 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 332 /*pFunc=*/ (void (*)(void)) NULL, 333 #else 334 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdResetChannel_IMPL, 335 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 336 /*flags=*/ 0x10u, 337 /*accessRight=*/0x0u, 338 /*methodId=*/ 0x906f0102u, 339 /*paramSize=*/ sizeof(NV906F_CTRL_CMD_RESET_CHANNEL_PARAMS), 340 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 341 #if NV_PRINTF_STRINGS_ALLOWED 342 /*func=*/ "kchannelCtrlCmdResetChannel" 343 #endif 344 }, 345 { /* [7] */ 346 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 347 /*pFunc=*/ (void (*)(void)) NULL, 348 #else 349 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetDeferRCState_IMPL, 350 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 351 /*flags=*/ 0x2210u, 352 /*accessRight=*/0x0u, 353 /*methodId=*/ 0x906f0105u, 354 /*paramSize=*/ sizeof(NV906F_CTRL_CMD_GET_DEFER_RC_STATE_PARAMS), 355 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 356 #if NV_PRINTF_STRINGS_ALLOWED 357 /*func=*/ "kchannelCtrlCmdGetDeferRCState" 358 #endif 359 }, 360 { /* [8] */ 361 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 362 /*pFunc=*/ (void (*)(void)) NULL, 363 #else 364 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetMmuFaultInfo_IMPL, 365 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 366 /*flags=*/ 0x2210u, 367 /*accessRight=*/0x0u, 368 /*methodId=*/ 0x906f0106u, 369 /*paramSize=*/ sizeof(NV906F_CTRL_GET_MMU_FAULT_INFO_PARAMS), 370 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 371 #if NV_PRINTF_STRINGS_ALLOWED 372 /*func=*/ "kchannelCtrlCmdGetMmuFaultInfo" 373 #endif 374 }, 375 { /* [9] */ 376 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 377 /*pFunc=*/ (void (*)(void)) NULL, 378 #else 379 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdEventSetNotification_IMPL, 380 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 381 /*flags=*/ 0x10u, 382 /*accessRight=*/0x0u, 383 /*methodId=*/ 0x906f0203u, 384 /*paramSize=*/ sizeof(NV906F_CTRL_EVENT_SET_NOTIFICATION_PARAMS), 385 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 386 #if NV_PRINTF_STRINGS_ALLOWED 387 /*func=*/ "kchannelCtrlCmdEventSetNotification" 388 #endif 389 }, 390 { /* [10] */ 391 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 392 /*pFunc=*/ (void (*)(void)) NULL, 393 #else 394 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetClassEngineidA06F_6a9a13, 395 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 396 /*flags=*/ 0x10u, 397 /*accessRight=*/0x0u, 398 /*methodId=*/ 0xa06f0101u, 399 /*paramSize=*/ sizeof(NVA06F_CTRL_GET_CLASS_ENGINEID_PARAMS), 400 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 401 #if NV_PRINTF_STRINGS_ALLOWED 402 /*func=*/ "kchannelCtrlCmdGetClassEngineidA06F" 403 #endif 404 }, 405 { /* [11] */ 406 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 407 /*pFunc=*/ (void (*)(void)) NULL, 408 #else 409 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdResetChannelA06F_ef73a1, 410 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 411 /*flags=*/ 0x10u, 412 /*accessRight=*/0x0u, 413 /*methodId=*/ 0xa06f0102u, 414 /*paramSize=*/ sizeof(NVA06F_CTRL_CMD_RESET_CHANNEL_PARAMS), 415 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 416 #if NV_PRINTF_STRINGS_ALLOWED 417 /*func=*/ "kchannelCtrlCmdResetChannelA06F" 418 #endif 419 }, 420 { /* [12] */ 421 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 422 /*pFunc=*/ (void (*)(void)) NULL, 423 #else 424 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGpFifoSchedule_IMPL, 425 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 426 /*flags=*/ 0x10u, 427 /*accessRight=*/0x0u, 428 /*methodId=*/ 0xa06f0103u, 429 /*paramSize=*/ sizeof(NVA06F_CTRL_GPFIFO_SCHEDULE_PARAMS), 430 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 431 #if NV_PRINTF_STRINGS_ALLOWED 432 /*func=*/ "kchannelCtrlCmdGpFifoSchedule" 433 #endif 434 }, 435 { /* [13] */ 436 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 437 /*pFunc=*/ (void (*)(void)) NULL, 438 #else 439 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdBind_IMPL, 440 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 441 /*flags=*/ 0x10u, 442 /*accessRight=*/0x0u, 443 /*methodId=*/ 0xa06f0104u, 444 /*paramSize=*/ sizeof(NVA06F_CTRL_BIND_PARAMS), 445 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 446 #if NV_PRINTF_STRINGS_ALLOWED 447 /*func=*/ "kchannelCtrlCmdBind" 448 #endif 449 }, 450 { /* [14] */ 451 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 452 /*pFunc=*/ (void (*)(void)) NULL, 453 #else 454 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetMmuFaultInfoA06F_a7f9ac, 455 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 456 /*flags=*/ 0x2210u, 457 /*accessRight=*/0x0u, 458 /*methodId=*/ 0xa06f0107u, 459 /*paramSize=*/ sizeof(NVA06F_CTRL_GET_MMU_FAULT_INFO_PARAMS), 460 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 461 #if NV_PRINTF_STRINGS_ALLOWED 462 /*func=*/ "kchannelCtrlCmdGetMmuFaultInfoA06F" 463 #endif 464 }, 465 { /* [15] */ 466 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 467 /*pFunc=*/ (void (*)(void)) NULL, 468 #else 469 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdSetErrorNotifier_IMPL, 470 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 471 /*flags=*/ 0x10u, 472 /*accessRight=*/0x0u, 473 /*methodId=*/ 0xa06f0108u, 474 /*paramSize=*/ sizeof(NVA06F_CTRL_SET_ERROR_NOTIFIER_PARAMS), 475 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 476 #if NV_PRINTF_STRINGS_ALLOWED 477 /*func=*/ "kchannelCtrlCmdSetErrorNotifier" 478 #endif 479 }, 480 { /* [16] */ 481 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x110u) 482 /*pFunc=*/ (void (*)(void)) NULL, 483 #else 484 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdSetInterleaveLevel_IMPL, 485 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x110u) 486 /*flags=*/ 0x110u, 487 /*accessRight=*/0x2u, 488 /*methodId=*/ 0xa06f0109u, 489 /*paramSize=*/ sizeof(NVA06F_CTRL_INTERLEAVE_LEVEL_PARAMS), 490 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 491 #if NV_PRINTF_STRINGS_ALLOWED 492 /*func=*/ "kchannelCtrlCmdSetInterleaveLevel" 493 #endif 494 }, 495 { /* [17] */ 496 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 497 /*pFunc=*/ (void (*)(void)) NULL, 498 #else 499 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdRestartRunlist_IMPL, 500 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 501 /*flags=*/ 0x2210u, 502 /*accessRight=*/0x2u, 503 /*methodId=*/ 0xa06f0111u, 504 /*paramSize=*/ sizeof(NVA06F_CTRL_RESTART_RUNLIST_PARAMS), 505 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 506 #if NV_PRINTF_STRINGS_ALLOWED 507 /*func=*/ "kchannelCtrlCmdRestartRunlist" 508 #endif 509 }, 510 { /* [18] */ 511 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 512 /*pFunc=*/ (void (*)(void)) NULL, 513 #else 514 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdStopChannel_IMPL, 515 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 516 /*flags=*/ 0x10u, 517 /*accessRight=*/0x0u, 518 /*methodId=*/ 0xa06f0112u, 519 /*paramSize=*/ sizeof(NVA06F_CTRL_STOP_CHANNEL_PARAMS), 520 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 521 #if NV_PRINTF_STRINGS_ALLOWED 522 /*func=*/ "kchannelCtrlCmdStopChannel" 523 #endif 524 }, 525 { /* [19] */ 526 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 527 /*pFunc=*/ (void (*)(void)) NULL, 528 #else 529 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetClassEngineidA16F_6a9a13, 530 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 531 /*flags=*/ 0x10u, 532 /*accessRight=*/0x0u, 533 /*methodId=*/ 0xa16f0101u, 534 /*paramSize=*/ sizeof(NVA16F_CTRL_GET_CLASS_ENGINEID_PARAMS), 535 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 536 #if NV_PRINTF_STRINGS_ALLOWED 537 /*func=*/ "kchannelCtrlCmdGetClassEngineidA16F" 538 #endif 539 }, 540 { /* [20] */ 541 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 542 /*pFunc=*/ (void (*)(void)) NULL, 543 #else 544 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdResetChannelA16F_ef73a1, 545 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 546 /*flags=*/ 0x10u, 547 /*accessRight=*/0x0u, 548 /*methodId=*/ 0xa16f0102u, 549 /*paramSize=*/ sizeof(NVA16F_CTRL_CMD_RESET_CHANNEL_PARAMS), 550 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 551 #if NV_PRINTF_STRINGS_ALLOWED 552 /*func=*/ "kchannelCtrlCmdResetChannelA16F" 553 #endif 554 }, 555 { /* [21] */ 556 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 557 /*pFunc=*/ (void (*)(void)) NULL, 558 #else 559 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGpFifoScheduleA16F_6546a6, 560 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 561 /*flags=*/ 0x10u, 562 /*accessRight=*/0x0u, 563 /*methodId=*/ 0xa16f0103u, 564 /*paramSize=*/ sizeof(NVA16F_CTRL_GPFIFO_SCHEDULE_PARAMS), 565 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 566 #if NV_PRINTF_STRINGS_ALLOWED 567 /*func=*/ "kchannelCtrlCmdGpFifoScheduleA16F" 568 #endif 569 }, 570 { /* [22] */ 571 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 572 /*pFunc=*/ (void (*)(void)) NULL, 573 #else 574 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetClassEngineidA26F_6a9a13, 575 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 576 /*flags=*/ 0x10u, 577 /*accessRight=*/0x0u, 578 /*methodId=*/ 0xa26f0101u, 579 /*paramSize=*/ sizeof(NVA26F_CTRL_GET_CLASS_ENGINEID_PARAMS), 580 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 581 #if NV_PRINTF_STRINGS_ALLOWED 582 /*func=*/ "kchannelCtrlCmdGetClassEngineidA26F" 583 #endif 584 }, 585 { /* [23] */ 586 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 587 /*pFunc=*/ (void (*)(void)) NULL, 588 #else 589 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdResetChannelA26F_ef73a1, 590 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 591 /*flags=*/ 0x10u, 592 /*accessRight=*/0x0u, 593 /*methodId=*/ 0xa26f0102u, 594 /*paramSize=*/ sizeof(NVA26F_CTRL_CMD_RESET_CHANNEL_PARAMS), 595 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 596 #if NV_PRINTF_STRINGS_ALLOWED 597 /*func=*/ "kchannelCtrlCmdResetChannelA26F" 598 #endif 599 }, 600 { /* [24] */ 601 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 602 /*pFunc=*/ (void (*)(void)) NULL, 603 #else 604 /*pFunc=*/ (void (*)(void)) kchannelFCtrlCmdGpFifoScheduleA26F_6546a6, 605 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 606 /*flags=*/ 0x10u, 607 /*accessRight=*/0x0u, 608 /*methodId=*/ 0xa26f0103u, 609 /*paramSize=*/ sizeof(NVA26F_CTRL_GPFIFO_SCHEDULE_PARAMS), 610 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 611 #if NV_PRINTF_STRINGS_ALLOWED 612 /*func=*/ "kchannelFCtrlCmdGpFifoScheduleA26F" 613 #endif 614 }, 615 { /* [25] */ 616 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 617 /*pFunc=*/ (void (*)(void)) NULL, 618 #else 619 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetClassEngineidB06F_6a9a13, 620 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 621 /*flags=*/ 0x10u, 622 /*accessRight=*/0x0u, 623 /*methodId=*/ 0xb06f0101u, 624 /*paramSize=*/ sizeof(NVB06F_CTRL_GET_CLASS_ENGINEID_PARAMS), 625 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 626 #if NV_PRINTF_STRINGS_ALLOWED 627 /*func=*/ "kchannelCtrlCmdGetClassEngineidB06F" 628 #endif 629 }, 630 { /* [26] */ 631 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 632 /*pFunc=*/ (void (*)(void)) NULL, 633 #else 634 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdResetChannelB06F_ef73a1, 635 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 636 /*flags=*/ 0x10u, 637 /*accessRight=*/0x0u, 638 /*methodId=*/ 0xb06f0102u, 639 /*paramSize=*/ sizeof(NVB06F_CTRL_CMD_RESET_CHANNEL_PARAMS), 640 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 641 #if NV_PRINTF_STRINGS_ALLOWED 642 /*func=*/ "kchannelCtrlCmdResetChannelB06F" 643 #endif 644 }, 645 { /* [27] */ 646 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 647 /*pFunc=*/ (void (*)(void)) NULL, 648 #else 649 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGpFifoScheduleB06F_6546a6, 650 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 651 /*flags=*/ 0x10u, 652 /*accessRight=*/0x0u, 653 /*methodId=*/ 0xb06f0103u, 654 /*paramSize=*/ sizeof(NVB06F_CTRL_GPFIFO_SCHEDULE_PARAMS), 655 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 656 #if NV_PRINTF_STRINGS_ALLOWED 657 /*func=*/ "kchannelCtrlCmdGpFifoScheduleB06F" 658 #endif 659 }, 660 { /* [28] */ 661 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 662 /*pFunc=*/ (void (*)(void)) NULL, 663 #else 664 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdBindB06F_2c1c21, 665 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 666 /*flags=*/ 0x10u, 667 /*accessRight=*/0x0u, 668 /*methodId=*/ 0xb06f0104u, 669 /*paramSize=*/ sizeof(NVB06F_CTRL_BIND_PARAMS), 670 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 671 #if NV_PRINTF_STRINGS_ALLOWED 672 /*func=*/ "kchannelCtrlCmdBindB06F" 673 #endif 674 }, 675 { /* [29] */ 676 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 677 /*pFunc=*/ (void (*)(void)) NULL, 678 #else 679 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetEngineCtxSize_IMPL, 680 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 681 /*flags=*/ 0x2210u, 682 /*accessRight=*/0x0u, 683 /*methodId=*/ 0xb06f010bu, 684 /*paramSize=*/ sizeof(NVB06F_CTRL_GET_ENGINE_CTX_SIZE_PARAMS), 685 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 686 #if NV_PRINTF_STRINGS_ALLOWED 687 /*func=*/ "kchannelCtrlCmdGetEngineCtxSize" 688 #endif 689 }, 690 { /* [30] */ 691 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 692 /*pFunc=*/ (void (*)(void)) NULL, 693 #else 694 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetEngineCtxData_IMPL, 695 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 696 /*flags=*/ 0x2210u, 697 /*accessRight=*/0x0u, 698 /*methodId=*/ 0xb06f010cu, 699 /*paramSize=*/ sizeof(NVB06F_CTRL_GET_ENGINE_CTX_DATA_PARAMS), 700 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 701 #if NV_PRINTF_STRINGS_ALLOWED 702 /*func=*/ "kchannelCtrlCmdGetEngineCtxData" 703 #endif 704 }, 705 { /* [31] */ 706 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x42204u) 707 /*pFunc=*/ (void (*)(void)) NULL, 708 #else 709 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdMigrateEngineCtxData_IMPL, 710 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x42204u) 711 /*flags=*/ 0x42204u, 712 /*accessRight=*/0x0u, 713 /*methodId=*/ 0xb06f010du, 714 /*paramSize=*/ sizeof(NVB06F_CTRL_MIGRATE_ENGINE_CTX_DATA_PARAMS), 715 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 716 #if NV_PRINTF_STRINGS_ALLOWED 717 /*func=*/ "kchannelCtrlCmdMigrateEngineCtxData" 718 #endif 719 }, 720 { /* [32] */ 721 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 722 /*pFunc=*/ (void (*)(void)) NULL, 723 #else 724 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetEngineCtxState_IMPL, 725 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 726 /*flags=*/ 0x2210u, 727 /*accessRight=*/0x0u, 728 /*methodId=*/ 0xb06f010eu, 729 /*paramSize=*/ sizeof(NVB06F_CTRL_GET_ENGINE_CTX_STATE_PARAMS), 730 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 731 #if NV_PRINTF_STRINGS_ALLOWED 732 /*func=*/ "kchannelCtrlCmdGetEngineCtxState" 733 #endif 734 }, 735 { /* [33] */ 736 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 737 /*pFunc=*/ (void (*)(void)) NULL, 738 #else 739 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetChannelHwState_IMPL, 740 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 741 /*flags=*/ 0x2210u, 742 /*accessRight=*/0x0u, 743 /*methodId=*/ 0xb06f010fu, 744 /*paramSize=*/ sizeof(NVB06F_CTRL_GET_CHANNEL_HW_STATE_PARAMS), 745 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 746 #if NV_PRINTF_STRINGS_ALLOWED 747 /*func=*/ "kchannelCtrlCmdGetChannelHwState" 748 #endif 749 }, 750 { /* [34] */ 751 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x142204u) 752 /*pFunc=*/ (void (*)(void)) NULL, 753 #else 754 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdSetChannelHwState_IMPL, 755 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x142204u) 756 /*flags=*/ 0x142204u, 757 /*accessRight=*/0x0u, 758 /*methodId=*/ 0xb06f0110u, 759 /*paramSize=*/ sizeof(NVB06F_CTRL_SET_CHANNEL_HW_STATE_PARAMS), 760 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 761 #if NV_PRINTF_STRINGS_ALLOWED 762 /*func=*/ "kchannelCtrlCmdSetChannelHwState" 763 #endif 764 }, 765 { /* [35] */ 766 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 767 /*pFunc=*/ (void (*)(void)) NULL, 768 #else 769 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdSaveEngineCtxData_IMPL, 770 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 771 /*flags=*/ 0x2210u, 772 /*accessRight=*/0x0u, 773 /*methodId=*/ 0xb06f0111u, 774 /*paramSize=*/ sizeof(NVB06F_CTRL_SAVE_ENGINE_CTX_DATA_PARAMS), 775 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 776 #if NV_PRINTF_STRINGS_ALLOWED 777 /*func=*/ "kchannelCtrlCmdSaveEngineCtxData" 778 #endif 779 }, 780 { /* [36] */ 781 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x142204u) 782 /*pFunc=*/ (void (*)(void)) NULL, 783 #else 784 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdRestoreEngineCtxData_IMPL, 785 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x142204u) 786 /*flags=*/ 0x142204u, 787 /*accessRight=*/0x0u, 788 /*methodId=*/ 0xb06f0112u, 789 /*paramSize=*/ sizeof(NVB06F_CTRL_RESTORE_ENGINE_CTX_DATA_PARAMS), 790 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 791 #if NV_PRINTF_STRINGS_ALLOWED 792 /*func=*/ "kchannelCtrlCmdRestoreEngineCtxData" 793 #endif 794 }, 795 { /* [37] */ 796 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 797 /*pFunc=*/ (void (*)(void)) NULL, 798 #else 799 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetClassEngineidC06F_6a9a13, 800 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 801 /*flags=*/ 0x10u, 802 /*accessRight=*/0x0u, 803 /*methodId=*/ 0xc06f0101u, 804 /*paramSize=*/ sizeof(NVC06F_CTRL_GET_CLASS_ENGINEID_PARAMS), 805 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 806 #if NV_PRINTF_STRINGS_ALLOWED 807 /*func=*/ "kchannelCtrlCmdGetClassEngineidC06F" 808 #endif 809 }, 810 { /* [38] */ 811 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 812 /*pFunc=*/ (void (*)(void)) NULL, 813 #else 814 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdResetChannelC06F_ef73a1, 815 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 816 /*flags=*/ 0x10u, 817 /*accessRight=*/0x0u, 818 /*methodId=*/ 0xc06f0102u, 819 /*paramSize=*/ sizeof(NVC06F_CTRL_CMD_RESET_CHANNEL_PARAMS), 820 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 821 #if NV_PRINTF_STRINGS_ALLOWED 822 /*func=*/ "kchannelCtrlCmdResetChannelC06F" 823 #endif 824 }, 825 { /* [39] */ 826 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 827 /*pFunc=*/ (void (*)(void)) NULL, 828 #else 829 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGpFifoScheduleC06F_6546a6, 830 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 831 /*flags=*/ 0x10u, 832 /*accessRight=*/0x0u, 833 /*methodId=*/ 0xc06f0103u, 834 /*paramSize=*/ sizeof(NVC06F_CTRL_GPFIFO_SCHEDULE_PARAMS), 835 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 836 #if NV_PRINTF_STRINGS_ALLOWED 837 /*func=*/ "kchannelCtrlCmdGpFifoScheduleC06F" 838 #endif 839 }, 840 { /* [40] */ 841 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 842 /*pFunc=*/ (void (*)(void)) NULL, 843 #else 844 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdBindC06F_2c1c21, 845 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 846 /*flags=*/ 0x10u, 847 /*accessRight=*/0x0u, 848 /*methodId=*/ 0xc06f0104u, 849 /*paramSize=*/ sizeof(NVC06F_CTRL_BIND_PARAMS), 850 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 851 #if NV_PRINTF_STRINGS_ALLOWED 852 /*func=*/ "kchannelCtrlCmdBindC06F" 853 #endif 854 }, 855 { /* [41] */ 856 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 857 /*pFunc=*/ (void (*)(void)) NULL, 858 #else 859 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetClassEngineidC36F_6a9a13, 860 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 861 /*flags=*/ 0x10u, 862 /*accessRight=*/0x0u, 863 /*methodId=*/ 0xc36f0101u, 864 /*paramSize=*/ sizeof(NVC36F_CTRL_GET_CLASS_ENGINEID_PARAMS), 865 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 866 #if NV_PRINTF_STRINGS_ALLOWED 867 /*func=*/ "kchannelCtrlCmdGetClassEngineidC36F" 868 #endif 869 }, 870 { /* [42] */ 871 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 872 /*pFunc=*/ (void (*)(void)) NULL, 873 #else 874 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdResetChannelC36F_ef73a1, 875 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 876 /*flags=*/ 0x10u, 877 /*accessRight=*/0x0u, 878 /*methodId=*/ 0xc36f0102u, 879 /*paramSize=*/ sizeof(NVC36F_CTRL_CMD_RESET_CHANNEL_PARAMS), 880 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 881 #if NV_PRINTF_STRINGS_ALLOWED 882 /*func=*/ "kchannelCtrlCmdResetChannelC36F" 883 #endif 884 }, 885 { /* [43] */ 886 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 887 /*pFunc=*/ (void (*)(void)) NULL, 888 #else 889 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGpFifoScheduleC36F_6546a6, 890 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 891 /*flags=*/ 0x10u, 892 /*accessRight=*/0x0u, 893 /*methodId=*/ 0xc36f0103u, 894 /*paramSize=*/ sizeof(NVC36F_CTRL_GPFIFO_SCHEDULE_PARAMS), 895 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 896 #if NV_PRINTF_STRINGS_ALLOWED 897 /*func=*/ "kchannelCtrlCmdGpFifoScheduleC36F" 898 #endif 899 }, 900 { /* [44] */ 901 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 902 /*pFunc=*/ (void (*)(void)) NULL, 903 #else 904 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdBindC36F_2c1c21, 905 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 906 /*flags=*/ 0x10u, 907 /*accessRight=*/0x0u, 908 /*methodId=*/ 0xc36f0104u, 909 /*paramSize=*/ sizeof(NVC36F_CTRL_BIND_PARAMS), 910 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 911 #if NV_PRINTF_STRINGS_ALLOWED 912 /*func=*/ "kchannelCtrlCmdBindC36F" 913 #endif 914 }, 915 { /* [45] */ 916 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 917 /*pFunc=*/ (void (*)(void)) NULL, 918 #else 919 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGpfifoGetWorkSubmitToken_IMPL, 920 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 921 /*flags=*/ 0x10u, 922 /*accessRight=*/0x0u, 923 /*methodId=*/ 0xc36f0108u, 924 /*paramSize=*/ sizeof(NVC36F_CTRL_CMD_GPFIFO_GET_WORK_SUBMIT_TOKEN_PARAMS), 925 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 926 #if NV_PRINTF_STRINGS_ALLOWED 927 /*func=*/ "kchannelCtrlCmdGpfifoGetWorkSubmitToken" 928 #endif 929 }, 930 { /* [46] */ 931 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2204u) 932 /*pFunc=*/ (void (*)(void)) NULL, 933 #else 934 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGpfifoUpdateFaultMethodBuffer_IMPL, 935 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2204u) 936 /*flags=*/ 0x2204u, 937 /*accessRight=*/0x0u, 938 /*methodId=*/ 0xc36f0109u, 939 /*paramSize=*/ sizeof(NVC36F_CTRL_GPFIFO_UPDATE_FAULT_METHOD_BUFFER_PARAMS), 940 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 941 #if NV_PRINTF_STRINGS_ALLOWED 942 /*func=*/ "kchannelCtrlCmdGpfifoUpdateFaultMethodBuffer" 943 #endif 944 }, 945 { /* [47] */ 946 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 947 /*pFunc=*/ (void (*)(void)) NULL, 948 #else 949 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGpfifoSetWorkSubmitTokenNotifIndex_IMPL, 950 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 951 /*flags=*/ 0x10u, 952 /*accessRight=*/0x0u, 953 /*methodId=*/ 0xc36f010au, 954 /*paramSize=*/ sizeof(NVC36F_CTRL_GPFIFO_SET_WORK_SUBMIT_TOKEN_NOTIF_INDEX_PARAMS), 955 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 956 #if NV_PRINTF_STRINGS_ALLOWED 957 /*func=*/ "kchannelCtrlCmdGpfifoSetWorkSubmitTokenNotifIndex" 958 #endif 959 }, 960 { /* [48] */ 961 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 962 /*pFunc=*/ (void (*)(void)) NULL, 963 #else 964 /*pFunc=*/ (void (*)(void)) kchannelCtrlCmdGetKmb_IMPL, 965 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 966 /*flags=*/ 0x2210u, 967 /*accessRight=*/0x0u, 968 /*methodId=*/ 0xc56f010bu, 969 /*paramSize=*/ sizeof(NVC56F_CTRL_CMD_GET_KMB_PARAMS), 970 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 971 #if NV_PRINTF_STRINGS_ALLOWED 972 /*func=*/ "kchannelCtrlCmdGetKmb" 973 #endif 974 }, 975 { /* [49] */ 976 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 977 /*pFunc=*/ (void (*)(void)) NULL, 978 #else 979 /*pFunc=*/ (void (*)(void)) kchannelCtrlRotateSecureChannelIv_IMPL, 980 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 981 /*flags=*/ 0x2210u, 982 /*accessRight=*/0x0u, 983 /*methodId=*/ 0xc56f010cu, 984 /*paramSize=*/ sizeof(NVC56F_CTRL_ROTATE_SECURE_CHANNEL_IV_PARAMS), 985 /*pClassInfo=*/ &(__nvoc_class_def_KernelChannel.classInfo), 986 #if NV_PRINTF_STRINGS_ALLOWED 987 /*func=*/ "kchannelCtrlRotateSecureChannelIv" 988 #endif 989 }, 990 991 }; 992 993 const struct NVOC_EXPORT_INFO __nvoc_export_info_KernelChannel = 994 { 995 /*numEntries=*/ 50, 996 /*pExportEntries=*/ __nvoc_exported_method_def_KernelChannel 997 }; 998 999 void __nvoc_dtor_GpuResource(GpuResource*); 1000 void __nvoc_dtor_Notifier(Notifier*); 1001 void __nvoc_dtor_KernelChannel(KernelChannel *pThis) { 1002 __nvoc_kchannelDestruct(pThis); 1003 __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource); 1004 __nvoc_dtor_Notifier(&pThis->__nvoc_base_Notifier); 1005 PORT_UNREFERENCED_VARIABLE(pThis); 1006 } 1007 1008 void __nvoc_init_dataField_KernelChannel(KernelChannel *pThis, RmHalspecOwner *pRmhalspecowner) { 1009 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal; 1010 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx; 1011 ChipHal *chipHal = &pRmhalspecowner->chipHal; 1012 const unsigned long chipHal_HalVarIdx = (unsigned long)chipHal->__nvoc_HalVarIdx; 1013 PORT_UNREFERENCED_VARIABLE(pThis); 1014 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner); 1015 PORT_UNREFERENCED_VARIABLE(rmVariantHal); 1016 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx); 1017 PORT_UNREFERENCED_VARIABLE(chipHal); 1018 PORT_UNREFERENCED_VARIABLE(chipHal_HalVarIdx); 1019 } 1020 1021 NV_STATUS __nvoc_ctor_GpuResource(GpuResource* , CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *); 1022 NV_STATUS __nvoc_ctor_Notifier(Notifier* , CALL_CONTEXT *); 1023 NV_STATUS __nvoc_ctor_KernelChannel(KernelChannel *pThis, RmHalspecOwner *pRmhalspecowner, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) { 1024 NV_STATUS status = NV_OK; 1025 status = __nvoc_ctor_GpuResource(&pThis->__nvoc_base_GpuResource, arg_pCallContext, arg_pParams); 1026 if (status != NV_OK) goto __nvoc_ctor_KernelChannel_fail_GpuResource; 1027 status = __nvoc_ctor_Notifier(&pThis->__nvoc_base_Notifier, arg_pCallContext); 1028 if (status != NV_OK) goto __nvoc_ctor_KernelChannel_fail_Notifier; 1029 __nvoc_init_dataField_KernelChannel(pThis, pRmhalspecowner); 1030 1031 status = __nvoc_kchannelConstruct(pThis, arg_pCallContext, arg_pParams); 1032 if (status != NV_OK) goto __nvoc_ctor_KernelChannel_fail__init; 1033 goto __nvoc_ctor_KernelChannel_exit; // Success 1034 1035 __nvoc_ctor_KernelChannel_fail__init: 1036 __nvoc_dtor_Notifier(&pThis->__nvoc_base_Notifier); 1037 __nvoc_ctor_KernelChannel_fail_Notifier: 1038 __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource); 1039 __nvoc_ctor_KernelChannel_fail_GpuResource: 1040 __nvoc_ctor_KernelChannel_exit: 1041 1042 return status; 1043 } 1044 1045 static void __nvoc_init_funcTable_KernelChannel_1(KernelChannel *pThis, RmHalspecOwner *pRmhalspecowner) { 1046 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal; 1047 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx; 1048 ChipHal *chipHal = &pRmhalspecowner->chipHal; 1049 const unsigned long chipHal_HalVarIdx = (unsigned long)chipHal->__nvoc_HalVarIdx; 1050 PORT_UNREFERENCED_VARIABLE(pThis); 1051 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner); 1052 PORT_UNREFERENCED_VARIABLE(rmVariantHal); 1053 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx); 1054 PORT_UNREFERENCED_VARIABLE(chipHal); 1055 PORT_UNREFERENCED_VARIABLE(chipHal_HalVarIdx); 1056 1057 pThis->__kchannelMap__ = &kchannelMap_IMPL; 1058 1059 pThis->__kchannelUnmap__ = &kchannelUnmap_IMPL; 1060 1061 pThis->__kchannelGetMapAddrSpace__ = &kchannelGetMapAddrSpace_IMPL; 1062 1063 pThis->__kchannelGetMemInterMapParams__ = &kchannelGetMemInterMapParams_IMPL; 1064 1065 pThis->__kchannelCheckMemInterUnmap__ = &kchannelCheckMemInterUnmap_IMPL; 1066 1067 // Hal function -- kchannelCreateUserMemDesc 1068 if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */ 1069 { 1070 pThis->__kchannelCreateUserMemDesc__ = &kchannelCreateUserMemDesc_GA10B; 1071 } 1072 else 1073 { 1074 pThis->__kchannelCreateUserMemDesc__ = &kchannelCreateUserMemDesc_GM107; 1075 } 1076 1077 // Hal function -- kchannelIsUserdAddrSizeValid 1078 if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */ 1079 { 1080 pThis->__kchannelIsUserdAddrSizeValid__ = &kchannelIsUserdAddrSizeValid_GH100; 1081 } 1082 else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x000003e0UL) )) /* ChipHal: TU102 | TU104 | TU106 | TU116 | TU117 */ 1083 { 1084 pThis->__kchannelIsUserdAddrSizeValid__ = &kchannelIsUserdAddrSizeValid_GV100; 1085 } 1086 else 1087 { 1088 pThis->__kchannelIsUserdAddrSizeValid__ = &kchannelIsUserdAddrSizeValid_GA100; 1089 } 1090 1091 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1092 pThis->__kchannelCtrlCmdResetIsolatedChannel__ = &kchannelCtrlCmdResetIsolatedChannel_IMPL; 1093 #endif 1094 1095 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1096 pThis->__kchannelCtrlCmdGetClassEngineid__ = &kchannelCtrlCmdGetClassEngineid_IMPL; 1097 #endif 1098 1099 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1100 pThis->__kchannelCtrlCmdResetChannel__ = &kchannelCtrlCmdResetChannel_IMPL; 1101 #endif 1102 1103 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1104 pThis->__kchannelCtrlCmdGetDeferRCState__ = &kchannelCtrlCmdGetDeferRCState_IMPL; 1105 #endif 1106 1107 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1108 pThis->__kchannelCtrlCmdGetMmuFaultInfo__ = &kchannelCtrlCmdGetMmuFaultInfo_IMPL; 1109 #endif 1110 1111 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1112 pThis->__kchannelCtrlCmdEventSetNotification__ = &kchannelCtrlCmdEventSetNotification_IMPL; 1113 #endif 1114 1115 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1116 pThis->__kchannelCtrlCmdGetClassEngineidA06F__ = &kchannelCtrlCmdGetClassEngineidA06F_6a9a13; 1117 #endif 1118 1119 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1120 pThis->__kchannelCtrlCmdResetChannelA06F__ = &kchannelCtrlCmdResetChannelA06F_ef73a1; 1121 #endif 1122 1123 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1124 pThis->__kchannelCtrlCmdGpFifoSchedule__ = &kchannelCtrlCmdGpFifoSchedule_IMPL; 1125 #endif 1126 1127 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1128 pThis->__kchannelCtrlCmdBind__ = &kchannelCtrlCmdBind_IMPL; 1129 #endif 1130 1131 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1132 pThis->__kchannelCtrlCmdGetMmuFaultInfoA06F__ = &kchannelCtrlCmdGetMmuFaultInfoA06F_a7f9ac; 1133 #endif 1134 1135 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1136 pThis->__kchannelCtrlCmdSetErrorNotifier__ = &kchannelCtrlCmdSetErrorNotifier_IMPL; 1137 #endif 1138 1139 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x110u) 1140 pThis->__kchannelCtrlCmdSetInterleaveLevel__ = &kchannelCtrlCmdSetInterleaveLevel_IMPL; 1141 #endif 1142 1143 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1144 pThis->__kchannelCtrlCmdRestartRunlist__ = &kchannelCtrlCmdRestartRunlist_IMPL; 1145 #endif 1146 1147 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1148 pThis->__kchannelCtrlCmdGetClassEngineidA16F__ = &kchannelCtrlCmdGetClassEngineidA16F_6a9a13; 1149 #endif 1150 1151 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1152 pThis->__kchannelCtrlCmdResetChannelA16F__ = &kchannelCtrlCmdResetChannelA16F_ef73a1; 1153 #endif 1154 1155 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1156 pThis->__kchannelCtrlCmdGpFifoScheduleA16F__ = &kchannelCtrlCmdGpFifoScheduleA16F_6546a6; 1157 #endif 1158 1159 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1160 pThis->__kchannelCtrlCmdGetClassEngineidA26F__ = &kchannelCtrlCmdGetClassEngineidA26F_6a9a13; 1161 #endif 1162 1163 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1164 pThis->__kchannelCtrlCmdResetChannelA26F__ = &kchannelCtrlCmdResetChannelA26F_ef73a1; 1165 #endif 1166 1167 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1168 pThis->__kchannelFCtrlCmdGpFifoScheduleA26F__ = &kchannelFCtrlCmdGpFifoScheduleA26F_6546a6; 1169 #endif 1170 1171 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1172 pThis->__kchannelCtrlCmdGetClassEngineidB06F__ = &kchannelCtrlCmdGetClassEngineidB06F_6a9a13; 1173 #endif 1174 1175 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1176 pThis->__kchannelCtrlCmdResetChannelB06F__ = &kchannelCtrlCmdResetChannelB06F_ef73a1; 1177 #endif 1178 1179 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1180 pThis->__kchannelCtrlCmdGpFifoScheduleB06F__ = &kchannelCtrlCmdGpFifoScheduleB06F_6546a6; 1181 #endif 1182 1183 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1184 pThis->__kchannelCtrlCmdBindB06F__ = &kchannelCtrlCmdBindB06F_2c1c21; 1185 #endif 1186 1187 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1188 pThis->__kchannelCtrlCmdGetEngineCtxSize__ = &kchannelCtrlCmdGetEngineCtxSize_IMPL; 1189 #endif 1190 1191 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1192 pThis->__kchannelCtrlCmdGetEngineCtxData__ = &kchannelCtrlCmdGetEngineCtxData_IMPL; 1193 #endif 1194 1195 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x42204u) 1196 pThis->__kchannelCtrlCmdMigrateEngineCtxData__ = &kchannelCtrlCmdMigrateEngineCtxData_IMPL; 1197 #endif 1198 1199 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1200 pThis->__kchannelCtrlCmdGetEngineCtxState__ = &kchannelCtrlCmdGetEngineCtxState_IMPL; 1201 #endif 1202 1203 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1204 pThis->__kchannelCtrlCmdGetChannelHwState__ = &kchannelCtrlCmdGetChannelHwState_IMPL; 1205 #endif 1206 1207 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x142204u) 1208 pThis->__kchannelCtrlCmdSetChannelHwState__ = &kchannelCtrlCmdSetChannelHwState_IMPL; 1209 #endif 1210 1211 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1212 pThis->__kchannelCtrlCmdSaveEngineCtxData__ = &kchannelCtrlCmdSaveEngineCtxData_IMPL; 1213 #endif 1214 1215 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x142204u) 1216 pThis->__kchannelCtrlCmdRestoreEngineCtxData__ = &kchannelCtrlCmdRestoreEngineCtxData_IMPL; 1217 #endif 1218 1219 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1220 pThis->__kchannelCtrlCmdGetClassEngineidC06F__ = &kchannelCtrlCmdGetClassEngineidC06F_6a9a13; 1221 #endif 1222 1223 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1224 pThis->__kchannelCtrlCmdResetChannelC06F__ = &kchannelCtrlCmdResetChannelC06F_ef73a1; 1225 #endif 1226 1227 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1228 pThis->__kchannelCtrlCmdGpFifoScheduleC06F__ = &kchannelCtrlCmdGpFifoScheduleC06F_6546a6; 1229 #endif 1230 1231 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1232 pThis->__kchannelCtrlCmdBindC06F__ = &kchannelCtrlCmdBindC06F_2c1c21; 1233 #endif 1234 1235 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1236 pThis->__kchannelCtrlCmdGetClassEngineidC36F__ = &kchannelCtrlCmdGetClassEngineidC36F_6a9a13; 1237 #endif 1238 1239 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1240 pThis->__kchannelCtrlCmdResetChannelC36F__ = &kchannelCtrlCmdResetChannelC36F_ef73a1; 1241 #endif 1242 1243 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1244 pThis->__kchannelCtrlCmdGpFifoScheduleC36F__ = &kchannelCtrlCmdGpFifoScheduleC36F_6546a6; 1245 #endif 1246 1247 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1248 pThis->__kchannelCtrlCmdBindC36F__ = &kchannelCtrlCmdBindC36F_2c1c21; 1249 #endif 1250 1251 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1252 pThis->__kchannelCtrlCmdGpfifoGetWorkSubmitToken__ = &kchannelCtrlCmdGpfifoGetWorkSubmitToken_IMPL; 1253 #endif 1254 1255 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2204u) 1256 pThis->__kchannelCtrlCmdGpfifoUpdateFaultMethodBuffer__ = &kchannelCtrlCmdGpfifoUpdateFaultMethodBuffer_IMPL; 1257 #endif 1258 1259 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1260 pThis->__kchannelCtrlCmdGpfifoSetWorkSubmitTokenNotifIndex__ = &kchannelCtrlCmdGpfifoSetWorkSubmitTokenNotifIndex_IMPL; 1261 #endif 1262 1263 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1264 pThis->__kchannelCtrlCmdStopChannel__ = &kchannelCtrlCmdStopChannel_IMPL; 1265 #endif 1266 1267 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1268 pThis->__kchannelCtrlCmdGetKmb__ = &kchannelCtrlCmdGetKmb_IMPL; 1269 #endif 1270 1271 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 1272 pThis->__kchannelCtrlRotateSecureChannelIv__ = &kchannelCtrlRotateSecureChannelIv_IMPL; 1273 #endif 1274 1275 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1276 pThis->__kchannelCtrlGetTpcPartitionMode__ = &kchannelCtrlGetTpcPartitionMode_a094e1; 1277 #endif 1278 1279 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1280 pThis->__kchannelCtrlSetTpcPartitionMode__ = &kchannelCtrlSetTpcPartitionMode_a094e1; 1281 #endif 1282 1283 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1284 pThis->__kchannelCtrlGetMMUDebugMode__ = &kchannelCtrlGetMMUDebugMode_a094e1; 1285 #endif 1286 1287 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 1288 pThis->__kchannelCtrlProgramVidmemPromote__ = &kchannelCtrlProgramVidmemPromote_a094e1; 1289 #endif 1290 1291 pThis->__nvoc_base_GpuResource.__gpuresMap__ = &__nvoc_thunk_KernelChannel_gpuresMap; 1292 1293 pThis->__nvoc_base_GpuResource.__gpuresUnmap__ = &__nvoc_thunk_KernelChannel_gpuresUnmap; 1294 1295 pThis->__nvoc_base_GpuResource.__gpuresGetMapAddrSpace__ = &__nvoc_thunk_KernelChannel_gpuresGetMapAddrSpace; 1296 1297 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__rmresGetMemInterMapParams__ = &__nvoc_thunk_KernelChannel_rmresGetMemInterMapParams; 1298 1299 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__rmresCheckMemInterUnmap__ = &__nvoc_thunk_KernelChannel_rmresCheckMemInterUnmap; 1300 1301 pThis->__kchannelShareCallback__ = &__nvoc_thunk_GpuResource_kchannelShareCallback; 1302 1303 pThis->__kchannelGetOrAllocNotifShare__ = &__nvoc_thunk_Notifier_kchannelGetOrAllocNotifShare; 1304 1305 pThis->__kchannelMapTo__ = &__nvoc_thunk_RsResource_kchannelMapTo; 1306 1307 pThis->__kchannelSetNotificationShare__ = &__nvoc_thunk_Notifier_kchannelSetNotificationShare; 1308 1309 pThis->__kchannelGetRefCount__ = &__nvoc_thunk_RsResource_kchannelGetRefCount; 1310 1311 pThis->__kchannelAddAdditionalDependants__ = &__nvoc_thunk_RsResource_kchannelAddAdditionalDependants; 1312 1313 pThis->__kchannelControl_Prologue__ = &__nvoc_thunk_RmResource_kchannelControl_Prologue; 1314 1315 pThis->__kchannelGetRegBaseOffsetAndSize__ = &__nvoc_thunk_GpuResource_kchannelGetRegBaseOffsetAndSize; 1316 1317 pThis->__kchannelInternalControlForward__ = &__nvoc_thunk_GpuResource_kchannelInternalControlForward; 1318 1319 pThis->__kchannelUnmapFrom__ = &__nvoc_thunk_RsResource_kchannelUnmapFrom; 1320 1321 pThis->__kchannelControl_Epilogue__ = &__nvoc_thunk_RmResource_kchannelControl_Epilogue; 1322 1323 pThis->__kchannelControlLookup__ = &__nvoc_thunk_RsResource_kchannelControlLookup; 1324 1325 pThis->__kchannelGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_kchannelGetInternalObjectHandle; 1326 1327 pThis->__kchannelControl__ = &__nvoc_thunk_GpuResource_kchannelControl; 1328 1329 pThis->__kchannelGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_kchannelGetMemoryMappingDescriptor; 1330 1331 pThis->__kchannelControlFilter__ = &__nvoc_thunk_RsResource_kchannelControlFilter; 1332 1333 pThis->__kchannelUnregisterEvent__ = &__nvoc_thunk_Notifier_kchannelUnregisterEvent; 1334 1335 pThis->__kchannelControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_kchannelControlSerialization_Prologue; 1336 1337 pThis->__kchannelCanCopy__ = &__nvoc_thunk_RsResource_kchannelCanCopy; 1338 1339 pThis->__kchannelPreDestruct__ = &__nvoc_thunk_RsResource_kchannelPreDestruct; 1340 1341 pThis->__kchannelIsDuplicate__ = &__nvoc_thunk_RsResource_kchannelIsDuplicate; 1342 1343 pThis->__kchannelControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_kchannelControlSerialization_Epilogue; 1344 1345 pThis->__kchannelGetNotificationListPtr__ = &__nvoc_thunk_Notifier_kchannelGetNotificationListPtr; 1346 1347 pThis->__kchannelGetNotificationShare__ = &__nvoc_thunk_Notifier_kchannelGetNotificationShare; 1348 1349 pThis->__kchannelAccessCallback__ = &__nvoc_thunk_RmResource_kchannelAccessCallback; 1350 } 1351 1352 void __nvoc_init_funcTable_KernelChannel(KernelChannel *pThis, RmHalspecOwner *pRmhalspecowner) { 1353 __nvoc_init_funcTable_KernelChannel_1(pThis, pRmhalspecowner); 1354 } 1355 1356 void __nvoc_init_GpuResource(GpuResource*); 1357 void __nvoc_init_Notifier(Notifier*); 1358 void __nvoc_init_KernelChannel(KernelChannel *pThis, RmHalspecOwner *pRmhalspecowner) { 1359 pThis->__nvoc_pbase_KernelChannel = pThis; 1360 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object; 1361 pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource; 1362 pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon; 1363 pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource; 1364 pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_GpuResource; 1365 pThis->__nvoc_pbase_INotifier = &pThis->__nvoc_base_Notifier.__nvoc_base_INotifier; 1366 pThis->__nvoc_pbase_Notifier = &pThis->__nvoc_base_Notifier; 1367 __nvoc_init_GpuResource(&pThis->__nvoc_base_GpuResource); 1368 __nvoc_init_Notifier(&pThis->__nvoc_base_Notifier); 1369 __nvoc_init_funcTable_KernelChannel(pThis, pRmhalspecowner); 1370 } 1371 1372 NV_STATUS __nvoc_objCreate_KernelChannel(KernelChannel **ppThis, Dynamic *pParent, NvU32 createFlags, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) { 1373 NV_STATUS status; 1374 Object *pParentObj; 1375 KernelChannel *pThis; 1376 RmHalspecOwner *pRmhalspecowner; 1377 1378 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(KernelChannel), (void**)&pThis, (void**)ppThis); 1379 if (status != NV_OK) 1380 return status; 1381 1382 portMemSet(pThis, 0, sizeof(KernelChannel)); 1383 1384 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_KernelChannel); 1385 1386 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags; 1387 1388 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY)) 1389 { 1390 pParentObj = dynamicCast(pParent, Object); 1391 objAddChild(pParentObj, &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object); 1392 } 1393 else 1394 { 1395 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL; 1396 } 1397 1398 if ((pRmhalspecowner = dynamicCast(pParent, RmHalspecOwner)) == NULL) 1399 pRmhalspecowner = objFindAncestorOfType(RmHalspecOwner, pParent); 1400 NV_ASSERT_OR_RETURN(pRmhalspecowner != NULL, NV_ERR_INVALID_ARGUMENT); 1401 1402 __nvoc_init_KernelChannel(pThis, pRmhalspecowner); 1403 status = __nvoc_ctor_KernelChannel(pThis, pRmhalspecowner, arg_pCallContext, arg_pParams); 1404 if (status != NV_OK) goto __nvoc_objCreate_KernelChannel_cleanup; 1405 1406 *ppThis = pThis; 1407 1408 return NV_OK; 1409 1410 __nvoc_objCreate_KernelChannel_cleanup: 1411 // do not call destructors here since the constructor already called them 1412 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT) 1413 portMemSet(pThis, 0, sizeof(KernelChannel)); 1414 else 1415 portMemFree(pThis); 1416 1417 // coverity[leaked_storage:FALSE] 1418 return status; 1419 } 1420 1421 NV_STATUS __nvoc_objCreateDynamic_KernelChannel(KernelChannel **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) { 1422 NV_STATUS status; 1423 CALL_CONTEXT * arg_pCallContext = va_arg(args, CALL_CONTEXT *); 1424 struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *); 1425 1426 status = __nvoc_objCreate_KernelChannel(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams); 1427 1428 return status; 1429 } 1430 1431