1 /* 2 * SPDX-FileCopyrightText: Copyright (c) 2016-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 3 * SPDX-License-Identifier: MIT 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining a 6 * copy of this software and associated documentation files (the "Software"), 7 * to deal in the Software without restriction, including without limitation 8 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 9 * and/or sell copies of the Software, and to permit persons to whom the 10 * Software is furnished to do so, subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice shall be included in 13 * all copies or substantial portions of the Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21 * DEALINGS IN THE SOFTWARE. 22 */ 23 24 // 25 // No include guards - this file is included multiple times, each time with a 26 // different definition for RS_ENTRY 27 // 28 // Some of those definitions of RS_ENTRY may depend on declarations in various 29 // other header files. Include "resource_list_required_includes.h" to pull them 30 // in. 31 // 32 33 // 34 // Table describing all RsResource subclasses. 35 // 36 // Internal Class - there is a RM internal class representing all classes 37 // exported to RM clients. The internal name of the class should be similar to 38 // the symbolic name used by clients. If there is ambiguity between RM internal 39 // classes, e.g.: between the PMU engine (OBJPMU) and the exported class, it's 40 // recommended to use Api as the suffix to disambiguate; for example, OBJPMU 41 // (the engine) vs PmuApi (the per-client api object). It's also recommended to 42 // avoid using Object, Resource, etc as those terms don't improve clarity. 43 // If there is no ambiguity, there is no need to add the Api suffix; for example, 44 // Channel is preferred over ChannelApi (there is no other Channel object in 45 // RM). 46 // 47 // Multi-Instance - NV_TRUE if there can be multiple instances of this object's 48 // *internal* class id under a parent. 49 // 50 // This list should eventually replace the similar lists in nvapi.c and 51 // rmctrl.c. The number of fields in the table should be kept minimal, just 52 // enough to create the object, with as much of the detail being specified 53 // within the class itself. 54 // 55 // In the future we should consider switching to a registration approach or 56 // generating with NVOC and/or annotating the class definition. 57 // 58 // RS-TODO: Rename classes that have 'Object' in their names 59 // 60 61 62 63 RS_ENTRY( 64 /* External Class */ NV01_ROOT, 65 /* Internal Class */ RmClientResource, 66 /* Multi-Instance */ NV_FALSE, 67 /* Parents */ RS_ROOT_OBJECT, 68 /* Alloc Param Info */ RS_OPTIONAL(NvHandle), 69 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 70 /* Flags */ RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_ALLOC, 71 /* Required Access Rights */ RS_ACCESS_NONE 72 ) 73 RS_ENTRY( 74 /* External Class */ NV01_ROOT_NON_PRIV, 75 /* Internal Class */ RmClientResource, 76 /* Multi-Instance */ NV_FALSE, 77 /* Parents */ RS_ROOT_OBJECT, 78 /* Alloc Param Info */ RS_OPTIONAL(NvHandle), 79 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 80 /* Flags */ RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_ALLOC, 81 /* Required Access Rights */ RS_ACCESS_NONE 82 ) 83 RS_ENTRY( 84 /* External Class */ NV01_ROOT_CLIENT, 85 /* Internal Class */ RmClientResource, 86 /* Multi-Instance */ NV_FALSE, 87 /* Parents */ RS_ROOT_OBJECT, 88 /* Alloc Param Info */ RS_OPTIONAL(NvHandle), 89 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 90 /* Flags */ RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_ALLOC, 91 /* Required Access Rights */ RS_ACCESS_NONE 92 ) 93 RS_ENTRY( 94 /* External Class */ MPS_COMPUTE, 95 /* Internal Class */ MpsApi, 96 /* Multi-Instance */ NV_FALSE, 97 /* Parents */ RS_LIST(classId(RmClientResource)), 98 /* Alloc Param Info */ RS_NONE, 99 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 100 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED, 101 /* Required Access Rights */ RS_ACCESS_NONE 102 ) 103 RS_ENTRY( 104 /* External Class */ FABRIC_MANAGER_SESSION, 105 /* Internal Class */ FmSessionApi, 106 /* Multi-Instance */ NV_FALSE, 107 /* Parents */ RS_LIST(classId(RmClientResource)), 108 /* Alloc Param Info */ RS_REQUIRED(NV000F_ALLOCATION_PARAMETERS), 109 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 110 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 111 /* Required Access Rights */ RS_ACCESS_NONE 112 ) 113 RS_ENTRY( 114 /* External Class */ NV_IMEX_SESSION, 115 /* Internal Class */ ImexSessionApi, 116 /* Multi-Instance */ NV_FALSE, 117 /* Parents */ RS_LIST(classId(RmClientResource)), 118 /* Alloc Param Info */ RS_REQUIRED(NV00F1_ALLOCATION_PARAMETERS), 119 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 120 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 121 /* Required Access Rights */ RS_ACCESS_NONE 122 ) 123 RS_ENTRY( 124 /* External Class */ NV0020_GPU_MANAGEMENT, 125 /* Internal Class */ GpuManagementApi, 126 /* Multi-Instance */ NV_FALSE, 127 /* Parents */ RS_LIST(classId(RmClientResource)), 128 /* Alloc Param Info */ RS_OPTIONAL(NvHandle), 129 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 130 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 131 /* Required Access Rights */ RS_ACCESS_NONE 132 ) 133 RS_ENTRY( 134 /* External Class */ NV_EVENT_BUFFER, 135 /* Internal Class */ EventBuffer, 136 /* Multi-Instance */ NV_TRUE, 137 /* Parents */ RS_LIST(classId(RmClientResource)), 138 /* Alloc Param Info */ RS_REQUIRED(NV_EVENT_BUFFER_ALLOC_PARAMETERS), 139 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 140 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 141 /* Required Access Rights */ RS_ACCESS_NONE 142 ) 143 RS_ENTRY( 144 /* External Class */ NV_SEMAPHORE_SURFACE, 145 /* Internal Class */ SemaphoreSurface, 146 /* Multi-Instance */ NV_TRUE, 147 /* Parents */ RS_LIST(classId(Subdevice)), 148 /* Alloc Param Info */ RS_REQUIRED(NV_SEMAPHORE_SURFACE_ALLOC_PARAMETERS), 149 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 150 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 151 /* Required Access Rights */ RS_ACCESS_NONE 152 ) 153 RS_ENTRY( 154 /* External Class */ NV50_P2P, 155 /* Internal Class */ P2PApi, 156 /* Multi-Instance */ NV_TRUE, 157 /* Parents */ RS_LIST(classId(RmClientResource)), 158 /* Alloc Param Info */ RS_REQUIRED(NV503B_ALLOC_PARAMETERS), 159 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 160 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 161 /* Required Access Rights */ RS_ACCESS_NONE 162 ) 163 RS_ENTRY( 164 /* External Class */ NV0060_SYNC_GPU_BOOST, 165 /* Internal Class */ SyncGpuBoost, 166 /* Multi-Instance */ NV_TRUE, 167 /* Parents */ RS_LIST(classId(RmClientResource)), 168 /* Alloc Param Info */ RS_REQUIRED(NV0060_ALLOC_PARAMETERS), 169 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 170 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED, 171 /* Required Access Rights */ RS_ACCESS_NONE 172 ) 173 RS_ENTRY( 174 /* External Class */ NV01_DEVICE_0, 175 /* Internal Class */ Device, 176 /* Multi-Instance */ NV_TRUE, 177 /* Parents */ RS_LIST(classId(RmClientResource)), 178 /* Alloc Param Info */ RS_OPTIONAL(NV0080_ALLOC_PARAMETERS), 179 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 180 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 181 /* Required Access Rights */ RS_ACCESS_NONE 182 ) 183 RS_ENTRY( 184 /* External Class */ GT200_DEBUGGER, 185 /* Internal Class */ KernelSMDebuggerSession, 186 /* Multi-Instance */ NV_TRUE, 187 /* Parents */ RS_LIST(classId(Device)), 188 /* Alloc Param Info */ RS_REQUIRED(NV83DE_ALLOC_PARAMETERS), 189 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 190 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC | RS_FLAGS_DUAL_CLIENT_LOCK, 191 /* Required Access Rights */ RS_ACCESS_NONE 192 ) 193 RS_ENTRY( 194 /* External Class */ NV30_GSYNC, 195 /* Internal Class */ GSyncApi, 196 /* Multi-Instance */ NV_TRUE, 197 /* Parents */ RS_LIST(classId(RmClientResource)), 198 /* Alloc Param Info */ RS_REQUIRED(NV30F1_ALLOC_PARAMETERS), 199 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 200 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 201 /* Required Access Rights */ RS_ACCESS_NONE 202 ) 203 RS_ENTRY( 204 /* External Class */ GF100_PROFILER, 205 /* Internal Class */ Profiler, 206 /* Multi-Instance */ NV_TRUE, 207 /* Parents */ RS_LIST(classId(Subdevice), classId(KernelChannel), classId(KernelChannelGroupApi)), 208 /* Alloc Param Info */ RS_NONE, 209 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 210 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_PHYS_RM, 211 /* Required Access Rights */ RS_ACCESS_NONE 212 ) 213 RS_ENTRY( 214 /* External Class */ MAXWELL_PROFILER_DEVICE, 215 /* Internal Class */ ProfilerDev, 216 /* Multi-Instance */ NV_FALSE, 217 /* Parents */ RS_LIST(classId(Subdevice)), 218 /* Alloc Param Info */ RS_REQUIRED(NVB2CC_ALLOC_PARAMETERS), 219 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 220 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 221 /* Required Access Rights */ RS_ACCESS_NONE 222 ) 223 RS_ENTRY( 224 /* External Class */ G84_PERFBUFFER, 225 /* Internal Class */ PerfBuffer, 226 /* Multi-Instance */ NV_TRUE, 227 /* Parents */ RS_LIST(classId(Device)), 228 /* Alloc Param Info */ RS_NONE, 229 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 230 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 231 /* Required Access Rights */ RS_ACCESS_NONE 232 ) 233 RS_ENTRY( 234 /* External Class */ KEPLER_DEVICE_VGPU, 235 /* Internal Class */ VgpuApi, 236 /* Multi-Instance */ NV_TRUE, 237 /* Parents */ RS_LIST(classId(Device)), 238 /* Alloc Param Info */ RS_NONE, 239 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 240 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 241 /* Required Access Rights */ RS_ACCESS_NONE 242 ) 243 RS_ENTRY( 244 /* External Class */ GF100_HDACODEC, 245 /* Internal Class */ Hdacodec, 246 /* Multi-Instance */ NV_FALSE, 247 /* Parents */ RS_LIST(classId(Device)), 248 /* Alloc Param Info */ RS_NONE, 249 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 250 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ALLOC_RPC_TO_ALL, 251 /* Required Access Rights */ RS_ACCESS_NONE 252 ) 253 /* Channels can have a CHANNEL_GROUP, a DEVICE, or a CONTEXT_SHARE (starting in Volta) as parents */ 254 /* RS-TODO: Update channel parent list when CONTEXT_SHARE is added */ 255 RS_ENTRY( 256 /* External Class */ GF100_CHANNEL_GPFIFO, 257 /* Internal Class */ KernelChannel, 258 /* Multi-Instance */ NV_TRUE, 259 /* Parents */ RS_LIST(classId(Device), classId(KernelChannelGroupApi)), 260 /* Alloc Param Info */ RS_REQUIRED(NV_CHANNEL_ALLOC_PARAMS), 261 /* Resource Free Priority */ RS_FREE_PRIORITY_HIGH, 262 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 263 /* Required Access Rights */ RS_ACCESS_NONE 264 ) 265 RS_ENTRY( 266 /* External Class */ KEPLER_CHANNEL_GPFIFO_A, 267 /* Internal Class */ KernelChannel, 268 /* Multi-Instance */ NV_TRUE, 269 /* Parents */ RS_LIST(classId(Device), classId(KernelChannelGroupApi)), 270 /* Alloc Param Info */ RS_REQUIRED(NV_CHANNEL_ALLOC_PARAMS), 271 /* Resource Free Priority */ RS_FREE_PRIORITY_HIGH, 272 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 273 /* Required Access Rights */ RS_ACCESS_NONE 274 ) 275 RS_ENTRY( 276 /* External Class */ KEPLER_CHANNEL_GPFIFO_B, 277 /* Internal Class */ KernelChannel, 278 /* Multi-Instance */ NV_TRUE, 279 /* Parents */ RS_LIST(classId(Device), classId(KernelChannelGroupApi)), 280 /* Alloc Param Info */ RS_REQUIRED(NV_CHANNEL_ALLOC_PARAMS), 281 /* Resource Free Priority */ RS_FREE_PRIORITY_HIGH, 282 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 283 /* Required Access Rights */ RS_ACCESS_NONE 284 ) 285 RS_ENTRY( 286 /* External Class */ MAXWELL_CHANNEL_GPFIFO_A, 287 /* Internal Class */ KernelChannel, 288 /* Multi-Instance */ NV_TRUE, 289 /* Parents */ RS_LIST(classId(Device), classId(KernelChannelGroupApi)), 290 /* Alloc Param Info */ RS_REQUIRED(NV_CHANNEL_ALLOC_PARAMS), 291 /* Resource Free Priority */ RS_FREE_PRIORITY_HIGH, 292 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 293 /* Required Access Rights */ RS_ACCESS_NONE 294 ) 295 RS_ENTRY( 296 /* External Class */ PASCAL_CHANNEL_GPFIFO_A, 297 /* Internal Class */ KernelChannel, 298 /* Multi-Instance */ NV_TRUE, 299 /* Parents */ RS_LIST(classId(Device), classId(KernelChannelGroupApi)), 300 /* Alloc Param Info */ RS_REQUIRED(NV_CHANNEL_ALLOC_PARAMS), 301 /* Resource Free Priority */ RS_FREE_PRIORITY_HIGH, 302 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 303 /* Required Access Rights */ RS_ACCESS_NONE 304 ) 305 RS_ENTRY( 306 /* External Class */ VOLTA_CHANNEL_GPFIFO_A, 307 /* Internal Class */ KernelChannel, 308 /* Multi-Instance */ NV_TRUE, 309 /* Parents */ RS_LIST(classId(Device), classId(KernelChannelGroupApi)), 310 /* Alloc Param Info */ RS_REQUIRED(NV_CHANNEL_ALLOC_PARAMS), 311 /* Resource Free Priority */ RS_FREE_PRIORITY_HIGH, 312 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 313 /* Required Access Rights */ RS_ACCESS_NONE 314 ) 315 RS_ENTRY( 316 /* External Class */ TURING_CHANNEL_GPFIFO_A, 317 /* Internal Class */ KernelChannel, 318 /* Multi-Instance */ NV_TRUE, 319 /* Parents */ RS_LIST(classId(Device), classId(KernelChannelGroupApi)), 320 /* Alloc Param Info */ RS_REQUIRED(NV_CHANNEL_ALLOC_PARAMS), 321 /* Resource Free Priority */ RS_FREE_PRIORITY_HIGH, 322 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 323 /* Required Access Rights */ RS_ACCESS_NONE 324 ) 325 RS_ENTRY( 326 /* External Class */ AMPERE_CHANNEL_GPFIFO_A, 327 /* Internal Class */ KernelChannel, 328 /* Multi-Instance */ NV_TRUE, 329 /* Parents */ RS_LIST(classId(Device), classId(KernelChannelGroupApi)), 330 /* Alloc Param Info */ RS_REQUIRED(NV_CHANNEL_ALLOC_PARAMS), 331 /* Resource Free Priority */ RS_FREE_PRIORITY_HIGH, 332 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 333 /* Required Access Rights */ RS_ACCESS_NONE 334 ) 335 RS_ENTRY( 336 /* External Class */ HOPPER_CHANNEL_GPFIFO_A, 337 /* Internal Class */ KernelChannel, 338 /* Multi-Instance */ NV_TRUE, 339 /* Parents */ RS_LIST(classId(Device), classId(KernelChannelGroupApi)), 340 /* Alloc Param Info */ RS_REQUIRED(NV_CHANNEL_ALLOC_PARAMS), 341 /* Resource Free Priority */ RS_FREE_PRIORITY_HIGH, 342 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 343 /* Required Access Rights */ RS_ACCESS_NONE 344 ) 345 RS_ENTRY( 346 /* External Class */ UVM_CHANNEL_RETAINER, 347 /* Internal Class */ UvmChannelRetainer, 348 /* Multi-Instance */ NV_TRUE, 349 /* Parents */ RS_LIST(classId(Device), classId(KernelChannelGroupApi)), 350 /* Alloc Param Info */ RS_REQUIRED(NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS), 351 /* Resource Free Priority */ RS_FREE_PRIORITY_HIGH, 352 /* Flags */ RS_FLAGS_ALLOC_KERNEL_PRIVILEGED | RS_FLAGS_ALLOC_ALL_VGPU_PLUGINS | RS_FLAGS_ACQUIRE_GPU_GROUP_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC | RS_FLAGS_DUAL_CLIENT_LOCK, 353 /* Required Access Rights */ RS_ACCESS_NONE 354 ) 355 RS_ENTRY( 356 /* External Class */ FERMI_CONTEXT_SHARE_A, 357 /* Internal Class */ KernelCtxShareApi, 358 /* Multi-Instance */ NV_TRUE, 359 /* Parents */ RS_LIST(classId(KernelChannelGroupApi)), 360 /* Alloc Param Info */ RS_REQUIRED(NV_CTXSHARE_ALLOCATION_PARAMETERS), 361 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 362 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPU_GROUP_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 363 /* Required Access Rights */ RS_ACCESS_NONE 364 ) 365 RS_ENTRY( 366 /* External Class */ KERNEL_GRAPHICS_CONTEXT, 367 /* Internal Class */ KernelGraphicsContext, 368 /* Multi-Instance */ NV_TRUE, 369 /* Parents */ RS_LIST(classId(KernelChannelGroupApi), classId(KernelChannel)), 370 /* Alloc Param Info */ RS_NONE, 371 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 372 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC | RS_FLAGS_INTERNAL_ONLY, 373 /* Required Access Rights */ RS_ACCESS_NONE 374 ) 375 RS_ENTRY( 376 /* External Class */ NV20_SUBDEVICE_0, 377 /* Internal Class */ Subdevice, 378 /* Multi-Instance */ NV_TRUE, 379 /* Parents */ RS_LIST(classId(Device)), 380 /* Alloc Param Info */ RS_OPTIONAL(NV2080_ALLOC_PARAMETERS), 381 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 382 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 383 /* Required Access Rights */ RS_ACCESS_NONE 384 ) 385 RS_ENTRY( 386 /* External Class */ NV2081_BINAPI, 387 /* Internal Class */ BinaryApi, 388 /* Multi-Instance */ NV_TRUE, 389 /* Parents */ RS_LIST(classId(Subdevice)), 390 /* Alloc Param Info */ RS_OPTIONAL(NV2081_ALLOC_PARAMETERS), 391 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 392 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | 393 RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC | RS_FLAGS_ALLOC_RPC_TO_PHYS_RM | 394 RS_FLAGS_ALLOC_RPC_TO_VGPU_HOST, 395 /* Required Access Rights */ RS_ACCESS_NONE 396 ) 397 RS_ENTRY( 398 /* External Class */ NV2082_BINAPI_PRIVILEGED, 399 /* Internal Class */ BinaryApiPrivileged, 400 /* Multi-Instance */ NV_TRUE, 401 /* Parents */ RS_LIST(classId(Subdevice)), 402 /* Alloc Param Info */ RS_OPTIONAL(NV2082_ALLOC_PARAMETERS), 403 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 404 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | 405 RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC | RS_FLAGS_ALLOC_RPC_TO_PHYS_RM | 406 RS_FLAGS_ALLOC_RPC_TO_VGPU_HOST | RS_FLAGS_ALLOC_GSP_PLUGIN_FOR_VGPU_GSP, 407 /* Required Access Rights */ RS_ACCESS_NONE 408 ) 409 RS_ENTRY( 410 /* External Class */ KEPLER_CHANNEL_GROUP_A, 411 /* Internal Class */ KernelChannelGroupApi, 412 /* Multi-Instance */ NV_TRUE, 413 /* Parents */ RS_LIST(classId(Device)), 414 /* Alloc Param Info */ RS_REQUIRED(NV_CHANNEL_GROUP_ALLOCATION_PARAMETERS), 415 /* Resource Free Priority */ RS_FREE_PRIORITY_HIGH, 416 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 417 /* Required Access Rights */ RS_ACCESS_NONE 418 ) 419 RS_ENTRY( 420 /* External Class */ NV01_MEMORY_LOCAL_PRIVILEGED, 421 /* Internal Class */ RegisterMemory, 422 /* Multi-Instance */ NV_TRUE, 423 /* Parents */ RS_LIST(classId(Device)), 424 /* Alloc Param Info */ RS_NONE, 425 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 426 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 427 /* Required Access Rights */ RS_ACCESS_NONE 428 ) 429 RS_ENTRY( 430 /* External Class */ NV01_MEMORY_LOCAL_USER, 431 /* Internal Class */ VideoMemory, 432 /* Multi-Instance */ NV_TRUE, 433 /* Parents */ RS_LIST(classId(Device), classId(Subdevice)), 434 /* Alloc Param Info */ RS_REQUIRED(NV_MEMORY_ALLOCATION_PARAMS), 435 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 436 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 437 /* Required Access Rights */ RS_ACCESS_NONE 438 ) 439 RS_ENTRY( 440 /* External Class */ NV_MEMORY_EXTENDED_USER, 441 /* Internal Class */ ExtendedGpuMemory, 442 /* Multi-Instance */ NV_TRUE, 443 /* Parents */ RS_LIST(classId(Device), classId(Subdevice)), 444 /* Alloc Param Info */ RS_REQUIRED(NV_MEMORY_ALLOCATION_PARAMS), 445 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 446 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 447 /* Required Access Rights */ RS_ACCESS_NONE 448 ) 449 RS_ENTRY( 450 /* External Class */ NV01_MEMORY_LOCAL_PHYSICAL, 451 /* Internal Class */ PhysicalMemory, 452 /* Multi-Instance */ NV_TRUE, 453 /* Parents */ RS_LIST(classId(Device)), 454 /* Alloc Param Info */ RS_REQUIRED(NV_PHYSICAL_MEMORY_ALLOCATION_PARAMS), 455 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 456 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ALLOC_CPU_PLUGIN_FOR_SRIOV | RS_FLAGS_ACQUIRE_GPUS_LOCK, 457 /* Required Access Rights */ RS_ACCESS_NONE 458 ) 459 RS_ENTRY( 460 /* External Class */ NV50_MEMORY_VIRTUAL, 461 /* Internal Class */ VirtualMemory, 462 /* Multi-Instance */ NV_TRUE, 463 /* Parents */ RS_LIST(classId(Device)), 464 /* Alloc Param Info */ RS_REQUIRED(NV_MEMORY_ALLOCATION_PARAMS), 465 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 466 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 467 /* Required Access Rights */ RS_ACCESS_NONE 468 ) 469 RS_ENTRY( 470 /* External Class */ NV01_MEMORY_SYSTEM, 471 /* Internal Class */ SystemMemory, 472 /* Multi-Instance */ NV_TRUE, 473 /* Parents */ RS_LIST(classId(Device)), 474 /* Alloc Param Info */ RS_REQUIRED(NV_MEMORY_ALLOCATION_PARAMS), 475 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 476 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 477 /* Required Access Rights */ RS_ACCESS_NONE 478 ) 479 RS_ENTRY( 480 /* External Class */ NV01_MEMORY_VIRTUAL, 481 /* Internal Class */ VirtualMemoryRange, 482 /* Multi-Instance */ NV_TRUE, 483 /* Parents */ RS_LIST(classId(Device)), 484 /* Alloc Param Info */ RS_REQUIRED(NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS), 485 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 486 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 487 /* Required Access Rights */ RS_ACCESS_NONE 488 ) 489 RS_ENTRY( 490 /* External Class */ NV_MEMORY_MAPPER, 491 /* Internal Class */ MemoryMapper, 492 /* Multi-Instance */ NV_TRUE, 493 /* Parents */ RS_LIST(classId(Subdevice)), 494 /* Alloc Param Info */ RS_REQUIRED(NV_MEMORY_MAPPER_ALLOCATION_PARAMS), 495 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 496 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 497 /* Required Access Rights */ RS_ACCESS_NONE 498 ) 499 RS_ENTRY( 500 /* External Class */ NV01_MEMORY_SYSTEM_OS_DESCRIPTOR, 501 /* Internal Class */ OsDescMemory, 502 /* Multi-Instance */ NV_TRUE, 503 /* Parents */ RS_LIST(classId(Device)), 504 /* Alloc Param Info */ RS_REQUIRED(NV_OS_DESC_MEMORY_ALLOCATION_PARAMS), 505 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 506 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPU_GROUP_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 507 /* Required Access Rights */ RS_ACCESS_NONE 508 ) 509 RS_ENTRY( 510 /* External Class */ NV01_MEMORY_DEVICELESS, 511 /* Internal Class */ NoDeviceMemory, 512 /* Multi-Instance */ NV_TRUE, 513 /* Parents */ RS_LIST(classId(RmClientResource)), 514 /* Alloc Param Info */ RS_REQUIRED(NV_MEMORY_ALLOCATION_PARAMS), 515 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 516 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED, 517 /* Required Access Rights */ RS_ACCESS_NONE 518 ) 519 RS_ENTRY( 520 /* External Class */ NV01_MEMORY_FRAMEBUFFER_CONSOLE, 521 /* Internal Class */ ConsoleMemory, 522 /* Multi-Instance */ NV_TRUE, 523 /* Parents */ RS_LIST(classId(Device)), 524 /* Alloc Param Info */ RS_NONE, 525 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 526 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 527 /* Required Access Rights */ RS_ACCESS_NONE 528 ) 529 RS_ENTRY( 530 /* External Class */ NV01_MEMORY_HW_RESOURCES, 531 /* Internal Class */ MemoryHwResources, 532 /* Multi-Instance */ NV_TRUE, 533 /* Parents */ RS_LIST(classId(Device), classId(Subdevice)), 534 /* Alloc Param Info */ RS_REQUIRED(NV_MEMORY_HW_RESOURCES_ALLOCATION_PARAMS), 535 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 536 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPU_GROUP_LOCK, 537 /* Required Access Rights */ RS_ACCESS_NONE 538 ) 539 RS_ENTRY( 540 /* External Class */ NV01_MEMORY_LIST_SYSTEM, 541 /* Internal Class */ MemoryList, 542 /* Multi-Instance */ NV_TRUE, 543 /* Parents */ RS_LIST(classId(Device), classId(Subdevice)), 544 /* Alloc Param Info */ RS_REQUIRED(NV_MEMORY_LIST_ALLOCATION_PARAMS), 545 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 546 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 547 /* Required Access Rights */ RS_ACCESS_NONE 548 ) 549 RS_ENTRY( 550 /* External Class */ NV01_MEMORY_LIST_FBMEM, 551 /* Internal Class */ MemoryList, 552 /* Multi-Instance */ NV_TRUE, 553 /* Parents */ RS_LIST(classId(Device), classId(Subdevice)), 554 /* Alloc Param Info */ RS_REQUIRED(NV_MEMORY_LIST_ALLOCATION_PARAMS), 555 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 556 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ALLOC_CPU_PLUGIN_FOR_SRIOV | RS_FLAGS_ACQUIRE_GPUS_LOCK, 557 /* Required Access Rights */ RS_ACCESS_NONE 558 ) 559 RS_ENTRY( 560 /* External Class */ NV01_MEMORY_LIST_OBJECT, 561 /* Internal Class */ MemoryList, 562 /* Multi-Instance */ NV_TRUE, 563 /* Parents */ RS_LIST(classId(Device), classId(Subdevice)), 564 /* Alloc Param Info */ RS_REQUIRED(NV_MEMORY_LIST_ALLOCATION_PARAMS), 565 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 566 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ALLOC_CPU_PLUGIN_FOR_SRIOV | RS_FLAGS_ACQUIRE_GPUS_LOCK, 567 /* Required Access Rights */ RS_ACCESS_NONE 568 ) 569 RS_ENTRY( 570 /* External Class */ NV01_MEMORY_FLA, 571 /* Internal Class */ FlaMemory, 572 /* Multi-Instance */ NV_TRUE, 573 /* Parents */ RS_LIST(classId(Device)), 574 /* Alloc Param Info */ RS_REQUIRED(NV_FLA_MEMORY_ALLOCATION_PARAMS), 575 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 576 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 577 /* Required Access Rights */ RS_ACCESS_NONE 578 ) 579 RS_ENTRY( 580 /* External Class */ NV_MEMORY_EXPORT, 581 /* Internal Class */ MemoryExport, 582 /* Multi-Instance */ NV_TRUE, 583 /* Parents */ RS_LIST(classId(RmClientResource)), 584 /* Alloc Param Info */ RS_REQUIRED(NV00E0_ALLOCATION_PARAMETERS), 585 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 586 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 587 /* Required Access Rights */ RS_ACCESS_NONE 588 ) 589 RS_ENTRY( 590 /* External Class */ NV_MEMORY_FABRIC_IMPORT_V2, 591 /* Internal Class */ MemoryFabricImportV2, 592 /* Multi-Instance */ NV_TRUE, 593 /* Parents */ RS_LIST(classId(RmClientResource)), 594 /* Alloc Param Info */ RS_REQUIRED(NV00F9_ALLOCATION_PARAMETERS), 595 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 596 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 597 /* Required Access Rights */ RS_ACCESS_NONE 598 ) 599 RS_ENTRY( 600 /* External Class */ NV_MEMORY_FABRIC, 601 /* Internal Class */ MemoryFabric, 602 /* Multi-Instance */ NV_TRUE, 603 /* Parents */ RS_LIST(classId(Subdevice)), 604 /* Alloc Param Info */ RS_REQUIRED(NV00F8_ALLOCATION_PARAMETERS), 605 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 606 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 607 /* Required Access Rights */ RS_ACCESS_NONE 608 ) 609 RS_ENTRY( 610 /* External Class */ NV_MEMORY_FABRIC_IMPORTED_REF, 611 /* Internal Class */ MemoryFabricImportedRef, 612 /* Multi-Instance */ NV_TRUE, 613 /* Parents */ RS_LIST(classId(RmClientResource)), 614 /* Alloc Param Info */ RS_REQUIRED(NV00FB_ALLOCATION_PARAMETERS), 615 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 616 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 617 /* Required Access Rights */ RS_ACCESS_NONE 618 ) 619 RS_ENTRY( 620 /* External Class */ FERMI_VASPACE_A, 621 /* Internal Class */ VaSpaceApi, 622 /* Multi-Instance */ NV_TRUE, 623 /* Parents */ RS_LIST(classId(Device), classId(Subdevice)), 624 /* Alloc Param Info */ RS_REQUIRED(NV_VASPACE_ALLOCATION_PARAMETERS), 625 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 626 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 627 /* Required Access Rights */ RS_ACCESS_NONE 628 ) 629 RS_ENTRY( 630 /* External Class */ NV_MEMORY_MULTICAST_FABRIC, 631 /* Internal Class */ MemoryMulticastFabric, 632 /* Multi-Instance */ NV_TRUE, 633 /* Parents */ RS_LIST(classId(RmClientResource)), 634 /* Alloc Param Info */ RS_REQUIRED(NV00FD_ALLOCATION_PARAMETERS), 635 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 636 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 637 /* Required Access Rights */ RS_ACCESS_NONE 638 ) 639 /* Subdevice Children: */ 640 RS_ENTRY( 641 /* External Class */ NVENC_SW_SESSION, 642 /* Internal Class */ NvencSession, 643 /* Multi-Instance */ NV_TRUE, 644 /* Parents */ RS_LIST(classId(Subdevice)), 645 /* Alloc Param Info */ RS_REQUIRED(NVA0BC_ALLOC_PARAMETERS), 646 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 647 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 648 /* Required Access Rights */ RS_ACCESS_NONE 649 ) 650 RS_ENTRY( 651 /* External Class */ NVFBC_SW_SESSION, 652 /* Internal Class */ NvfbcSession, 653 /* Multi-Instance */ NV_TRUE, 654 /* Parents */ RS_LIST(classId(Subdevice)), 655 /* Alloc Param Info */ RS_REQUIRED(NVA0BD_ALLOC_PARAMETERS), 656 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 657 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 658 /* Required Access Rights */ RS_ACCESS_NONE 659 ) 660 RS_ENTRY( 661 /* External Class */ NVA081_VGPU_CONFIG, 662 /* Internal Class */ VgpuConfigApi, 663 /* Multi-Instance */ NV_TRUE, 664 /* Parents */ RS_LIST(classId(Subdevice)), 665 /* Alloc Param Info */ RS_NONE, 666 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 667 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 668 /* Required Access Rights */ RS_ACCESS_NONE 669 ) 670 RS_ENTRY( 671 /* External Class */ NVA084_KERNEL_HOST_VGPU_DEVICE, 672 /* Internal Class */ KernelHostVgpuDeviceApi, 673 /* Multi-Instance */ NV_FALSE, 674 /* Parents */ RS_LIST(classId(Subdevice)), 675 /* Alloc Param Info */ RS_REQUIRED(NVA084_ALLOC_PARAMETERS), 676 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 677 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 678 /* Required Access Rights */ RS_ACCESS_NONE 679 ) 680 RS_ENTRY( 681 /* External Class */ NV50_THIRD_PARTY_P2P, 682 /* Internal Class */ ThirdPartyP2P, 683 /* Multi-Instance */ NV_FALSE, 684 /* Parents */ RS_LIST(classId(Subdevice)), 685 /* Alloc Param Info */ RS_OPTIONAL(NV503C_ALLOC_PARAMETERS), 686 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 687 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 688 /* Required Access Rights */ RS_ACCESS_NONE 689 ) 690 RS_ENTRY( 691 /* External Class */ GF100_SUBDEVICE_MASTER, 692 /* Internal Class */ GenericEngineApi, 693 /* Multi-Instance */ NV_TRUE, 694 /* Parents */ RS_LIST(classId(Subdevice)), 695 /* Alloc Param Info */ RS_NONE, 696 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 697 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 698 /* Required Access Rights */ RS_ACCESS_NONE 699 ) 700 RS_ENTRY( 701 /* External Class */ GF100_SUBDEVICE_INFOROM, 702 /* Internal Class */ GenericEngineApi, 703 /* Multi-Instance */ NV_TRUE, 704 /* Parents */ RS_LIST(classId(Subdevice)), 705 /* Alloc Param Info */ RS_NONE, 706 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 707 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC | RS_FLAGS_ALLOC_RPC_TO_PHYS_RM, 708 /* Required Access Rights */ RS_ACCESS_NONE 709 ) 710 RS_ENTRY( 711 /* External Class */ NV01_TIMER, 712 /* Internal Class */ TimerApi, 713 /* Multi-Instance */ NV_FALSE, 714 /* Parents */ RS_LIST(classId(Subdevice)), 715 /* Alloc Param Info */ RS_NONE, 716 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 717 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 718 /* Required Access Rights */ RS_ACCESS_NONE 719 ) 720 RS_ENTRY( 721 /* External Class */ NV40_I2C, 722 /* Internal Class */ I2cApi, 723 /* Multi-Instance */ NV_FALSE, 724 /* Parents */ RS_LIST(classId(Subdevice)), 725 /* Alloc Param Info */ RS_NONE, 726 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 727 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_PHYS_RM, 728 /* Required Access Rights */ RS_ACCESS_NONE 729 ) 730 RS_ENTRY( 731 /* External Class */ NV20_SUBDEVICE_DIAG, 732 /* Internal Class */ DiagApi, 733 /* Multi-Instance */ NV_FALSE, 734 /* Parents */ RS_LIST(classId(Subdevice)), 735 /* Alloc Param Info */ RS_NONE, 736 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 737 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 738 /* Required Access Rights */ RS_ACCESS_NONE 739 ) 740 RS_ENTRY( 741 /* External Class */ GF100_ZBC_CLEAR, 742 /* Internal Class */ ZbcApi, 743 /* Multi-Instance */ NV_TRUE, 744 /* Parents */ RS_LIST(classId(Subdevice)), 745 /* Alloc Param Info */ RS_NONE, 746 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 747 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 748 /* Required Access Rights */ RS_ACCESS_NONE 749 ) 750 RS_ENTRY( 751 /* External Class */ NV40_DEBUG_BUFFER, 752 /* Internal Class */ DebugBufferApi, 753 /* Multi-Instance */ NV_TRUE, 754 /* Parents */ RS_LIST(classId(Subdevice)), 755 /* Alloc Param Info */ RS_REQUIRED(NV00DB_ALLOCATION_PARAMETERS), 756 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 757 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 758 /* Required Access Rights */ RS_ACCESS_NONE 759 ) 760 RS_ENTRY( 761 /* External Class */ RM_USER_SHARED_DATA, 762 /* Internal Class */ GpuUserSharedData, 763 /* Multi-Instance */ NV_TRUE, 764 /* Parents */ RS_LIST(classId(Subdevice)), 765 /* Alloc Param Info */ RS_REQUIRED(NV00DE_ALLOC_PARAMETERS), 766 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 767 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPU_GROUP_LOCK, 768 /* Required Access Rights */ RS_ACCESS_NONE 769 ) 770 RS_ENTRY( 771 /* External Class */ VOLTA_USERMODE_A, 772 /* Internal Class */ UserModeApi, 773 /* Multi-Instance */ NV_TRUE, 774 /* Parents */ RS_LIST(classId(Subdevice)), 775 /* Alloc Param Info */ RS_NONE, 776 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 777 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 778 /* Required Access Rights */ RS_ACCESS_NONE 779 ) 780 RS_ENTRY( 781 /* External Class */ TURING_USERMODE_A, 782 /* Internal Class */ UserModeApi, 783 /* Multi-Instance */ NV_TRUE, 784 /* Parents */ RS_LIST(classId(Subdevice)), 785 /* Alloc Param Info */ RS_NONE, 786 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 787 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 788 /* Required Access Rights */ RS_ACCESS_NONE 789 ) 790 RS_ENTRY( 791 /* External Class */ AMPERE_USERMODE_A, 792 /* Internal Class */ UserModeApi, 793 /* Multi-Instance */ NV_TRUE, 794 /* Parents */ RS_LIST(classId(Subdevice)), 795 /* Alloc Param Info */ RS_NONE, 796 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 797 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 798 /* Required Access Rights */ RS_ACCESS_NONE 799 ) 800 RS_ENTRY( 801 /* External Class */ HOPPER_USERMODE_A, 802 /* Internal Class */ UserModeApi, 803 /* Multi-Instance */ NV_TRUE, 804 /* Parents */ RS_LIST(classId(Subdevice)), 805 /* Alloc Param Info */ RS_OPTIONAL(NV_HOPPER_USERMODE_A_PARAMS), 806 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 807 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 808 /* Required Access Rights */ RS_ACCESS_NONE 809 ) 810 RS_ENTRY( 811 /* External Class */ NVC371_DISP_SF_USER, 812 /* Internal Class */ DispSfUser, 813 /* Multi-Instance */ NV_FALSE, 814 /* Parents */ RS_LIST(classId(Subdevice)), 815 /* Alloc Param Info */ RS_NONE, 816 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 817 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 818 /* Required Access Rights */ RS_ACCESS_NONE 819 ) 820 RS_ENTRY( 821 /* External Class */ NVC671_DISP_SF_USER, 822 /* Internal Class */ DispSfUser, 823 /* Multi-Instance */ NV_FALSE, 824 /* Parents */ RS_LIST(classId(Subdevice)), 825 /* Alloc Param Info */ RS_NONE, 826 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 827 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 828 /* Required Access Rights */ RS_ACCESS_NONE 829 ) 830 RS_ENTRY( 831 /* External Class */ NVC771_DISP_SF_USER, 832 /* Internal Class */ DispSfUser, 833 /* Multi-Instance */ NV_FALSE, 834 /* Parents */ RS_LIST(classId(Subdevice)), 835 /* Alloc Param Info */ RS_NONE, 836 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 837 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 838 /* Required Access Rights */ RS_ACCESS_NONE 839 ) 840 RS_ENTRY( 841 /* External Class */ MMU_FAULT_BUFFER, 842 /* Internal Class */ MmuFaultBuffer, 843 /* Multi-Instance */ NV_FALSE, 844 /* Parents */ RS_LIST(classId(Subdevice)), 845 /* Alloc Param Info */ RS_NONE, 846 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 847 /* Flags */ RS_FLAGS_ALLOC_KERNEL_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 848 /* Required Access Rights */ RS_ACCESS_NONE 849 ) 850 RS_ENTRY( 851 /* External Class */ ACCESS_COUNTER_NOTIFY_BUFFER, 852 /* Internal Class */ AccessCounterBuffer, 853 /* Multi-Instance */ NV_TRUE, 854 /* Parents */ RS_LIST(classId(Subdevice)), 855 /* Alloc Param Info */ RS_REQUIRED(NV_ACCESS_COUNTER_NOTIFY_BUFFER_ALLOC_PARAMS), 856 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 857 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 858 /* Required Access Rights */ RS_ACCESS_NONE 859 ) 860 RS_ENTRY( 861 /* External Class */ MMU_VIDMEM_ACCESS_BIT_BUFFER, 862 /* Internal Class */ VidmemAccessBitBuffer, 863 /* Multi-Instance */ NV_FALSE, 864 /* Parents */ RS_LIST(classId(Subdevice)), 865 /* Alloc Param Info */ RS_REQUIRED(NV_VIDMEM_ACCESS_BIT_ALLOCATION_PARAMS), 866 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 867 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ALLOC_CPU_PLUGIN_FOR_SRIOV | RS_FLAGS_ALLOC_CPU_PLUGIN_FOR_VGPU_GSP | RS_FLAGS_ALLOC_GSP_PLUGIN_FOR_VGPU_GSP | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_PHYS_RM, 868 /* Required Access Rights */ RS_ACCESS_NONE 869 ) 870 RS_ENTRY( 871 /* External Class */ AMPERE_SMC_PARTITION_REF, 872 /* Internal Class */ GPUInstanceSubscription, 873 /* Multi-Instance */ NV_FALSE, 874 /* Parents */ RS_LIST(classId(Subdevice)), 875 /* Alloc Param Info */ RS_REQUIRED(NVC637_ALLOCATION_PARAMETERS), 876 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 877 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 878 /* Required Access Rights */ RS_ACCESS_NONE 879 ) 880 RS_ENTRY( 881 /* External Class */ AMPERE_SMC_EXEC_PARTITION_REF, 882 /* Internal Class */ ComputeInstanceSubscription, 883 /* Multi-Instance */ NV_FALSE, 884 /* Parents */ RS_LIST(classId(GPUInstanceSubscription)), 885 /* Alloc Param Info */ RS_REQUIRED(NVC638_ALLOCATION_PARAMETERS), 886 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 887 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 888 /* Required Access Rights */ RS_ACCESS_NONE 889 ) 890 RS_ENTRY( 891 /* External Class */ AMPERE_SMC_CONFIG_SESSION, 892 /* Internal Class */ MIGConfigSession, 893 /* Multi-Instance */ NV_FALSE, 894 /* Parents */ RS_LIST(classId(RmClientResource)), 895 /* Alloc Param Info */ RS_REQUIRED(NVC639_ALLOCATION_PARAMETERS), 896 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 897 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED, 898 /* Required Access Rights */ RS_ACCESS_NONE 899 ) 900 RS_ENTRY( 901 /* External Class */ AMPERE_SMC_MONITOR_SESSION, 902 /* Internal Class */ MIGMonitorSession, 903 /* Multi-Instance */ NV_FALSE, 904 /* Parents */ RS_LIST(classId(RmClientResource)), 905 /* Alloc Param Info */ RS_REQUIRED(NVC640_ALLOCATION_PARAMETERS), 906 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 907 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED, 908 /* Required Access Rights */ RS_ACCESS_NONE 909 ) 910 /* Display classes: */ 911 RS_ENTRY( 912 /* External Class */ NVC570_DISPLAY, 913 /* Internal Class */ NvDispApi, 914 /* Multi-Instance */ NV_FALSE, 915 /* Parents */ RS_LIST(classId(Device)), 916 /* Alloc Param Info */ RS_NONE, 917 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 918 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 919 /* Required Access Rights */ RS_ACCESS_NONE 920 ) 921 RS_ENTRY( 922 /* External Class */ NVC670_DISPLAY, 923 /* Internal Class */ NvDispApi, 924 /* Multi-Instance */ NV_FALSE, 925 /* Parents */ RS_LIST(classId(Device)), 926 /* Alloc Param Info */ RS_NONE, 927 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 928 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 929 /* Required Access Rights */ RS_ACCESS_NONE 930 ) 931 RS_ENTRY( 932 /* External Class */ NVC770_DISPLAY, 933 /* Internal Class */ NvDispApi, 934 /* Multi-Instance */ NV_FALSE, 935 /* Parents */ RS_LIST(classId(Device)), 936 /* Alloc Param Info */ RS_NONE, 937 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 938 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 939 /* Required Access Rights */ RS_ACCESS_NONE 940 ) 941 RS_ENTRY( 942 /* External Class */ NVC372_DISPLAY_SW, 943 /* Internal Class */ DispSwObj, 944 /* Multi-Instance */ NV_TRUE, 945 /* Parents */ RS_LIST(classId(Device)), 946 /* Alloc Param Info */ RS_NONE, 947 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 948 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ALLOC_RPC_TO_ALL, 949 /* Required Access Rights */ RS_ACCESS_NONE 950 ) 951 RS_ENTRY( 952 /* External Class */ NV04_DISPLAY_COMMON, 953 /* Internal Class */ DispCommon, 954 /* Multi-Instance */ NV_FALSE, 955 /* Parents */ RS_LIST(classId(Device)), 956 /* Alloc Param Info */ RS_NONE, 957 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 958 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK_ON_FREE | RS_FLAGS_ALLOC_RPC_TO_ALL, 959 /* Required Access Rights */ RS_ACCESS_NONE 960 ) 961 RS_ENTRY( 962 /* External Class */ NV9010_VBLANK_CALLBACK, 963 /* Internal Class */ VblankCallback, 964 /* Multi-Instance */ NV_TRUE, 965 /* Parents */ RS_LIST(classId(Device), classId(Subdevice)), 966 /* Alloc Param Info */ RS_REQUIRED(NV_VBLANK_CALLBACK_ALLOCATION_PARAMETERS), 967 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 968 /* Flags */ RS_FLAGS_ALLOC_KERNEL_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 969 /* Required Access Rights */ RS_ACCESS_NONE 970 ) 971 RS_ENTRY( 972 /* External Class */ NV0092_RG_LINE_CALLBACK, 973 /* Internal Class */ RgLineCallback, 974 /* Multi-Instance */ NV_TRUE, 975 /* Parents */ RS_LIST(classId(DispCommon)), 976 /* Alloc Param Info */ RS_REQUIRED(NV0092_RG_LINE_CALLBACK_ALLOCATION_PARAMETERS), 977 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 978 /* Flags */ RS_FLAGS_ALLOC_KERNEL_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 979 /* Required Access Rights */ RS_ACCESS_NONE 980 ) 981 RS_ENTRY( 982 /* External Class */ NVC57A_CURSOR_IMM_CHANNEL_PIO, 983 /* Internal Class */ DispChannelPio, 984 /* Multi-Instance */ NV_TRUE, 985 /* Parents */ RS_LIST(classId(NvDispApi)), 986 /* Alloc Param Info */ RS_REQUIRED(NV50VAIO_CHANNELPIO_ALLOCATION_PARAMETERS), 987 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 988 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 989 /* Required Access Rights */ RS_ACCESS_NONE 990 ) 991 RS_ENTRY( 992 /* External Class */ NVC67A_CURSOR_IMM_CHANNEL_PIO, 993 /* Internal Class */ DispChannelPio, 994 /* Multi-Instance */ NV_TRUE, 995 /* Parents */ RS_LIST(classId(NvDispApi)), 996 /* Alloc Param Info */ RS_REQUIRED(NV50VAIO_CHANNELPIO_ALLOCATION_PARAMETERS), 997 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 998 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 999 /* Required Access Rights */ RS_ACCESS_NONE 1000 ) 1001 RS_ENTRY( 1002 /* External Class */ NVC57B_WINDOW_IMM_CHANNEL_DMA, 1003 /* Internal Class */ DispChannelDma, 1004 /* Multi-Instance */ NV_TRUE, 1005 /* Parents */ RS_LIST(classId(NvDispApi)), 1006 /* Alloc Param Info */ RS_REQUIRED(NV50VAIO_CHANNELDMA_ALLOCATION_PARAMETERS), 1007 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1008 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 1009 /* Required Access Rights */ RS_ACCESS_NONE 1010 ) 1011 RS_ENTRY( 1012 /* External Class */ NVC57D_CORE_CHANNEL_DMA, 1013 /* Internal Class */ DispChannelDma, 1014 /* Multi-Instance */ NV_TRUE, 1015 /* Parents */ RS_LIST(classId(NvDispApi)), 1016 /* Alloc Param Info */ RS_REQUIRED(NV50VAIO_CHANNELDMA_ALLOCATION_PARAMETERS), 1017 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1018 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 1019 /* Required Access Rights */ RS_ACCESS_NONE 1020 ) 1021 RS_ENTRY( 1022 /* External Class */ NVC57E_WINDOW_CHANNEL_DMA, 1023 /* Internal Class */ DispChannelDma, 1024 /* Multi-Instance */ NV_TRUE, 1025 /* Parents */ RS_LIST(classId(NvDispApi)), 1026 /* Alloc Param Info */ RS_REQUIRED(NV50VAIO_CHANNELDMA_ALLOCATION_PARAMETERS), 1027 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1028 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 1029 /* Required Access Rights */ RS_ACCESS_NONE 1030 ) 1031 RS_ENTRY( 1032 /* External Class */ NVC573_DISP_CAPABILITIES, 1033 /* Internal Class */ DispCapabilities, 1034 /* Multi-Instance */ NV_FALSE, 1035 /* Parents */ RS_LIST(classId(NvDispApi)), 1036 /* Alloc Param Info */ RS_NONE, 1037 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1038 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 1039 /* Required Access Rights */ RS_ACCESS_NONE 1040 ) 1041 RS_ENTRY( 1042 /* External Class */ NVC67B_WINDOW_IMM_CHANNEL_DMA, 1043 /* Internal Class */ DispChannelDma, 1044 /* Multi-Instance */ NV_TRUE, 1045 /* Parents */ RS_LIST(classId(NvDispApi)), 1046 /* Alloc Param Info */ RS_REQUIRED(NV50VAIO_CHANNELDMA_ALLOCATION_PARAMETERS), 1047 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1048 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 1049 /* Required Access Rights */ RS_ACCESS_NONE 1050 ) 1051 RS_ENTRY( 1052 /* External Class */ NVC67D_CORE_CHANNEL_DMA, 1053 /* Internal Class */ DispChannelDma, 1054 /* Multi-Instance */ NV_TRUE, 1055 /* Parents */ RS_LIST(classId(NvDispApi)), 1056 /* Alloc Param Info */ RS_REQUIRED(NV50VAIO_CHANNELDMA_ALLOCATION_PARAMETERS), 1057 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1058 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 1059 /* Required Access Rights */ RS_ACCESS_NONE 1060 ) 1061 RS_ENTRY( 1062 /* External Class */ NVC77D_CORE_CHANNEL_DMA, 1063 /* Internal Class */ DispChannelDma, 1064 /* Multi-Instance */ NV_TRUE, 1065 /* Parents */ RS_LIST(classId(NvDispApi)), 1066 /* Alloc Param Info */ RS_REQUIRED(NV50VAIO_CHANNELDMA_ALLOCATION_PARAMETERS), 1067 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1068 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 1069 /* Required Access Rights */ RS_ACCESS_NONE 1070 ) 1071 RS_ENTRY( 1072 /* External Class */ NVC77F_ANY_CHANNEL_DMA, 1073 /* Internal Class */ DispChannelDma, 1074 /* Multi-Instance */ NV_TRUE, 1075 /* Parents */ RS_LIST(classId(NvDispApi)), 1076 /* Alloc Param Info */ RS_REQUIRED(NV50VAIO_CHANNELDMA_ALLOCATION_PARAMETERS), 1077 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1078 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 1079 /* Required Access Rights */ RS_ACCESS_NONE 1080 ) 1081 RS_ENTRY( 1082 /* External Class */ NVC67E_WINDOW_CHANNEL_DMA, 1083 /* Internal Class */ DispChannelDma, 1084 /* Multi-Instance */ NV_TRUE, 1085 /* Parents */ RS_LIST(classId(NvDispApi)), 1086 /* Alloc Param Info */ RS_REQUIRED(NV50VAIO_CHANNELDMA_ALLOCATION_PARAMETERS), 1087 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1088 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_RPC_TO_ALL, 1089 /* Required Access Rights */ RS_ACCESS_NONE 1090 ) 1091 RS_ENTRY( 1092 /* External Class */ NVC673_DISP_CAPABILITIES, 1093 /* Internal Class */ DispCapabilities, 1094 /* Multi-Instance */ NV_FALSE, 1095 /* Parents */ RS_LIST(classId(NvDispApi)), 1096 /* Alloc Param Info */ RS_NONE, 1097 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1098 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 1099 /* Required Access Rights */ RS_ACCESS_NONE 1100 ) 1101 RS_ENTRY( 1102 /* External Class */ NVC773_DISP_CAPABILITIES, 1103 /* Internal Class */ DispCapabilities, 1104 /* Multi-Instance */ NV_FALSE, 1105 /* Parents */ RS_LIST(classId(NvDispApi)), 1106 /* Alloc Param Info */ RS_NONE, 1107 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1108 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 1109 /* Required Access Rights */ RS_ACCESS_NONE 1110 ) 1111 /* Classes allocated under channel: */ 1112 RS_ENTRY( 1113 /* External Class */ GF100_DISP_SW, 1114 /* Internal Class */ DispSwObject, 1115 /* Multi-Instance */ NV_TRUE, 1116 /* Parents */ RS_LIST(classId(KernelChannel)), 1117 /* Alloc Param Info */ RS_REQUIRED(NV9072_ALLOCATION_PARAMETERS), 1118 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1119 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPU_GROUP_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC | RS_FLAGS_ALLOC_RPC_TO_ALL, 1120 /* Required Access Rights */ RS_ACCESS_NONE 1121 ) 1122 RS_ENTRY( 1123 /* External Class */ GF100_TIMED_SEMAPHORE_SW, 1124 /* Internal Class */ TimedSemaSwObject, 1125 /* Multi-Instance */ NV_TRUE, 1126 /* Parents */ RS_LIST(classId(KernelChannel)), 1127 /* Alloc Param Info */ RS_NONE, 1128 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1129 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1130 /* Required Access Rights */ RS_ACCESS_NONE 1131 ) 1132 RS_ENTRY( 1133 /* External Class */ NV50_DEFERRED_API_CLASS, 1134 /* Internal Class */ DeferredApiObject, 1135 /* Multi-Instance */ NV_TRUE, 1136 /* Parents */ RS_LIST(classId(KernelChannel)), 1137 /* Alloc Param Info */ RS_OPTIONAL(NV5080_ALLOC_PARAMS), 1138 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1139 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1140 /* Required Access Rights */ RS_ACCESS_NONE 1141 ) 1142 RS_ENTRY( 1143 /* External Class */ GP100_UVM_SW, 1144 /* Internal Class */ UvmSwObject, 1145 /* Multi-Instance */ NV_TRUE, 1146 /* Parents */ RS_LIST(classId(KernelChannel)), 1147 /* Alloc Param Info */ RS_NONE, 1148 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1149 /* Flags */ RS_FLAGS_ALLOC_PRIVILEGED | RS_FLAGS_ALLOC_CPU_PLUGIN_FOR_SRIOV | RS_FLAGS_ALLOC_GSP_PLUGIN_FOR_VGPU_GSP | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1150 /* Required Access Rights */ RS_ACCESS_NONE 1151 ) 1152 RS_ENTRY( 1153 /* External Class */ NV04_SOFTWARE_TEST, 1154 /* Internal Class */ SoftwareMethodTest, 1155 /* Multi-Instance */ NV_TRUE, 1156 /* Parents */ RS_LIST(classId(KernelChannel)), 1157 /* Alloc Param Info */ RS_NONE, 1158 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1159 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1160 /* Required Access Rights */ RS_ACCESS_NONE 1161 ) 1162 RS_ENTRY( 1163 /* External Class */ MAXWELL_DMA_COPY_A, 1164 /* Internal Class */ KernelCeContext, 1165 /* Multi-Instance */ NV_TRUE, 1166 /* Parents */ RS_LIST(classId(KernelChannel)), 1167 /* Alloc Param Info */ RS_OPTIONAL(NVB0B5_ALLOCATION_PARAMETERS), 1168 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1169 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1170 /* Required Access Rights */ RS_ACCESS_NONE 1171 ) 1172 RS_ENTRY( 1173 /* External Class */ PASCAL_DMA_COPY_A, 1174 /* Internal Class */ KernelCeContext, 1175 /* Multi-Instance */ NV_TRUE, 1176 /* Parents */ RS_LIST(classId(KernelChannel)), 1177 /* Alloc Param Info */ RS_OPTIONAL(NVB0B5_ALLOCATION_PARAMETERS), 1178 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1179 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1180 /* Required Access Rights */ RS_ACCESS_NONE 1181 ) 1182 RS_ENTRY( 1183 /* External Class */ TURING_DMA_COPY_A, 1184 /* Internal Class */ KernelCeContext, 1185 /* Multi-Instance */ NV_TRUE, 1186 /* Parents */ RS_LIST(classId(KernelChannel)), 1187 /* Alloc Param Info */ RS_OPTIONAL(NVB0B5_ALLOCATION_PARAMETERS), 1188 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1189 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1190 /* Required Access Rights */ RS_ACCESS_NONE 1191 ) 1192 RS_ENTRY( 1193 /* External Class */ AMPERE_DMA_COPY_A, 1194 /* Internal Class */ KernelCeContext, 1195 /* Multi-Instance */ NV_TRUE, 1196 /* Parents */ RS_LIST(classId(KernelChannel)), 1197 /* Alloc Param Info */ RS_OPTIONAL(NVB0B5_ALLOCATION_PARAMETERS), 1198 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1199 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1200 /* Required Access Rights */ RS_ACCESS_NONE 1201 ) 1202 RS_ENTRY( 1203 /* External Class */ AMPERE_DMA_COPY_B, 1204 /* Internal Class */ KernelCeContext, 1205 /* Multi-Instance */ NV_TRUE, 1206 /* Parents */ RS_LIST(classId(KernelChannel)), 1207 /* Alloc Param Info */ RS_OPTIONAL(NVB0B5_ALLOCATION_PARAMETERS), 1208 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1209 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1210 /* Required Access Rights */ RS_ACCESS_NONE 1211 ) 1212 RS_ENTRY( 1213 /* External Class */ HOPPER_DMA_COPY_A, 1214 /* Internal Class */ KernelCeContext, 1215 /* Multi-Instance */ NV_TRUE, 1216 /* Parents */ RS_LIST(classId(KernelChannel)), 1217 /* Alloc Param Info */ RS_OPTIONAL(NVB0B5_ALLOCATION_PARAMETERS), 1218 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1219 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1220 /* Required Access Rights */ RS_ACCESS_NONE 1221 ) 1222 RS_ENTRY( 1223 /* External Class */ NVB8B0_VIDEO_DECODER, 1224 /* Internal Class */ NvdecContext, 1225 /* Multi-Instance */ NV_TRUE, 1226 /* Parents */ RS_LIST(classId(KernelChannel)), 1227 /* Alloc Param Info */ RS_OPTIONAL(NV_BSP_ALLOCATION_PARAMETERS), 1228 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1229 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1230 /* Required Access Rights */ RS_ACCESS_NONE 1231 ) 1232 RS_ENTRY( 1233 /* External Class */ NVC4B0_VIDEO_DECODER, 1234 /* Internal Class */ NvdecContext, 1235 /* Multi-Instance */ NV_TRUE, 1236 /* Parents */ RS_LIST(classId(KernelChannel)), 1237 /* Alloc Param Info */ RS_OPTIONAL(NV_BSP_ALLOCATION_PARAMETERS), 1238 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1239 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1240 /* Required Access Rights */ RS_ACCESS_NONE 1241 ) 1242 RS_ENTRY( 1243 /* External Class */ NVC6B0_VIDEO_DECODER, 1244 /* Internal Class */ NvdecContext, 1245 /* Multi-Instance */ NV_TRUE, 1246 /* Parents */ RS_LIST(classId(KernelChannel)), 1247 /* Alloc Param Info */ RS_OPTIONAL(NV_BSP_ALLOCATION_PARAMETERS), 1248 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1249 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1250 /* Required Access Rights */ RS_ACCESS_NONE 1251 ) 1252 RS_ENTRY( 1253 /* External Class */ NVC7B0_VIDEO_DECODER, 1254 /* Internal Class */ NvdecContext, 1255 /* Multi-Instance */ NV_TRUE, 1256 /* Parents */ RS_LIST(classId(KernelChannel)), 1257 /* Alloc Param Info */ RS_OPTIONAL(NV_BSP_ALLOCATION_PARAMETERS), 1258 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1259 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1260 /* Required Access Rights */ RS_ACCESS_NONE 1261 ) 1262 RS_ENTRY( 1263 /* External Class */ NVC9B0_VIDEO_DECODER, 1264 /* Internal Class */ NvdecContext, 1265 /* Multi-Instance */ NV_TRUE, 1266 /* Parents */ RS_LIST(classId(KernelChannel)), 1267 /* Alloc Param Info */ RS_OPTIONAL(NV_BSP_ALLOCATION_PARAMETERS), 1268 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1269 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1270 /* Required Access Rights */ RS_ACCESS_NONE 1271 ) 1272 RS_ENTRY( 1273 /* External Class */ NVB8D1_VIDEO_NVJPG, 1274 /* Internal Class */ NvjpgContext, 1275 /* Multi-Instance */ NV_TRUE, 1276 /* Parents */ RS_LIST(classId(KernelChannel)), 1277 /* Alloc Param Info */ RS_OPTIONAL(NV_NVJPG_ALLOCATION_PARAMETERS), 1278 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1279 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1280 /* Required Access Rights */ RS_ACCESS_NONE 1281 ) 1282 RS_ENTRY( 1283 /* External Class */ NVC4D1_VIDEO_NVJPG, 1284 /* Internal Class */ NvjpgContext, 1285 /* Multi-Instance */ NV_TRUE, 1286 /* Parents */ RS_LIST(classId(KernelChannel)), 1287 /* Alloc Param Info */ RS_OPTIONAL(NV_NVJPG_ALLOCATION_PARAMETERS), 1288 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1289 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1290 /* Required Access Rights */ RS_ACCESS_NONE 1291 ) 1292 RS_ENTRY( 1293 /* External Class */ NVC9D1_VIDEO_NVJPG, 1294 /* Internal Class */ NvjpgContext, 1295 /* Multi-Instance */ NV_TRUE, 1296 /* Parents */ RS_LIST(classId(KernelChannel)), 1297 /* Alloc Param Info */ RS_OPTIONAL(NV_NVJPG_ALLOCATION_PARAMETERS), 1298 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1299 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1300 /* Required Access Rights */ RS_ACCESS_NONE 1301 ) 1302 RS_ENTRY( 1303 /* External Class */ NVB8FA_VIDEO_OFA, 1304 /* Internal Class */ OfaContext, 1305 /* Multi-Instance */ NV_FALSE, 1306 /* Parents */ RS_LIST(classId(KernelChannel)), 1307 /* Alloc Param Info */ RS_OPTIONAL(NV_OFA_ALLOCATION_PARAMETERS), 1308 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1309 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1310 /* Required Access Rights */ RS_ACCESS_NONE 1311 ) 1312 RS_ENTRY( 1313 /* External Class */ NVC6FA_VIDEO_OFA, 1314 /* Internal Class */ OfaContext, 1315 /* Multi-Instance */ NV_FALSE, 1316 /* Parents */ RS_LIST(classId(KernelChannel)), 1317 /* Alloc Param Info */ RS_OPTIONAL(NV_OFA_ALLOCATION_PARAMETERS), 1318 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1319 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1320 /* Required Access Rights */ RS_ACCESS_NONE 1321 ) 1322 RS_ENTRY( 1323 /* External Class */ NVC7FA_VIDEO_OFA, 1324 /* Internal Class */ OfaContext, 1325 /* Multi-Instance */ NV_FALSE, 1326 /* Parents */ RS_LIST(classId(KernelChannel)), 1327 /* Alloc Param Info */ RS_OPTIONAL(NV_OFA_ALLOCATION_PARAMETERS), 1328 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1329 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1330 /* Required Access Rights */ RS_ACCESS_NONE 1331 ) 1332 RS_ENTRY( 1333 /* External Class */ NVC9FA_VIDEO_OFA, 1334 /* Internal Class */ OfaContext, 1335 /* Multi-Instance */ NV_FALSE, 1336 /* Parents */ RS_LIST(classId(KernelChannel)), 1337 /* Alloc Param Info */ RS_OPTIONAL(NV_OFA_ALLOCATION_PARAMETERS), 1338 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1339 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1340 /* Required Access Rights */ RS_ACCESS_NONE 1341 ) 1342 RS_ENTRY( 1343 /* External Class */ NVC4B7_VIDEO_ENCODER, 1344 /* Internal Class */ MsencContext, 1345 /* Multi-Instance */ NV_TRUE, 1346 /* Parents */ RS_LIST(classId(KernelChannel)), 1347 /* Alloc Param Info */ RS_OPTIONAL(NV_MSENC_ALLOCATION_PARAMETERS), 1348 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1349 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1350 /* Required Access Rights */ RS_ACCESS_NONE 1351 ) 1352 RS_ENTRY( 1353 /* External Class */ NVB4B7_VIDEO_ENCODER, 1354 /* Internal Class */ MsencContext, 1355 /* Multi-Instance */ NV_TRUE, 1356 /* Parents */ RS_LIST(classId(KernelChannel)), 1357 /* Alloc Param Info */ RS_OPTIONAL(NV_MSENC_ALLOCATION_PARAMETERS), 1358 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1359 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1360 /* Required Access Rights */ RS_ACCESS_NONE 1361 ) 1362 RS_ENTRY( 1363 /* External Class */ NVC7B7_VIDEO_ENCODER, 1364 /* Internal Class */ MsencContext, 1365 /* Multi-Instance */ NV_TRUE, 1366 /* Parents */ RS_LIST(classId(KernelChannel)), 1367 /* Alloc Param Info */ RS_OPTIONAL(NV_MSENC_ALLOCATION_PARAMETERS), 1368 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1369 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1370 /* Required Access Rights */ RS_ACCESS_NONE 1371 ) 1372 RS_ENTRY( 1373 /* External Class */ NVC9B7_VIDEO_ENCODER, 1374 /* Internal Class */ MsencContext, 1375 /* Multi-Instance */ NV_TRUE, 1376 /* Parents */ RS_LIST(classId(KernelChannel)), 1377 /* Alloc Param Info */ RS_OPTIONAL(NV_MSENC_ALLOCATION_PARAMETERS), 1378 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1379 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1380 /* Required Access Rights */ RS_ACCESS_NONE 1381 ) 1382 RS_ENTRY( 1383 /* External Class */ HOPPER_SEC2_WORK_LAUNCH_A, 1384 /* Internal Class */ Sec2Context, 1385 /* Multi-Instance */ NV_TRUE, 1386 /* Parents */ RS_LIST(classId(KernelChannel)), 1387 /* Alloc Param Info */ RS_NONE, 1388 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1389 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON, 1390 /* Required Access Rights */ RS_ACCESS_NONE 1391 ) 1392 RS_ENTRY( 1393 /* External Class */ AMPERE_A, 1394 /* Internal Class */ KernelGraphicsObject, 1395 /* Multi-Instance */ NV_TRUE, 1396 /* Parents */ RS_LIST(classId(KernelChannel)), 1397 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1398 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1399 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1400 /* Required Access Rights */ RS_ACCESS_NONE 1401 ) 1402 RS_ENTRY( 1403 /* External Class */ AMPERE_COMPUTE_A, 1404 /* Internal Class */ KernelGraphicsObject, 1405 /* Multi-Instance */ NV_TRUE, 1406 /* Parents */ RS_LIST(classId(KernelChannel)), 1407 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1408 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1409 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1410 /* Required Access Rights */ RS_ACCESS_NONE 1411 ) 1412 RS_ENTRY( 1413 /* External Class */ AMPERE_B, 1414 /* Internal Class */ KernelGraphicsObject, 1415 /* Multi-Instance */ NV_TRUE, 1416 /* Parents */ RS_LIST(classId(KernelChannel)), 1417 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1418 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1419 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1420 /* Required Access Rights */ RS_ACCESS_NONE 1421 ) 1422 RS_ENTRY( 1423 /* External Class */ AMPERE_COMPUTE_B, 1424 /* Internal Class */ KernelGraphicsObject, 1425 /* Multi-Instance */ NV_TRUE, 1426 /* Parents */ RS_LIST(classId(KernelChannel)), 1427 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1428 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1429 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1430 /* Required Access Rights */ RS_ACCESS_NONE 1431 ) 1432 RS_ENTRY( 1433 /* External Class */ ADA_A, 1434 /* Internal Class */ KernelGraphicsObject, 1435 /* Multi-Instance */ NV_TRUE, 1436 /* Parents */ RS_LIST(classId(KernelChannel)), 1437 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1438 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1439 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1440 /* Required Access Rights */ RS_ACCESS_NONE 1441 ) 1442 RS_ENTRY( 1443 /* External Class */ ADA_COMPUTE_A, 1444 /* Internal Class */ KernelGraphicsObject, 1445 /* Multi-Instance */ NV_TRUE, 1446 /* Parents */ RS_LIST(classId(KernelChannel)), 1447 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1448 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1449 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1450 /* Required Access Rights */ RS_ACCESS_NONE 1451 ) 1452 RS_ENTRY( 1453 /* External Class */ HOPPER_A, 1454 /* Internal Class */ KernelGraphicsObject, 1455 /* Multi-Instance */ NV_TRUE, 1456 /* Parents */ RS_LIST(classId(KernelChannel)), 1457 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1458 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1459 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1460 /* Required Access Rights */ RS_ACCESS_NONE 1461 ) 1462 RS_ENTRY( 1463 /* External Class */ HOPPER_COMPUTE_A, 1464 /* Internal Class */ KernelGraphicsObject, 1465 /* Multi-Instance */ NV_TRUE, 1466 /* Parents */ RS_LIST(classId(KernelChannel)), 1467 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1468 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1469 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1470 /* Required Access Rights */ RS_ACCESS_NONE 1471 ) 1472 RS_ENTRY( 1473 /* External Class */ FERMI_TWOD_A, 1474 /* Internal Class */ KernelGraphicsObject, 1475 /* Multi-Instance */ NV_TRUE, 1476 /* Parents */ RS_LIST(classId(KernelChannel)), 1477 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1478 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1479 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1480 /* Required Access Rights */ RS_ACCESS_NONE 1481 ) 1482 RS_ENTRY( 1483 /* External Class */ KEPLER_INLINE_TO_MEMORY_B, 1484 /* Internal Class */ KernelGraphicsObject, 1485 /* Multi-Instance */ NV_TRUE, 1486 /* Parents */ RS_LIST(classId(KernelChannel)), 1487 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1488 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1489 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1490 /* Required Access Rights */ RS_ACCESS_NONE 1491 ) 1492 RS_ENTRY( 1493 /* External Class */ TURING_A, 1494 /* Internal Class */ KernelGraphicsObject, 1495 /* Multi-Instance */ NV_TRUE, 1496 /* Parents */ RS_LIST(classId(KernelChannel)), 1497 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1498 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1499 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1500 /* Required Access Rights */ RS_ACCESS_NONE 1501 ) 1502 RS_ENTRY( 1503 /* External Class */ TURING_COMPUTE_A, 1504 /* Internal Class */ KernelGraphicsObject, 1505 /* Multi-Instance */ NV_TRUE, 1506 /* Parents */ RS_LIST(classId(KernelChannel)), 1507 /* Alloc Param Info */ RS_OPTIONAL(NV_GR_ALLOCATION_PARAMETERS), 1508 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1509 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_CHANNEL_DESCENDANT_COMMON | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC, 1510 /* Required Access Rights */ RS_ACCESS_NONE 1511 ) 1512 RS_ENTRY( 1513 /* External Class */ NV01_CONTEXT_DMA, 1514 /* Internal Class */ ContextDma, 1515 /* Multi-Instance */ NV_TRUE, 1516 /* Parents */ RS_ANY_PARENT, 1517 /* Alloc Param Info */ RS_REQUIRED(NV_CONTEXT_DMA_ALLOCATION_PARAMS), 1518 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1519 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 1520 /* Required Access Rights */ RS_ACCESS_NONE 1521 ) 1522 RS_ENTRY( 1523 /* External Class */ NV01_EVENT, 1524 /* Internal Class */ Event, 1525 /* Multi-Instance */ NV_TRUE, 1526 /* Parents */ RS_ANY_PARENT, 1527 /* Alloc Param Info */ RS_REQUIRED(NV0005_ALLOC_PARAMETERS), 1528 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1529 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC | RS_FLAGS_DUAL_CLIENT_LOCK, 1530 /* Required Access Rights */ RS_ACCESS_NONE 1531 ) 1532 RS_ENTRY( 1533 /* External Class */ NV01_EVENT_OS_EVENT, 1534 /* Internal Class */ Event, 1535 /* Multi-Instance */ NV_TRUE, 1536 /* Parents */ RS_ANY_PARENT, 1537 /* Alloc Param Info */ RS_REQUIRED(NV0005_ALLOC_PARAMETERS), 1538 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1539 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC | RS_FLAGS_DUAL_CLIENT_LOCK, 1540 /* Required Access Rights */ RS_ACCESS_NONE 1541 ) 1542 RS_ENTRY( 1543 /* External Class */ NV01_EVENT_KERNEL_CALLBACK, 1544 /* Internal Class */ Event, 1545 /* Multi-Instance */ NV_TRUE, 1546 /* Parents */ RS_ANY_PARENT, 1547 /* Alloc Param Info */ RS_REQUIRED(NV0005_ALLOC_PARAMETERS), 1548 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1549 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC | RS_FLAGS_DUAL_CLIENT_LOCK, 1550 /* Required Access Rights */ RS_ACCESS_NONE 1551 ) 1552 RS_ENTRY( 1553 /* External Class */ NV01_EVENT_KERNEL_CALLBACK_EX, 1554 /* Internal Class */ Event, 1555 /* Multi-Instance */ NV_TRUE, 1556 /* Parents */ RS_ANY_PARENT, 1557 /* Alloc Param Info */ RS_REQUIRED(NV0005_ALLOC_PARAMETERS), 1558 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1559 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ACQUIRE_RO_API_LOCK_ON_ALLOC | RS_FLAGS_DUAL_CLIENT_LOCK, 1560 /* Required Access Rights */ RS_ACCESS_NONE 1561 ) 1562 RS_ENTRY( 1563 /* External Class */ NV_CONFIDENTIAL_COMPUTE, 1564 /* Internal Class */ ConfidentialComputeApi, 1565 /* Multi-Instance */ NV_TRUE, 1566 /* Parents */ RS_LIST(classId(RmClientResource)), 1567 /* Alloc Param Info */ RS_OPTIONAL(NV_CONFIDENTIAL_COMPUTE_ALLOC_PARAMS), 1568 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1569 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 1570 /* Required Access Rights */ RS_ACCESS_NONE 1571 ) 1572 RS_ENTRY( 1573 /* External Class */ NV_COUNTER_COLLECTION_UNIT, 1574 /* Internal Class */ KernelCcuApi, 1575 /* Multi-Instance */ NV_FALSE, 1576 /* Parents */ RS_LIST(classId(Subdevice)), 1577 /* Alloc Param Info */ RS_NONE, 1578 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1579 /* Flags */ RS_FLAGS_ALLOC_NON_PRIVILEGED | RS_FLAGS_ACQUIRE_GPUS_LOCK, 1580 /* Required Access Rights */ RS_ACCESS_NONE 1581 ) 1582 #if RMCFG_CLASS_NV_CE_UTILS && (defined(DEBUG) || defined(DEVELOP)) 1583 RS_ENTRY( 1584 /* External Class */ NV_CE_UTILS, 1585 /* Internal Class */ CeUtilsApi, 1586 /* Multi-Instance */ NV_TRUE, 1587 /* Parents */ RS_LIST(classId(Subdevice)), 1588 /* Alloc Param Info */ RS_REQUIRED(NV0050_ALLOCATION_PARAMETERS), 1589 /* Resource Free Priority */ RS_FREE_PRIORITY_DEFAULT, 1590 /* Flags */ RS_FLAGS_ACQUIRE_GPUS_LOCK | RS_FLAGS_ALLOC_PRIVILEGED, 1591 /* Required Access Rights */ RS_ACCESS_NONE 1592 ) 1593 #endif 1594 1595 // Undefine the entry macro to simplify call sites 1596 #undef RS_ENTRY 1597