Files
open-gpu-kernel-modules/src/nvidia/generated/g_sdk-structures.h
Gaurav Juvekar 448d5cc656 560.28.03
2024-07-19 15:45:15 -07:00

4400 lines
158 KiB
C

/*
* SPDX-FileCopyrightText: Copyright (c) 2008-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: MIT
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
/*
* WARNING: This is an autogenerated file. DO NOT EDIT.
* This file is generated using below files:
* template file: inc/kernel/vgpu/gt_sdk-structures.h
* definition file: inc/kernel/vgpu/sdk-structures.def
*/
#ifdef SDK_STRUCTURES
// These are copy of sdk structures, that will be used for the communication between the vmioplugin & guest RM.
// #if condition can be removed when this file is included in OpenRM-Orin build.
#include "vgpu/sdk-structures.h"
typedef struct NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_PARAMS_v1E_05
{
NvU64 physAddress NV_ALIGN_BYTES(8);
NvU32 numEntries;
NvU32 flags;
NvHandle hVASpace;
NvU32 chId;
NvU32 subDeviceId;
NvU32 pasid;
} NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_PARAMS_v1E_05;
typedef NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_PARAMS_v1E_05 NV0080_CTRL_DMA_SET_PAGE_DIRECTORY_PARAMS_v;
typedef struct NV0080_CTRL_DMA_UPDATE_PDE_2_PAGE_TABLE_PARAMS_v03_00
{
NvU64 physAddr NV_ALIGN_BYTES(8);
NvU32 numEntries;
NvU32 aperture;
} NV0080_CTRL_DMA_UPDATE_PDE_2_PAGE_TABLE_PARAMS_v03_00;
typedef NV0080_CTRL_DMA_UPDATE_PDE_2_PAGE_TABLE_PARAMS_v03_00 NV0080_CTRL_DMA_UPDATE_PDE_2_PAGE_TABLE_PARAMS_v;
typedef struct NV0080_CTRL_DMA_UPDATE_PDE_2_PARAMS_v03_00
{
NvU32 pdeIndex;
NvU32 flags;
NV0080_CTRL_DMA_UPDATE_PDE_2_PAGE_TABLE_PARAMS_v03_00 ptParams[NV0080_CTRL_DMA_UPDATE_PDE_2_PT_IDX__SIZE];
NvHandle hVASpace;
NvP64 pPdeBuffer NV_ALIGN_BYTES(8);
NvU32 subDeviceId;
} NV0080_CTRL_DMA_UPDATE_PDE_2_PARAMS_v03_00;
typedef NV0080_CTRL_DMA_UPDATE_PDE_2_PARAMS_v03_00 NV0080_CTRL_DMA_UPDATE_PDE_2_PARAMS_v;
typedef struct NV2080_CTRL_GPU_INITIALIZE_CTX_PARAMS_v03_00
{
NvU32 engineType;
NvHandle hClient;
NvU32 ChID;
NvHandle hChanClient;
NvHandle hObject;
NvHandle hVirtMemory;
NvU64 physAddress NV_ALIGN_BYTES(8);
NvU32 physAttr;
NvHandle hDmaHandle;
NvU32 index;
NvU64 size NV_ALIGN_BYTES(8);
} NV2080_CTRL_GPU_INITIALIZE_CTX_PARAMS_v03_00;
typedef NV2080_CTRL_GPU_INITIALIZE_CTX_PARAMS_v03_00 NV2080_CTRL_GPU_INITIALIZE_CTX_PARAMS_v;
typedef struct NV2080_CTRL_GPU_PROMOTE_CTX_BUFFER_ENTRY_v1A_20
{
NvU64 gpuPhysAddr NV_ALIGN_BYTES(8);
NvU64 gpuVirtAddr NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
NvU32 physAttr;
NvU16 bufferId;
NvU8 bInitialize;
NvU8 bNonmapped;
} NV2080_CTRL_GPU_PROMOTE_CTX_BUFFER_ENTRY_v1A_20;
typedef NV2080_CTRL_GPU_PROMOTE_CTX_BUFFER_ENTRY_v1A_20 NV2080_CTRL_GPU_PROMOTE_CTX_BUFFER_ENTRY_v;
typedef struct NV2080_CTRL_GPU_PROMOTE_CTX_PARAMS_v1A_20
{
NvU32 engineType;
NvHandle hClient;
NvU32 ChID;
NvHandle hChanClient;
NvHandle hObject;
NvHandle hVirtMemory;
NvU64 virtAddress NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
NvU32 entryCount;
NV2080_CTRL_GPU_PROMOTE_CTX_BUFFER_ENTRY_v1A_20 promoteEntry[NV2080_CTRL_GPU_PROMOTE_CONTEXT_MAX_ENTRIES];
} NV2080_CTRL_GPU_PROMOTE_CTX_PARAMS_v1A_20;
typedef NV2080_CTRL_GPU_PROMOTE_CTX_PARAMS_v1A_20 NV2080_CTRL_GPU_PROMOTE_CTX_PARAMS_v;
typedef struct NV2080_CTRL_GPU_EVICT_CTX_PARAMS_v03_00
{
NvU32 engineType;
NvHandle hClient;
NvU32 ChID;
NvHandle hChanClient;
NvHandle hObject;
} NV2080_CTRL_GPU_EVICT_CTX_PARAMS_v03_00;
typedef NV2080_CTRL_GPU_EVICT_CTX_PARAMS_v03_00 NV2080_CTRL_GPU_EVICT_CTX_PARAMS_v;
typedef struct NV2080_CTRL_DMA_INVALIDATE_TLB_PARAMS_v03_00
{
NvHandle hClient;
NvHandle hDevice;
NvU32 engine;
NvHandle hVASpace;
} NV2080_CTRL_DMA_INVALIDATE_TLB_PARAMS_v03_00;
typedef NV2080_CTRL_DMA_INVALIDATE_TLB_PARAMS_v03_00 NV2080_CTRL_DMA_INVALIDATE_TLB_PARAMS_v;
typedef union NV5080_CTRL_DEFERRED_API_V2_PARAMS_api_bundle_v06_00
{
NV2080_CTRL_GPU_INITIALIZE_CTX_PARAMS_v03_00 InitCtx;
NV2080_CTRL_GPU_EVICT_CTX_PARAMS_v03_00 EvictCtx;
NV2080_CTRL_DMA_INVALIDATE_TLB_PARAMS_v03_00 InvalidateTlb;
} NV5080_CTRL_DEFERRED_API_V2_PARAMS_api_bundle_v06_00;
typedef NV5080_CTRL_DEFERRED_API_V2_PARAMS_api_bundle_v06_00 NV5080_CTRL_DEFERRED_API_V2_PARAMS_api_bundle_v;
typedef struct NV5080_CTRL_DEFERRED_API_V2_PARAMS_v06_00
{
NvHandle hApiHandle;
NvU32 cmd;
NvU32 flags;
NvHandle hClientVA;
NvHandle hDeviceVA;
NV5080_CTRL_DEFERRED_API_V2_PARAMS_api_bundle_v06_00 api_bundle;
} NV5080_CTRL_DEFERRED_API_V2_PARAMS_v06_00;
typedef NV5080_CTRL_DEFERRED_API_V2_PARAMS_v06_00 NV5080_CTRL_DEFERRED_API_V2_PARAMS_v;
typedef struct NVA080_CTRL_VGPU_DISPLAY_CLEANUP_SURFACE_PARAMS_v03_00
{
NvU32 headIndex;
NvU32 blankingEnabled;
} NVA080_CTRL_VGPU_DISPLAY_CLEANUP_SURFACE_PARAMS_v03_00;
typedef NVA080_CTRL_VGPU_DISPLAY_CLEANUP_SURFACE_PARAMS_v03_00 NVA080_CTRL_VGPU_DISPLAY_CLEANUP_SURFACE_PARAMS_v;
typedef struct NVA080_CTRL_VGPU_DISPLAY_SET_SURFACE_PROPERTIES_v07_07
{
NvU32 headIndex;
NvU32 isPrimary;
NvU32 offset;
NvU32 surfaceType;
NvU32 surfaceBlockHeight;
NvU32 surfacePitch;
NvU32 surfaceFormat;
NvU32 surfaceWidth;
NvU32 surfaceHeight;
NvU32 rectX;
NvU32 rectY;
NvU32 rectWidth;
NvU32 rectHeight;
NvU32 surfaceSize;
NvU32 surfaceKind;
NvU32 hHwResDevice;
NvU32 hHwResHandle;
NvU32 effectiveFbPageSize;
} NVA080_CTRL_VGPU_DISPLAY_SET_SURFACE_PROPERTIES_v07_07;
typedef NVA080_CTRL_VGPU_DISPLAY_SET_SURFACE_PROPERTIES_v07_07 NVA080_CTRL_VGPU_DISPLAY_SET_SURFACE_PROPERTIES_v;
typedef struct NV_MEMORY_DESC_PARAMS_v18_01
{
NvU64 base NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
NvU32 addressSpace;
NvU32 cacheAttrib;
} NV_MEMORY_DESC_PARAMS_v18_01;
typedef NV_MEMORY_DESC_PARAMS_v18_01 NV_MEMORY_DESC_PARAMS_v;
typedef struct NV_CHANNEL_ALLOC_PARAMS_v1F_04
{
NvHandle hObjectError;
NvHandle hObjectBuffer;
NvU64 gpFifoOffset NV_ALIGN_BYTES(8);
NvU32 gpFifoEntries;
NvU32 flags;
NvHandle hContextShare;
NvHandle hVASpace;
NvHandle hUserdMemory[1];
NvU64 userdOffset[1] NV_ALIGN_BYTES(8);
NvU32 engineType;
NvHandle hObjectEccError;
NV_MEMORY_DESC_PARAMS_v18_01 instanceMem;
NV_MEMORY_DESC_PARAMS_v18_01 ramfcMem;
NV_MEMORY_DESC_PARAMS_v18_01 userdMem;
NV_MEMORY_DESC_PARAMS_v18_01 mthdbufMem;
NvHandle hPhysChannelGroup;
NvHandle subDeviceId;
NvU32 internalFlags;
NV_MEMORY_DESC_PARAMS_v18_01 errorNotifierMem;
NV_MEMORY_DESC_PARAMS_v18_01 eccErrorNotifierMem;
} NV_CHANNEL_ALLOC_PARAMS_v1F_04;
typedef NV_CHANNEL_ALLOC_PARAMS_v1F_04 NV_CHANNEL_ALLOC_PARAMS_v;
typedef struct NV_DEVICE_ALLOCATION_PARAMETERS_v03_00
{
NvP64 szName NV_ALIGN_BYTES(8);
NvHandle hClientShare;
NvHandle hTargetClient;
NvHandle hTargetDevice;
NvV32 flags;
NvU64 vaSpaceSize NV_ALIGN_BYTES(8);
NvV32 vaMode;
NvU64 vaBase NV_ALIGN_BYTES(8);
} NV_DEVICE_ALLOCATION_PARAMETERS_v03_00;
typedef NV_DEVICE_ALLOCATION_PARAMETERS_v03_00 NV_DEVICE_ALLOCATION_PARAMETERS_v;
typedef struct NVOS00_PARAMETERS_v03_00
{
NvHandle hRoot;
NvHandle hObjectParent;
NvHandle hObjectOld;
NvV32 status;
} NVOS00_PARAMETERS_v03_00;
typedef NVOS00_PARAMETERS_v03_00 NVOS00_PARAMETERS_v;
typedef struct NVOS21_PARAMETERS_v03_00
{
NvHandle hRoot;
NvHandle hObjectParent;
NvHandle hObjectNew;
NvV32 hClass;
NvP64 pAllocParms NV_ALIGN_BYTES(8);
NvV32 status;
} NVOS21_PARAMETERS_v03_00;
typedef NVOS21_PARAMETERS_v03_00 NVOS21_PARAMETERS_v;
typedef struct NVOS33_PARAMETERS_v09_0B
{
NvHandle hClient;
NvHandle hDevice;
NvHandle hMemory;
NvU64 offset NV_ALIGN_BYTES(8);
NvU64 length NV_ALIGN_BYTES(8);
NvP64 pLinearAddress NV_ALIGN_BYTES(8);
NvU32 status;
NvU32 flags;
NvU64 bar1_offset NV_ALIGN_BYTES(8);
} NVOS33_PARAMETERS_v09_0B;
typedef NVOS33_PARAMETERS_v09_0B NVOS33_PARAMETERS_v;
typedef struct NVOS34_PARAMETERS_v03_00
{
NvHandle hClient;
NvHandle hDevice;
NvHandle hMemory;
NvP64 pLinearAddress NV_ALIGN_BYTES(8);
NvU32 status;
NvU32 flags;
} NVOS34_PARAMETERS_v03_00;
typedef NVOS34_PARAMETERS_v03_00 NVOS34_PARAMETERS_v;
typedef struct NVOS39_PARAMETERS_v03_00
{
NvHandle hClient;
NvHandle hObjectParent;
NvHandle hObjectNew;
NvV32 hClass;
NvV32 flags;
NvU32 selector;
NvHandle hMemory;
NvU64 offset NV_ALIGN_BYTES(8);
NvU64 limit NV_ALIGN_BYTES(8);
NvV32 status;
} NVOS39_PARAMETERS_v03_00;
typedef NVOS39_PARAMETERS_v03_00 NVOS39_PARAMETERS_v;
typedef struct NVOS46_PARAMETERS_v03_00
{
NvHandle hClient;
NvHandle hDevice;
NvHandle hDma;
NvHandle hMemory;
NvU64 offset NV_ALIGN_BYTES(8);
NvU64 length NV_ALIGN_BYTES(8);
NvV32 flags;
NvU64 dmaOffset NV_ALIGN_BYTES(8);
NvV32 status;
} NVOS46_PARAMETERS_v03_00;
typedef NVOS46_PARAMETERS_v03_00 NVOS46_PARAMETERS_v;
typedef struct NVOS47_PARAMETERS_v03_00
{
NvHandle hClient;
NvHandle hDevice;
NvHandle hDma;
NvHandle hMemory;
NvV32 flags;
NvU64 dmaOffset NV_ALIGN_BYTES(8);
NvV32 status;
} NVOS47_PARAMETERS_v03_00;
typedef NVOS47_PARAMETERS_v03_00 NVOS47_PARAMETERS_v;
typedef struct NVOS54_PARAMETERS_v03_00
{
NvHandle hClient;
NvHandle hObject;
NvRmctrlCmd cmd;
NvP64 params NV_ALIGN_BYTES(8);
NvU32 paramsSize;
NvV32 status;
} NVOS54_PARAMETERS_v03_00;
typedef NVOS54_PARAMETERS_v03_00 NVOS54_PARAMETERS_v;
typedef struct NVOS55_PARAMETERS_v03_00
{
NvHandle hClient;
NvHandle hParent;
NvHandle hObject;
NvHandle hClientSrc;
NvHandle hObjectSrc;
NvU32 flags;
NvU32 status;
} NVOS55_PARAMETERS_v03_00;
typedef NVOS55_PARAMETERS_v03_00 NVOS55_PARAMETERS_v;
typedef struct NV2080_CTRL_GR_ROUTE_INFO_v12_01
{
NvU32 flags;
NvU64 route NV_ALIGN_BYTES(8);
} NV2080_CTRL_GR_ROUTE_INFO_v12_01;
typedef NV2080_CTRL_GR_ROUTE_INFO_v12_01 NV2080_CTRL_GR_ROUTE_INFO_v;
typedef struct NV2080_CTRL_GPU_EXEC_REG_OPS_PARAMS_v12_01
{
NvHandle hClientTarget;
NvHandle hChannelTarget;
NvU32 reserved00[3];
NvU32 regOpCount;
NV2080_CTRL_GR_ROUTE_INFO_v12_01 grRouteInfo;
NvP64 regOps NV_ALIGN_BYTES(8);
} NV2080_CTRL_GPU_EXEC_REG_OPS_PARAMS_v12_01;
typedef NV2080_CTRL_GPU_EXEC_REG_OPS_PARAMS_v12_01 NV2080_CTRL_GPU_EXEC_REG_OPS_PARAMS_v;
typedef struct NV2080_CTRL_GPU_REG_OP_v03_00
{
NvU8 regOp;
NvU8 regType;
NvU8 regStatus;
NvU8 regQuad;
NvU32 regGroupMask;
NvU32 regSubGroupMask;
NvU32 regOffset;
NvU32 regValueHi;
NvU32 regValueLo;
NvU32 regAndNMaskHi;
NvU32 regAndNMaskLo;
} NV2080_CTRL_GPU_REG_OP_v03_00;
typedef NV2080_CTRL_GPU_REG_OP_v03_00 NV2080_CTRL_GPU_REG_OP_v;
typedef struct NVA080_CTRL_VGPU_GET_CONFIG_PARAMS_v21_0C
{
NvU32 frameRateLimiter;
NvU32 swVSyncEnabled;
NvU32 cudaEnabled;
NvU32 pluginPteBlitEnabled;
NvU32 disableWddm1xPreemption;
NvU32 debugBufferSize;
NvP64 debugBuffer NV_ALIGN_BYTES(8);
NvU64 guestFbOffset NV_ALIGN_BYTES(8);
NvU64 mappableCpuHostAperture NV_ALIGN_BYTES(8);
NvU32 linuxInterruptOptimization;
NvU32 vgpuDeviceCapsBits;
NvU32 maxPixels;
NvU32 uvmEnabledFeatures;
NvBool enableKmdSysmemScratch;
} NVA080_CTRL_VGPU_GET_CONFIG_PARAMS_v21_0C;
typedef NVA080_CTRL_VGPU_GET_CONFIG_PARAMS_v21_0C NVA080_CTRL_VGPU_GET_CONFIG_PARAMS_v;
typedef struct NV0000_CTRL_SYSTEM_GET_VGX_SYSTEM_INFO_PARAMS_v03_00
{
char szHostDriverVersionBuffer[NV0000_CTRL_CMD_SYSTEM_GET_VGX_SYSTEM_INFO_BUFFER_SIZE];
char szHostVersionBuffer[NV0000_CTRL_CMD_SYSTEM_GET_VGX_SYSTEM_INFO_BUFFER_SIZE];
char szHostTitleBuffer[NV0000_CTRL_CMD_SYSTEM_GET_VGX_SYSTEM_INFO_BUFFER_SIZE];
char szPluginTitleBuffer[NV0000_CTRL_CMD_SYSTEM_GET_VGX_SYSTEM_INFO_BUFFER_SIZE];
char szHostUnameBuffer[NV0000_CTRL_CMD_SYSTEM_GET_VGX_SYSTEM_INFO_BUFFER_SIZE];
NvU32 iHostChangelistNumber;
NvU32 iPluginChangelistNumber;
} NV0000_CTRL_SYSTEM_GET_VGX_SYSTEM_INFO_PARAMS_v03_00;
typedef NV0000_CTRL_SYSTEM_GET_VGX_SYSTEM_INFO_PARAMS_v03_00 NV0000_CTRL_SYSTEM_GET_VGX_SYSTEM_INFO_PARAMS_v;
typedef struct NV2080_CTRL_GPU_GET_GID_INFO_PARAMS_v03_00
{
NvU32 index;
NvU32 flags;
NvU32 length;
NvU8 data[NV2080_GPU_MAX_GID_LENGTH];
} NV2080_CTRL_GPU_GET_GID_INFO_PARAMS_v03_00;
typedef NV2080_CTRL_GPU_GET_GID_INFO_PARAMS_v03_00 NV2080_CTRL_GPU_GET_GID_INFO_PARAMS_v;
typedef struct NV2080_CTRL_GPU_GET_FERMI_GPC_INFO_PARAMS_v03_00
{
NvU32 gpcMask;
} NV2080_CTRL_GPU_GET_FERMI_GPC_INFO_PARAMS_v03_00;
typedef NV2080_CTRL_GPU_GET_FERMI_GPC_INFO_PARAMS_v03_00 NV2080_CTRL_GPU_GET_FERMI_GPC_INFO_PARAMS_v;
typedef struct NV2080_CTRL_GPU_GET_FERMI_TPC_INFO_PARAMS_v03_00
{
NvU32 gpcId;
NvU32 tpcMask;
} NV2080_CTRL_GPU_GET_FERMI_TPC_INFO_PARAMS_v03_00;
typedef NV2080_CTRL_GPU_GET_FERMI_TPC_INFO_PARAMS_v03_00 NV2080_CTRL_GPU_GET_FERMI_TPC_INFO_PARAMS_v;
typedef struct NV2080_CTRL_GPU_GET_FERMI_ZCULL_INFO_PARAMS_v03_00
{
NvU32 gpcId;
NvU32 zcullMask;
} NV2080_CTRL_GPU_GET_FERMI_ZCULL_INFO_PARAMS_v03_00;
typedef NV2080_CTRL_GPU_GET_FERMI_ZCULL_INFO_PARAMS_v03_00 NV2080_CTRL_GPU_GET_FERMI_ZCULL_INFO_PARAMS_v;
typedef struct NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS_v03_00
{
NvU32 BoardID;
char chipSKU[4];
char chipSKUMod[2];
char project[5];
char projectSKU[5];
char CDP[6];
char projectSKUMod[2];
NvU32 businessCycle;
} NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS_v03_00;
typedef struct NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS_v25_0E
{
NvU32 BoardID;
char chipSKU[9];
char chipSKUMod[5];
NvU32 skuConfigVersion;
char project[5];
char projectSKU[5];
char CDP[6];
char projectSKUMod[2];
NvU32 businessCycle;
} NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS_v25_0E;
typedef NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS_v25_0E NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS_v;
typedef struct NV2080_CTRL_GPU_PARTITION_SPAN_v18_03
{
NvU64 lo NV_ALIGN_BYTES(8);
NvU64 hi NV_ALIGN_BYTES(8);
} NV2080_CTRL_GPU_PARTITION_SPAN_v18_03;
typedef NV2080_CTRL_GPU_PARTITION_SPAN_v18_03 NV2080_CTRL_GPU_PARTITION_SPAN_v;
typedef struct GPU_PARTITION_INFO_v24_05
{
NvU32 swizzId;
NvU32 grEngCount;
NvU32 veidCount;
NvU32 ceCount;
NvU32 gpcCount;
NvU32 virtualGpcCount;
NvU32 gfxGpcCount;
NvU32 gpcsPerGr[NV2080_CTRL_GPU_MAX_SMC_IDS];
NvU32 virtualGpcsPerGr[NV2080_CTRL_GPU_MAX_SMC_IDS];
NvU32 gfxGpcPerGr[NV2080_CTRL_GPU_MAX_SMC_IDS];
NvU32 veidsPerGr[NV2080_CTRL_GPU_MAX_SMC_IDS];
NvU32 nvDecCount;
NvU32 nvEncCount;
NvU32 nvJpgCount;
NvU32 partitionFlag;
NvU32 smCount;
NvU32 nvOfaCount;
NvU64 memSize NV_ALIGN_BYTES(8);
NvBool bValid;
NV2080_CTRL_GPU_PARTITION_SPAN_v18_03 span;
NvU64 validCTSIdMask NV_ALIGN_BYTES(8);
} GPU_PARTITION_INFO_v24_05;
typedef GPU_PARTITION_INFO_v24_05 GPU_PARTITION_INFO_v;
typedef struct NV2080_CTRL_CMD_FB_GET_FB_REGION_FB_REGION_INFO_v03_00
{
NvU64 base NV_ALIGN_BYTES(8);
NvU64 limit NV_ALIGN_BYTES(8);
NvU64 reserved NV_ALIGN_BYTES(8);
NvU32 performance;
NvBool supportCompressed;
NvBool supportISO;
NvBool bProtected;
NV2080_CTRL_CMD_FB_GET_FB_REGION_SURFACE_MEM_TYPE_FLAG_v03_00 blackList;
} NV2080_CTRL_CMD_FB_GET_FB_REGION_FB_REGION_INFO_v03_00;
typedef NV2080_CTRL_CMD_FB_GET_FB_REGION_FB_REGION_INFO_v03_00 NV2080_CTRL_CMD_FB_GET_FB_REGION_FB_REGION_INFO_v;
typedef struct NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS_v03_00
{
NvU32 numFBRegions;
NV2080_CTRL_CMD_FB_GET_FB_REGION_FB_REGION_INFO_v03_00 fbRegion[NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_MAX_ENTRIES];
} NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS_v03_00;
typedef NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS_v03_00 NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS_v;
typedef struct NV2080_CTRL_PERF_GET_VID_ENG_PERFMON_SAMPLE_PARAMS_v05_00
{
NV2080_CTRL_CMD_PERF_VID_ENG engineType;
NvU32 clkPercentBusy;
NvU32 samplingPeriodUs;
} NV2080_CTRL_PERF_GET_VID_ENG_PERFMON_SAMPLE_PARAMS_v05_00;
typedef NV2080_CTRL_PERF_GET_VID_ENG_PERFMON_SAMPLE_PARAMS_v05_00 NV2080_CTRL_PERF_GET_VID_ENG_PERFMON_SAMPLE_PARAMS_v;
typedef struct NV2080_CTRL_PERF_GPUMON_ENGINE_UTIL_SAMPLE_v17_00
{
NvU32 util;
NvU32 procId;
NvU32 subProcessID;
} NV2080_CTRL_PERF_GPUMON_ENGINE_UTIL_SAMPLE_v17_00;
typedef NV2080_CTRL_PERF_GPUMON_ENGINE_UTIL_SAMPLE_v17_00 NV2080_CTRL_PERF_GPUMON_ENGINE_UTIL_SAMPLE_v;
typedef struct NV2080_CTRL_PERF_GPUMON_PERFMON_UTIL_SAMPLE_v1F_0E
{
NvU64 timeStamp NV_ALIGN_BYTES(8);
NV2080_CTRL_PERF_GPUMON_ENGINE_UTIL_SAMPLE_v17_00 fb;
NV2080_CTRL_PERF_GPUMON_ENGINE_UTIL_SAMPLE_v17_00 gr;
NV2080_CTRL_PERF_GPUMON_ENGINE_UTIL_SAMPLE_v17_00 nvenc;
NV2080_CTRL_PERF_GPUMON_ENGINE_UTIL_SAMPLE_v17_00 nvdec;
} NV2080_CTRL_PERF_GPUMON_PERFMON_UTIL_SAMPLE_v1F_0E;
typedef NV2080_CTRL_PERF_GPUMON_PERFMON_UTIL_SAMPLE_v1F_0E NV2080_CTRL_PERF_GPUMON_PERFMON_UTIL_SAMPLE_v;
typedef struct NV2080_CTRL_PERF_GET_GPUMON_PERFMON_UTIL_SAMPLES_V2_PARAMS_v1F_0E
{
NvU8 type;
NvU32 bufSize;
NvU32 count;
NvU32 tracker;
NV2080_CTRL_PERF_GPUMON_PERFMON_UTIL_SAMPLE_v1F_0E samples[NV2080_CTRL_PERF_GPUMON_SAMPLE_COUNT_PERFMON_UTIL_v1F_0E];
} NV2080_CTRL_PERF_GET_GPUMON_PERFMON_UTIL_SAMPLES_V2_PARAMS_v1F_0E;
typedef NV2080_CTRL_PERF_GET_GPUMON_PERFMON_UTIL_SAMPLES_V2_PARAMS_v1F_0E NV2080_CTRL_PERF_GET_GPUMON_PERFMON_UTIL_SAMPLES_V2_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_PERF_GPU_BOOST_SYNC_SET_LIMITS_PARAMS_v17_00
{
NvU32 flags;
NvBool bBridgeless;
NvU32 currLimits[NV2080_CTRL_INTERNAL_PERF_SYNC_GPU_BOOST_LIMITS_NUM];
} NV2080_CTRL_INTERNAL_PERF_GPU_BOOST_SYNC_SET_LIMITS_PARAMS_v17_00;
typedef NV2080_CTRL_INTERNAL_PERF_GPU_BOOST_SYNC_SET_LIMITS_PARAMS_v17_00 NV2080_CTRL_INTERNAL_PERF_GPU_BOOST_SYNC_SET_LIMITS_PARAMS_v;
typedef struct NV0000_CTRL_GPUACCT_GET_ACCOUNTING_STATE_PARAMS_v09_0C
{
NvU32 gpuId;
NvU32 vmPid;
NvU32 state;
} NV0000_CTRL_GPUACCT_GET_ACCOUNTING_STATE_PARAMS_v09_0C;
typedef NV0000_CTRL_GPUACCT_GET_ACCOUNTING_STATE_PARAMS_v09_0C NV0000_CTRL_GPUACCT_GET_ACCOUNTING_STATE_PARAMS_v;
typedef struct NV0000_CTRL_GPUACCT_SET_ACCOUNTING_STATE_PARAMS_v09_0C
{
NvU32 gpuId;
NvU32 vmPid;
NvU32 newState;
} NV0000_CTRL_GPUACCT_SET_ACCOUNTING_STATE_PARAMS_v09_0C;
typedef NV0000_CTRL_GPUACCT_SET_ACCOUNTING_STATE_PARAMS_v09_0C NV0000_CTRL_GPUACCT_SET_ACCOUNTING_STATE_PARAMS_v;
typedef struct NV0000_CTRL_GPUACCT_GET_ACCOUNTING_PIDS_PARAMS_v09_0C
{
NvU32 gpuId;
NvU32 vmPid;
NvU32 passIndex;
NvU32 pidCount;
NvU32 pidTable[NV0000_GPUACCT_RPC_PID_MAX_QUERY_COUNT];
} NV0000_CTRL_GPUACCT_GET_ACCOUNTING_PIDS_PARAMS_v09_0C;
typedef NV0000_CTRL_GPUACCT_GET_ACCOUNTING_PIDS_PARAMS_v09_0C NV0000_CTRL_GPUACCT_GET_ACCOUNTING_PIDS_PARAMS_v;
typedef struct NV0000_CTRL_GPUACCT_GET_PROC_ACCOUNTING_INFO_PARAMS_v09_0C
{
NvU32 gpuId;
NvU32 pid;
NvU32 subPid;
NvU32 gpuUtil;
NvU32 fbUtil;
NvU64 maxFbUsage NV_ALIGN_BYTES(8);
NvU64 startTime NV_ALIGN_BYTES(8);
NvU64 endTime NV_ALIGN_BYTES(8);
} NV0000_CTRL_GPUACCT_GET_PROC_ACCOUNTING_INFO_PARAMS_v09_0C;
typedef NV0000_CTRL_GPUACCT_GET_PROC_ACCOUNTING_INFO_PARAMS_v09_0C NV0000_CTRL_GPUACCT_GET_PROC_ACCOUNTING_INFO_PARAMS_v;
typedef struct NV0000_CTRL_GPUACCT_CLEAR_ACCOUNTING_DATA_PARAMS_v09_0C
{
NvU32 gpuId;
NvU32 vmPid;
} NV0000_CTRL_GPUACCT_CLEAR_ACCOUNTING_DATA_PARAMS_v09_0C;
typedef NV0000_CTRL_GPUACCT_CLEAR_ACCOUNTING_DATA_PARAMS_v09_0C NV0000_CTRL_GPUACCT_CLEAR_ACCOUNTING_DATA_PARAMS_v;
typedef union vgpuGetEngineUtilization_data_v1F_0E
{
NV2080_CTRL_PERF_GET_VID_ENG_PERFMON_SAMPLE_PARAMS_v05_00 vidPerfmonSample;
NV0000_CTRL_GPUACCT_GET_ACCOUNTING_STATE_PARAMS_v09_0C getAccountingState;
NV0000_CTRL_GPUACCT_SET_ACCOUNTING_STATE_PARAMS_v09_0C setAccountingState;
NV0000_CTRL_GPUACCT_GET_ACCOUNTING_PIDS_PARAMS_v09_0C getAccountingPidList;
NV0000_CTRL_GPUACCT_GET_PROC_ACCOUNTING_INFO_PARAMS_v09_0C procAccountingInfo;
NV0000_CTRL_GPUACCT_CLEAR_ACCOUNTING_DATA_PARAMS_v09_0C clearAccountingInfo;
NV2080_CTRL_PERF_GPUMON_PERFMON_UTIL_SAMPLE_v1F_0E gpumonPerfmonsampleV2[NV2080_CTRL_PERF_GPUMON_SAMPLE_COUNT_PERFMON_UTIL_v1F_0E];
} vgpuGetEngineUtilization_data_v1F_0E;
typedef vgpuGetEngineUtilization_data_v1F_0E vgpuGetEngineUtilization_data_v;
typedef struct NV0080_CTRL_GPU_GET_SRIOV_CAPS_PARAMS_v01_00
{
NvU32 totalVFs;
NvU32 firstVfOffset;
NvU32 vfFeatureMask;
NvU64 FirstVFBar0Address NV_ALIGN_BYTES(8);
NvU64 FirstVFBar1Address NV_ALIGN_BYTES(8);
NvU64 FirstVFBar2Address NV_ALIGN_BYTES(8);
NvU64 bar0Size NV_ALIGN_BYTES(8);
NvU64 bar1Size NV_ALIGN_BYTES(8);
NvU64 bar2Size NV_ALIGN_BYTES(8);
NvBool b64bitBar0;
NvBool b64bitBar1;
NvBool b64bitBar2;
NvBool bSriovEnabled;
NvBool bSriovHeavyEnabled;
} NV0080_CTRL_GPU_GET_SRIOV_CAPS_PARAMS_v01_00;
typedef NV0080_CTRL_GPU_GET_SRIOV_CAPS_PARAMS_v01_00 NV0080_CTRL_GPU_GET_SRIOV_CAPS_PARAMS_v;
typedef struct UpdateBarPde_v15_00
{
NV_RPC_UPDATE_PDE_BAR_TYPE barType;
NvU64 entryValue NV_ALIGN_BYTES(8);
NvU64 entryLevelShift NV_ALIGN_BYTES(8);
} UpdateBarPde_v15_00;
typedef UpdateBarPde_v15_00 UpdateBarPde_v;
typedef struct NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_256_PARAMS_v17_00
{
NvU32 dataSize;
NvU8 data[256];
} NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_256_PARAMS_v17_00;
typedef NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_256_PARAMS_v17_00 NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_256_PARAMS_v;
typedef struct NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_512_PARAMS_v17_00
{
NvU32 dataSize;
NvU8 data[512];
} NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_512_PARAMS_v17_00;
typedef NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_512_PARAMS_v17_00 NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_512_PARAMS_v;
typedef struct NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_1024_PARAMS_v17_00
{
NvU32 dataSize;
NvU8 data[1024];
} NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_1024_PARAMS_v17_00;
typedef NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_1024_PARAMS_v17_00 NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_1024_PARAMS_v;
typedef struct NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_2048_PARAMS_v17_00
{
NvU32 dataSize;
NvU8 data[2048];
} NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_2048_PARAMS_v17_00;
typedef NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_2048_PARAMS_v17_00 NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_2048_PARAMS_v;
typedef struct NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_4096_PARAMS_v17_00
{
NvU32 dataSize;
NvU8 data[4096];
} NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_4096_PARAMS_v17_00;
typedef NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_4096_PARAMS_v17_00 NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_4096_PARAMS_v;
typedef struct NV2080_CTRL_NVLINK_IS_GPU_DEGRADED_PARAMS_v17_00
{
NvU32 linkId;
NvBool bIsGpuDegraded;
} NV2080_CTRL_NVLINK_IS_GPU_DEGRADED_PARAMS_v17_00;
typedef NV2080_CTRL_NVLINK_IS_GPU_DEGRADED_PARAMS_v17_00 NV2080_CTRL_NVLINK_IS_GPU_DEGRADED_PARAMS_v;
typedef struct NV_DEVICE_NAME_v13_06
{
NvU8 adapterName[NV2080_GPU_MAX_NAME_STRING_LENGTH];
NvU8 shortGpuNameString[NV2080_GPU_MAX_NAME_STRING_LENGTH];
NvU16 adapterName_Unicode[NV2080_GPU_MAX_NAME_STRING_LENGTH];
} NV_DEVICE_NAME_v13_06;
typedef NV_DEVICE_NAME_v13_06 NV_DEVICE_NAME_v;
typedef struct NV0080_CTRL_MSENC_GET_CAPS_V2_PARAMS_v25_00
{
NvU8 capsTbl[NV0080_CTRL_MSENC_CAPS_TBL_SIZE_V25_00];
NvU32 instanceId;
} NV0080_CTRL_MSENC_GET_CAPS_V2_PARAMS_v25_00;
typedef NV0080_CTRL_MSENC_GET_CAPS_V2_PARAMS_v25_00 NV0080_CTRL_MSENC_GET_CAPS_V2_PARAMS_v;
typedef struct NV2080_CTRL_GPU_CONSTRUCTED_FALCON_INFO_v25_01
{
NvU32 engDesc;
NvU32 ctxAttr;
NvU32 ctxBufferSize;
NvU32 addrSpaceList;
NvU32 registerBase;
} NV2080_CTRL_GPU_CONSTRUCTED_FALCON_INFO_v25_01;
typedef NV2080_CTRL_GPU_CONSTRUCTED_FALCON_INFO_v25_01 NV2080_CTRL_GPU_CONSTRUCTED_FALCON_INFO_v;
typedef struct NV2080_CTRL_GPU_GET_CONSTRUCTED_FALCON_INFO_PARAMS_v25_01
{
NvU32 numConstructedFalcons;
NV2080_CTRL_GPU_CONSTRUCTED_FALCON_INFO_v25_01 constructedFalconsTable[NV2080_CTRL_GPU_MAX_CONSTRUCTED_FALCONS_V25_01];
} NV2080_CTRL_GPU_GET_CONSTRUCTED_FALCON_INFO_PARAMS_v25_01;
typedef NV2080_CTRL_GPU_GET_CONSTRUCTED_FALCON_INFO_PARAMS_v25_01 NV2080_CTRL_GPU_GET_CONSTRUCTED_FALCON_INFO_PARAMS_v;
typedef struct VGPU_STATIC_PROPERTIES_v1B_01
{
NvU32 encSessionStatsReportingState;
NvBool bProfilingTracingEnabled;
NvBool bDebuggingEnabled;
NvU32 channelCount;
NvBool bPblObjNotPresent;
} VGPU_STATIC_PROPERTIES_v1B_01;
typedef struct VGPU_STATIC_PROPERTIES_v26_03
{
NvU32 encSessionStatsReportingState;
NvBool bProfilingTracingEnabled;
NvBool bDebuggingEnabled;
NvU32 channelCount;
NvBool bPblObjNotPresent;
NvU64 vmmuSegmentSize NV_ALIGN_BYTES(8);
} VGPU_STATIC_PROPERTIES_v26_03;
typedef VGPU_STATIC_PROPERTIES_v26_03 VGPU_STATIC_PROPERTIES_v;
typedef struct NV2080_CTRL_GPU_COMPUTE_PROFILE_v20_04
{
NvU8 computeSize;
NvU32 gfxGpcCount;
NvU32 gpcCount;
NvU32 veidCount;
NvU32 smCount;
} NV2080_CTRL_GPU_COMPUTE_PROFILE_v20_04;
typedef NV2080_CTRL_GPU_COMPUTE_PROFILE_v20_04 NV2080_CTRL_GPU_COMPUTE_PROFILE_v;
typedef struct NV2080_CTRL_GPU_GET_COMPUTE_PROFILES_PARAMS_v20_04
{
NvU32 profileCount;
NV2080_CTRL_GPU_COMPUTE_PROFILE_v20_04 profiles[NV2080_CTRL_GPU_PARTITION_FLAG_COMPUTE_SIZE__SIZE_v20_04];
} NV2080_CTRL_GPU_GET_COMPUTE_PROFILES_PARAMS_v20_04;
typedef NV2080_CTRL_GPU_GET_COMPUTE_PROFILES_PARAMS_v20_04 NV2080_CTRL_GPU_GET_COMPUTE_PROFILES_PARAMS_v;
typedef struct alloc_object_NV50_TESLA_v03_00
{
NvU32 version;
NvU32 flags;
NvU32 size;
NvU32 caps;
} alloc_object_NV50_TESLA_v03_00;
typedef alloc_object_NV50_TESLA_v03_00 alloc_object_NV50_TESLA_v;
typedef struct alloc_object_GT212_DMA_COPY_v03_00
{
NvU32 version;
NvU32 engineInstance;
} alloc_object_GT212_DMA_COPY_v03_00;
typedef alloc_object_GT212_DMA_COPY_v03_00 alloc_object_GT212_DMA_COPY_v;
typedef struct alloc_object_GF100_DISP_SW_v03_00
{
NvU32 _reserved1;
NvU64 _reserved2 NV_ALIGN_BYTES(8);
NvU32 logicalHeadId;
NvU32 displayMask;
NvU32 caps;
} alloc_object_GF100_DISP_SW_v03_00;
typedef alloc_object_GF100_DISP_SW_v03_00 alloc_object_GF100_DISP_SW_v;
typedef struct alloc_object_KEPLER_CHANNEL_GROUP_A_v12_08
{
NvU32 hObjectError;
NvU32 hVASpace;
NvU32 engineType;
} alloc_object_KEPLER_CHANNEL_GROUP_A_v12_08;
typedef alloc_object_KEPLER_CHANNEL_GROUP_A_v12_08 alloc_object_KEPLER_CHANNEL_GROUP_A_v;
typedef struct alloc_object_FERMI_CONTEXT_SHARE_A_v04_00
{
NvU32 hVASpace;
NvU32 flags;
NvU32 subctxId;
} alloc_object_FERMI_CONTEXT_SHARE_A_v04_00;
typedef alloc_object_FERMI_CONTEXT_SHARE_A_v04_00 alloc_object_FERMI_CONTEXT_SHARE_A_v;
typedef struct alloc_object_NVD0B7_VIDEO_ENCODER_v03_00
{
NvU32 size;
NvU32 prohibitMultipleInstances;
NvU32 engineInstance;
} alloc_object_NVD0B7_VIDEO_ENCODER_v03_00;
typedef alloc_object_NVD0B7_VIDEO_ENCODER_v03_00 alloc_object_NVD0B7_VIDEO_ENCODER_v;
typedef struct alloc_object_FERMI_VASPACE_A_v03_00
{
NvU32 index;
NvU32 flags;
NvU64 vaSize NV_ALIGN_BYTES(8);
NvU32 bigPageSize;
NvU64 vaBase NV_ALIGN_BYTES(8);
} alloc_object_FERMI_VASPACE_A_v03_00;
typedef alloc_object_FERMI_VASPACE_A_v03_00 alloc_object_FERMI_VASPACE_A_v;
typedef struct alloc_object_NVB0B0_VIDEO_DECODER_v03_00
{
NvU32 size;
NvU32 prohibitMultipleInstances;
} alloc_object_NVB0B0_VIDEO_DECODER_v03_00;
typedef alloc_object_NVB0B0_VIDEO_DECODER_v03_00 alloc_object_NVB0B0_VIDEO_DECODER_v;
typedef struct alloc_object_NVC4B0_VIDEO_DECODER_v12_02
{
NvU32 size;
NvU32 prohibitMultipleInstances;
NvU32 engineInstance;
} alloc_object_NVC4B0_VIDEO_DECODER_v12_02;
typedef alloc_object_NVC4B0_VIDEO_DECODER_v12_02 alloc_object_NVC4B0_VIDEO_DECODER_v;
typedef struct alloc_object_NV83DE_ALLOC_PARAMETERS_v03_00
{
NvHandle hDebuggerClient;
NvHandle hAppClient;
NvHandle hClass3dObject;
} alloc_object_NV83DE_ALLOC_PARAMETERS_v03_00;
typedef alloc_object_NV83DE_ALLOC_PARAMETERS_v03_00 alloc_object_NV83DE_ALLOC_PARAMETERS_v;
typedef struct alloc_object_NVENC_SW_SESSION_v06_01
{
NvU32 codecType;
NvU32 hResolution;
NvU32 vResolution;
} alloc_object_NVENC_SW_SESSION_v06_01;
typedef alloc_object_NVENC_SW_SESSION_v06_01 alloc_object_NVENC_SW_SESSION_v;
typedef struct alloc_object_NVFBC_SW_SESSION_v12_04
{
NvU32 displayOrdinal;
NvU32 sessionType;
NvU32 sessionFlags;
NvU32 hMaxResolution;
NvU32 vMaxResolution;
} alloc_object_NVFBC_SW_SESSION_v12_04;
typedef alloc_object_NVFBC_SW_SESSION_v12_04 alloc_object_NVFBC_SW_SESSION_v;
typedef struct alloc_object_NV_NVJPG_ALLOCATION_PARAMETERS_v20_02
{
NvU32 size;
NvU32 prohibitMultipleInstances;
NvU32 engineInstance;
} alloc_object_NV_NVJPG_ALLOCATION_PARAMETERS_v20_02;
typedef alloc_object_NV_NVJPG_ALLOCATION_PARAMETERS_v20_02 alloc_object_NV_NVJPG_ALLOCATION_PARAMETERS_v;
typedef struct alloc_object_NV503B_ALLOC_PARAMETERS_v1D_02
{
NvHandle hSubDevice;
NvHandle hPeerSubDevice;
NvU32 subDevicePeerIdMask;
NvU32 peerSubDevicePeerIdMask;
NvU64 mailboxBar1Addr NV_ALIGN_BYTES(8);
NvU32 mailboxTotalSize;
NvU32 flags;
} alloc_object_NV503B_ALLOC_PARAMETERS_v1D_02;
typedef alloc_object_NV503B_ALLOC_PARAMETERS_v1D_02 alloc_object_NV503B_ALLOC_PARAMETERS_v;
typedef struct alloc_object_NV503C_ALLOC_PARAMETERS_v18_15
{
NvU32 flags;
NvU64 p2pToken NV_ALIGN_BYTES(8);
} alloc_object_NV503C_ALLOC_PARAMETERS_v18_15;
typedef alloc_object_NV503C_ALLOC_PARAMETERS_v18_15 alloc_object_NV503C_ALLOC_PARAMETERS_v;
typedef struct alloc_object_NVC637_ALLOCATION_PARAMETERS_v13_00
{
NvU32 swizzId;
} alloc_object_NVC637_ALLOCATION_PARAMETERS_v13_00;
typedef alloc_object_NVC637_ALLOCATION_PARAMETERS_v13_00 alloc_object_NVC637_ALLOCATION_PARAMETERS_v;
typedef struct alloc_object_NVC638_ALLOCATION_PARAMETERS_v18_06
{
NvU32 execPartitionId;
} alloc_object_NVC638_ALLOCATION_PARAMETERS_v18_06;
typedef alloc_object_NVC638_ALLOCATION_PARAMETERS_v18_06 alloc_object_NVC638_ALLOCATION_PARAMETERS_v;
typedef struct alloc_object_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS_v13_03
{
NvU64 offset NV_ALIGN_BYTES(8);
NvU64 limit NV_ALIGN_BYTES(8);
NvHandle hVASpace;
} alloc_object_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS_v13_03;
typedef alloc_object_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS_v13_03 alloc_object_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS_v;
typedef struct alloc_object_NVC670_ALLOCATION_PARAMETERS_v1A_01
{
NvU32 numHeads;
NvU32 numSors;
NvU32 numDsis;
} alloc_object_NVC670_ALLOCATION_PARAMETERS_v1A_01;
typedef alloc_object_NVC670_ALLOCATION_PARAMETERS_v1A_01 alloc_object_NVC670_ALLOCATION_PARAMETERS_v;
typedef struct alloc_object_NVC9FA_VIDEO_OFA_v1F_00
{
NvU32 size;
NvU32 prohibitMultipleInstances;
} alloc_object_NVC9FA_VIDEO_OFA_v1F_00;
typedef alloc_object_NVC9FA_VIDEO_OFA_v1F_00 alloc_object_NVC9FA_VIDEO_OFA_v;
typedef struct alloc_object_NVB2CC_ALLOC_PARAMETERS_v1A_03
{
NvHandle hClientTarget;
NvHandle hContextTarget;
} alloc_object_NVB2CC_ALLOC_PARAMETERS_v1A_03;
typedef alloc_object_NVB2CC_ALLOC_PARAMETERS_v1A_03 alloc_object_NVB2CC_ALLOC_PARAMETERS_v;
typedef struct NV_GR_ALLOCATION_PARAMETERS_v1A_17
{
NvU32 version;
NvU32 flags;
NvU32 size;
NvU32 caps;
} NV_GR_ALLOCATION_PARAMETERS_v1A_17;
typedef NV_GR_ALLOCATION_PARAMETERS_v1A_17 NV_GR_ALLOCATION_PARAMETERS_v;
typedef struct alloc_object_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS_v1A_1B
{
NvHandle hClient;
NvHandle hChannel;
} alloc_object_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS_v1A_1B;
typedef alloc_object_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS_v1A_1B alloc_object_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS_v;
typedef struct NV00F8_ALLOCATION_PARAMETERS_MAP_STRUCT_v1E_0C
{
NvU64 offset NV_ALIGN_BYTES(8);
NvHandle hVidMem;
NvU32 flags;
} NV00F8_ALLOCATION_PARAMETERS_MAP_STRUCT_v1E_0C;
typedef NV00F8_ALLOCATION_PARAMETERS_MAP_STRUCT_v1E_0C NV00F8_ALLOCATION_PARAMETERS_MAP_STRUCT_v;
typedef struct alloc_object_NV00F8_ALLOCATION_PARAMETERS_v1E_0C
{
NvU64 alignment NV_ALIGN_BYTES(8);
NvU64 allocSize NV_ALIGN_BYTES(8);
NvU32 pageSize;
NvU32 allocFlags;
NV00F8_ALLOCATION_PARAMETERS_MAP_STRUCT_v1E_0C map;
} alloc_object_NV00F8_ALLOCATION_PARAMETERS_v1E_0C;
typedef alloc_object_NV00F8_ALLOCATION_PARAMETERS_v1E_0C alloc_object_NV00F8_ALLOCATION_PARAMETERS_v;
typedef struct alloc_object_NV2081_ALLOC_PARAMETERS_v25_08
{
NvU32 reserved;
} alloc_object_NV2081_ALLOC_PARAMETERS_v25_08;
typedef alloc_object_NV2081_ALLOC_PARAMETERS_v25_08 alloc_object_NV2081_ALLOC_PARAMETERS_v;
typedef union alloc_object_params_v25_08
{
alloc_object_NV50_TESLA_v03_00 param_NV50_TESLA;
alloc_object_GT212_DMA_COPY_v03_00 param_GT212_DMA_COPY;
alloc_object_GF100_DISP_SW_v03_00 param_GF100_DISP_SW;
alloc_object_KEPLER_CHANNEL_GROUP_A_v12_08 param_KEPLER_CHANNEL_GROUP_A;
alloc_object_FERMI_CONTEXT_SHARE_A_v04_00 param_FERMI_CONTEXT_SHARE_A;
alloc_object_NVD0B7_VIDEO_ENCODER_v03_00 param_NVD0B7_VIDEO_ENCODER;
alloc_object_FERMI_VASPACE_A_v03_00 param_FERMI_VASPACE_A;
alloc_object_NVB0B0_VIDEO_DECODER_v03_00 param_NVB0B0_VIDEO_DECODER;
alloc_object_NV83DE_ALLOC_PARAMETERS_v03_00 param_NV83DE_ALLOC_PARAMETERS;
alloc_object_NVENC_SW_SESSION_v06_01 param_NVENC_SW_SESSION;
alloc_object_NVC4B0_VIDEO_DECODER_v12_02 param_NVC4B0_VIDEO_DECODER;
alloc_object_NVFBC_SW_SESSION_v12_04 param_NVFBC_SW_SESSION;
alloc_object_NV_NVJPG_ALLOCATION_PARAMETERS_v20_02 param_NV_NVJPG_ALLOCATION_PARAMETERS;
alloc_object_NV503B_ALLOC_PARAMETERS_v1D_02 param_NV503B_ALLOC_PARAMETERS;
alloc_object_NVC637_ALLOCATION_PARAMETERS_v13_00 param_NVC637_ALLOCATION_PARAMETERS;
alloc_object_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS_v13_03 param_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS;
alloc_object_NVC638_ALLOCATION_PARAMETERS_v18_06 param_NVC638_ALLOCATION_PARAMETERS;
alloc_object_NV503C_ALLOC_PARAMETERS_v18_15 param_NV503C_ALLOC_PARAMETERS;
alloc_object_NVC670_ALLOCATION_PARAMETERS_v1A_01 param_NVC670_ALLOCATION_PARAMETERS;
alloc_object_NVB2CC_ALLOC_PARAMETERS_v1A_03 param_NVB2CC_ALLOC_PARAMETERS;
NV_GR_ALLOCATION_PARAMETERS_v1A_17 param_NV_GR_ALLOCATION_PARAMETERS;
alloc_object_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS_v1A_1B param_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS;
alloc_object_NV00F8_ALLOCATION_PARAMETERS_v1E_0C param_NV00F8_ALLOCATION_PARAMETERS;
alloc_object_NVC9FA_VIDEO_OFA_v1F_00 param_NVC9FA_VIDEO_OFA;
alloc_object_NV2081_ALLOC_PARAMETERS_v25_08 param_NV2081_ALLOC_PARAMETERS;
} alloc_object_params_v25_08;
typedef union alloc_object_params_v26_00
{
alloc_object_NV50_TESLA_v03_00 param_NV50_TESLA;
alloc_object_GT212_DMA_COPY_v03_00 param_GT212_DMA_COPY;
alloc_object_GF100_DISP_SW_v03_00 param_GF100_DISP_SW;
alloc_object_KEPLER_CHANNEL_GROUP_A_v12_08 param_KEPLER_CHANNEL_GROUP_A;
alloc_object_FERMI_CONTEXT_SHARE_A_v04_00 param_FERMI_CONTEXT_SHARE_A;
alloc_object_NVD0B7_VIDEO_ENCODER_v03_00 param_NVD0B7_VIDEO_ENCODER;
alloc_object_FERMI_VASPACE_A_v03_00 param_FERMI_VASPACE_A;
alloc_object_NVB0B0_VIDEO_DECODER_v03_00 param_NVB0B0_VIDEO_DECODER;
alloc_object_NV83DE_ALLOC_PARAMETERS_v03_00 param_NV83DE_ALLOC_PARAMETERS;
alloc_object_NVENC_SW_SESSION_v06_01 param_NVENC_SW_SESSION;
alloc_object_NVC4B0_VIDEO_DECODER_v12_02 param_NVC4B0_VIDEO_DECODER;
alloc_object_NVFBC_SW_SESSION_v12_04 param_NVFBC_SW_SESSION;
alloc_object_NV_NVJPG_ALLOCATION_PARAMETERS_v20_02 param_NV_NVJPG_ALLOCATION_PARAMETERS;
alloc_object_NV503B_ALLOC_PARAMETERS_v1D_02 param_NV503B_ALLOC_PARAMETERS;
alloc_object_NVC637_ALLOCATION_PARAMETERS_v13_00 param_NVC637_ALLOCATION_PARAMETERS;
alloc_object_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS_v13_03 param_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS;
alloc_object_NVC638_ALLOCATION_PARAMETERS_v18_06 param_NVC638_ALLOCATION_PARAMETERS;
alloc_object_NV503C_ALLOC_PARAMETERS_v18_15 param_NV503C_ALLOC_PARAMETERS;
alloc_object_NVC670_ALLOCATION_PARAMETERS_v1A_01 param_NVC670_ALLOCATION_PARAMETERS;
alloc_object_NVB2CC_ALLOC_PARAMETERS_v1A_03 param_NVB2CC_ALLOC_PARAMETERS;
NV_GR_ALLOCATION_PARAMETERS_v1A_17 param_NV_GR_ALLOCATION_PARAMETERS;
alloc_object_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS_v1A_1B param_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS;
alloc_object_NV00F8_ALLOCATION_PARAMETERS_v1E_0C param_NV00F8_ALLOCATION_PARAMETERS;
alloc_object_NVC9FA_VIDEO_OFA_v1F_00 param_NVC9FA_VIDEO_OFA;
alloc_object_NV2081_ALLOC_PARAMETERS_v25_08 param_NV2081_ALLOC_PARAMETERS;
NvU8 param_padding[NV_ALLOC_STRUCTURE_SIZE_v26_00];
} alloc_object_params_v26_00;
typedef union alloc_object_params_v27_00
{
alloc_object_NV50_TESLA_v03_00 param_NV50_TESLA;
alloc_object_GT212_DMA_COPY_v03_00 param_GT212_DMA_COPY;
alloc_object_GF100_DISP_SW_v03_00 param_GF100_DISP_SW;
alloc_object_KEPLER_CHANNEL_GROUP_A_v12_08 param_KEPLER_CHANNEL_GROUP_A;
alloc_object_FERMI_CONTEXT_SHARE_A_v04_00 param_FERMI_CONTEXT_SHARE_A;
alloc_object_NVD0B7_VIDEO_ENCODER_v03_00 param_NVD0B7_VIDEO_ENCODER;
alloc_object_FERMI_VASPACE_A_v03_00 param_FERMI_VASPACE_A;
alloc_object_NVB0B0_VIDEO_DECODER_v03_00 param_NVB0B0_VIDEO_DECODER;
alloc_object_NV83DE_ALLOC_PARAMETERS_v03_00 param_NV83DE_ALLOC_PARAMETERS;
alloc_object_NVENC_SW_SESSION_v06_01 param_NVENC_SW_SESSION;
alloc_object_NVC4B0_VIDEO_DECODER_v12_02 param_NVC4B0_VIDEO_DECODER;
alloc_object_NVFBC_SW_SESSION_v12_04 param_NVFBC_SW_SESSION;
alloc_object_NV_NVJPG_ALLOCATION_PARAMETERS_v20_02 param_NV_NVJPG_ALLOCATION_PARAMETERS;
alloc_object_NV503B_ALLOC_PARAMETERS_v1D_02 param_NV503B_ALLOC_PARAMETERS;
alloc_object_NVC637_ALLOCATION_PARAMETERS_v13_00 param_NVC637_ALLOCATION_PARAMETERS;
alloc_object_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS_v13_03 param_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS;
alloc_object_NVC638_ALLOCATION_PARAMETERS_v18_06 param_NVC638_ALLOCATION_PARAMETERS;
alloc_object_NV503C_ALLOC_PARAMETERS_v18_15 param_NV503C_ALLOC_PARAMETERS;
alloc_object_NVC670_ALLOCATION_PARAMETERS_v1A_01 param_NVC670_ALLOCATION_PARAMETERS;
alloc_object_NVB2CC_ALLOC_PARAMETERS_v1A_03 param_NVB2CC_ALLOC_PARAMETERS;
NV_GR_ALLOCATION_PARAMETERS_v1A_17 param_NV_GR_ALLOCATION_PARAMETERS;
alloc_object_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS_v1A_1B param_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS;
alloc_object_NV00F8_ALLOCATION_PARAMETERS_v1E_0C param_NV00F8_ALLOCATION_PARAMETERS;
alloc_object_NVC9FA_VIDEO_OFA_v1F_00 param_NVC9FA_VIDEO_OFA;
alloc_object_NV2081_ALLOC_PARAMETERS_v25_08 param_NV2081_ALLOC_PARAMETERS;
NvU8 param_padding[NV_ALLOC_STRUCTURE_SIZE_v26_00];
} alloc_object_params_v27_00;
typedef alloc_object_params_v27_00 alloc_object_params_v;
typedef struct gpu_exec_reg_ops_v12_01
{
NV2080_CTRL_GPU_EXEC_REG_OPS_PARAMS_v12_01 reg_op_params;
NV2080_CTRL_GPU_REG_OP_v03_00 operations[];
} gpu_exec_reg_ops_v12_01;
typedef gpu_exec_reg_ops_v12_01 gpu_exec_reg_ops_v;
typedef struct idle_channel_list_v03_00
{
NvU32 phClient;
NvU32 phDevice;
NvU32 phChannel;
} idle_channel_list_v03_00;
typedef idle_channel_list_v03_00 idle_channel_list_v;
typedef struct NV0080_CTRL_DMA_PDE_INFO_PTE_BLOCK_v03_00
{
NvU64 ptePhysAddr NV_ALIGN_BYTES(8);
NvU32 pteCacheAttrib;
NvU32 pteEntrySize;
NvU32 pageSize;
NvU32 pteAddrSpace;
NvU32 pdeVASpaceSize;
NvU32 pdeFlags;
} NV0080_CTRL_DMA_PDE_INFO_PTE_BLOCK_v03_00;
typedef NV0080_CTRL_DMA_PDE_INFO_PTE_BLOCK_v03_00 NV0080_CTRL_DMA_PDE_INFO_PTE_BLOCK_v;
typedef struct NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS_v03_00
{
NvU64 gpuAddr NV_ALIGN_BYTES(8);
NvU64 pdeVirtAddr NV_ALIGN_BYTES(8);
NvU32 pdeEntrySize;
NvU32 pdeAddrSpace;
NvU32 pdeSize;
NvU32 subDeviceId;
NV0080_CTRL_DMA_PDE_INFO_PTE_BLOCK_v03_00 pteBlocks[NV0080_CTRL_DMA_PDE_INFO_PTE_BLOCKS];
NvU64 pdbAddr NV_ALIGN_BYTES(8);
NvHandle hVASpace;
} NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS_v03_00;
typedef NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS_v03_00 NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS_v;
typedef struct NV0080_CTRL_DMA_INVALIDATE_TLB_PARAMS_v03_00
{
NvHandle hVASpace;
NvU32 flags;
} NV0080_CTRL_DMA_INVALIDATE_TLB_PARAMS_v03_00;
typedef NV0080_CTRL_DMA_INVALIDATE_TLB_PARAMS_v03_00 NV0080_CTRL_DMA_INVALIDATE_TLB_PARAMS_v;
typedef struct NV0080_CTRL_DMA_SET_DEFAULT_VASPACE_PARAMS_v03_00
{
NvHandle hVASpace;
} NV0080_CTRL_DMA_SET_DEFAULT_VASPACE_PARAMS_v03_00;
typedef NV0080_CTRL_DMA_SET_DEFAULT_VASPACE_PARAMS_v03_00 NV0080_CTRL_DMA_SET_DEFAULT_VASPACE_PARAMS_v;
typedef struct NV0080_CTRL_DMA_SET_VA_SPACE_SIZE_PARAMS_v03_00
{
NvU64 vaSpaceSize NV_ALIGN_BYTES(8);
NvHandle hVASpace;
} NV0080_CTRL_DMA_SET_VA_SPACE_SIZE_PARAMS_v03_00;
typedef NV0080_CTRL_DMA_SET_VA_SPACE_SIZE_PARAMS_v03_00 NV0080_CTRL_DMA_SET_VA_SPACE_SIZE_PARAMS_v;
typedef struct NV0080_CTRL_DMA_UNSET_PAGE_DIRECTORY_PARAMS_v1E_05
{
NvHandle hVASpace;
NvU32 subDeviceId;
} NV0080_CTRL_DMA_UNSET_PAGE_DIRECTORY_PARAMS_v1E_05;
typedef NV0080_CTRL_DMA_UNSET_PAGE_DIRECTORY_PARAMS_v1E_05 NV0080_CTRL_DMA_UNSET_PAGE_DIRECTORY_PARAMS_v;
typedef struct NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_PARAMS_v03_00
{
NvU32 engineId;
NvU32 alignment;
NvU32 size;
} NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_PARAMS_v03_00;
typedef NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_PARAMS_v03_00 NV0080_CTRL_FIFO_GET_ENGINE_CONTEXT_PROPERTIES_PARAMS_v;
typedef struct NV0080_CTRL_FIFO_GET_LATENCY_BUFFER_SIZE_PARAMS_v03_00
{
NvU32 engineID;
NvU32 gpEntries;
NvU32 pbEntries;
} NV0080_CTRL_FIFO_GET_LATENCY_BUFFER_SIZE_PARAMS_v03_00;
typedef NV0080_CTRL_FIFO_GET_LATENCY_BUFFER_SIZE_PARAMS_v03_00 NV0080_CTRL_FIFO_GET_LATENCY_BUFFER_SIZE_PARAMS_v;
typedef struct VGPU_GET_LATENCY_BUFFER_SIZE_v1C_09
{
NV0080_CTRL_FIFO_GET_LATENCY_BUFFER_SIZE_PARAMS_v03_00 fifoLatencyBufferSize[NV2080_ENGINE_TYPE_LAST_v1C_09];
} VGPU_GET_LATENCY_BUFFER_SIZE_v1C_09;
typedef struct VGPU_GET_LATENCY_BUFFER_SIZE_v27_02
{
NV0080_CTRL_FIFO_GET_LATENCY_BUFFER_SIZE_PARAMS_v03_00 fifoLatencyBufferSize[NV2080_ENGINE_TYPE_LAST_v27_02];
} VGPU_GET_LATENCY_BUFFER_SIZE_v27_02;
typedef VGPU_GET_LATENCY_BUFFER_SIZE_v27_02 VGPU_GET_LATENCY_BUFFER_SIZE_v;
typedef struct NV0080_CTRL_FIFO_SET_CHANNEL_PROPERTIES_PARAMS_v03_00
{
NvHandle hChannel;
NvU32 property;
NvU64 value NV_ALIGN_BYTES(8);
} NV0080_CTRL_FIFO_SET_CHANNEL_PROPERTIES_PARAMS_v03_00;
typedef NV0080_CTRL_FIFO_SET_CHANNEL_PROPERTIES_PARAMS_v03_00 NV0080_CTRL_FIFO_SET_CHANNEL_PROPERTIES_PARAMS_v;
typedef struct NV2080_CTRL_GR_CTXSW_PREEMPTION_BIND_PARAMS_v12_01
{
NvU32 flags;
NvHandle hClient;
NvHandle hChannel;
NvU64 vMemPtrs[NV2080_CTRL_CMD_GR_CTXSW_PREEMPTION_BIND_BUFFERS_END] NV_ALIGN_BYTES(8);
NvU32 gfxpPreemptMode;
NvU32 cilpPreemptMode;
NV2080_CTRL_GR_ROUTE_INFO_v12_01 grRouteInfo;
} NV2080_CTRL_GR_CTXSW_PREEMPTION_BIND_PARAMS_v12_01;
typedef NV2080_CTRL_GR_CTXSW_PREEMPTION_BIND_PARAMS_v12_01 NV2080_CTRL_GR_CTXSW_PREEMPTION_BIND_PARAMS_v;
typedef struct NV2080_CTRL_GR_CTXSW_ZCULL_BIND_PARAMS_v03_00
{
NvHandle hClient;
NvHandle hChannel;
NvU64 vMemPtr NV_ALIGN_BYTES(8);
NvU32 zcullMode;
} NV2080_CTRL_GR_CTXSW_ZCULL_BIND_PARAMS_v03_00;
typedef NV2080_CTRL_GR_CTXSW_ZCULL_BIND_PARAMS_v03_00 NV2080_CTRL_GR_CTXSW_ZCULL_BIND_PARAMS_v;
typedef struct NV2080_CTRL_GR_CTXSW_ZCULL_MODE_PARAMS_v12_01
{
NvHandle hChannel;
NvHandle hShareClient;
NvHandle hShareChannel;
NvU32 zcullMode;
NV2080_CTRL_GR_ROUTE_INFO_v12_01 grRouteInfo;
} NV2080_CTRL_GR_CTXSW_ZCULL_MODE_PARAMS_v12_01;
typedef NV2080_CTRL_GR_CTXSW_ZCULL_MODE_PARAMS_v12_01 NV2080_CTRL_GR_CTXSW_ZCULL_MODE_PARAMS_v;
typedef struct NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS_v12_01
{
NvU32 widthAlignPixels;
NvU32 heightAlignPixels;
NvU32 pixelSquaresByAliquots;
NvU32 aliquotTotal;
NvU32 zcullRegionByteMultiplier;
NvU32 zcullRegionHeaderSize;
NvU32 zcullSubregionHeaderSize;
NvU32 subregionCount;
NvU32 subregionWidthAlignPixels;
NvU32 subregionHeightAlignPixels;
NV2080_CTRL_GR_ROUTE_INFO_v12_01 grRouteInfo;
} NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS_v12_01;
typedef NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS_v12_01 NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS_v;
typedef struct NV2080_CTRL_PERF_BOOST_PARAMS_v03_00
{
NvU32 flags;
NvU32 duration;
} NV2080_CTRL_PERF_BOOST_PARAMS_v03_00;
typedef NV2080_CTRL_PERF_BOOST_PARAMS_v03_00 NV2080_CTRL_PERF_BOOST_PARAMS_v;
typedef struct NV2080_CTRL_PERF_GET_CURRENT_PSTATE_PARAMS_v03_00
{
NvU32 currPstate;
} NV2080_CTRL_PERF_GET_CURRENT_PSTATE_PARAMS_v03_00;
typedef NV2080_CTRL_PERF_GET_CURRENT_PSTATE_PARAMS_v03_00 NV2080_CTRL_PERF_GET_CURRENT_PSTATE_PARAMS_v;
typedef struct NV2080_CTRL_GPU_INFO_v25_11
{
NvU32 index;
NvU32 data;
} NV2080_CTRL_GPU_INFO_v25_11;
typedef NV2080_CTRL_GPU_INFO_v25_11 NV2080_CTRL_GPU_INFO_v;
typedef struct NV2080_CTRL_GPU_GET_INFO_V2_PARAMS_v25_11
{
NvU32 gpuInfoListSize;
NV2080_CTRL_GPU_INFO_v25_11 gpuInfoList[NV2080_CTRL_GPU_INFO_MAX_LIST_SIZE_v25_11];
} NV2080_CTRL_GPU_GET_INFO_V2_PARAMS_v25_11;
typedef NV2080_CTRL_GPU_GET_INFO_V2_PARAMS_v25_11 NV2080_CTRL_GPU_GET_INFO_V2_PARAMS_v;
typedef struct NV506F_CTRL_CMD_RESET_ISOLATED_CHANNEL_PARAMS_v03_00
{
NvU32 exceptType;
NvU32 engineID;
} NV506F_CTRL_CMD_RESET_ISOLATED_CHANNEL_PARAMS_v03_00;
typedef NV506F_CTRL_CMD_RESET_ISOLATED_CHANNEL_PARAMS_v03_00 NV506F_CTRL_CMD_RESET_ISOLATED_CHANNEL_PARAMS_v;
typedef struct NV83DE_CTRL_DEBUG_CLEAR_ALL_SM_ERROR_STATES_PARAMS_v03_00
{
NvHandle hTargetChannel;
NvU32 numSMsToClear;
} NV83DE_CTRL_DEBUG_CLEAR_ALL_SM_ERROR_STATES_PARAMS_v03_00;
typedef NV83DE_CTRL_DEBUG_CLEAR_ALL_SM_ERROR_STATES_PARAMS_v03_00 NV83DE_CTRL_DEBUG_CLEAR_ALL_SM_ERROR_STATES_PARAMS_v;
typedef struct NV83DE_SM_ERROR_STATE_REGISTERS_v21_06
{
NvU32 hwwGlobalEsr;
NvU32 hwwWarpEsr;
NvU32 hwwWarpEsrPc;
NvU32 hwwGlobalEsrReportMask;
NvU32 hwwWarpEsrReportMask;
NvU64 hwwEsrAddr NV_ALIGN_BYTES(8);
NvU64 hwwWarpEsrPc64 NV_ALIGN_BYTES(8);
NvU32 hwwCgaEsr;
NvU32 hwwCgaEsrReportMask;
} NV83DE_SM_ERROR_STATE_REGISTERS_v21_06;
typedef NV83DE_SM_ERROR_STATE_REGISTERS_v21_06 NV83DE_SM_ERROR_STATE_REGISTERS_v;
typedef struct NV83DE_MMU_FAULT_INFO_v16_03
{
NvBool valid;
NvU32 faultInfo;
} NV83DE_MMU_FAULT_INFO_v16_03;
typedef NV83DE_MMU_FAULT_INFO_v16_03 NV83DE_MMU_FAULT_INFO_v;
typedef struct NV83DE_CTRL_DEBUG_READ_ALL_SM_ERROR_STATES_PARAMS_v21_06
{
NvHandle hTargetChannel;
NvU32 numSMsToRead;
NV83DE_SM_ERROR_STATE_REGISTERS_v21_06 smErrorStateArray[VGPU_RPC_CTRL_DEBUG_READ_ALL_SM_ERROR_STATES_PER_RPC_v21_06];
NvU32 mmuFaultInfo;
NV83DE_MMU_FAULT_INFO_v16_03 mmuFault;
NvU32 startingSM;
} NV83DE_CTRL_DEBUG_READ_ALL_SM_ERROR_STATES_PARAMS_v21_06;
typedef NV83DE_CTRL_DEBUG_READ_ALL_SM_ERROR_STATES_PARAMS_v21_06 NV83DE_CTRL_DEBUG_READ_ALL_SM_ERROR_STATES_PARAMS_v;
typedef struct NV83DE_CTRL_DEBUG_SET_EXCEPTION_MASK_PARAMS_v03_00
{
NvU32 exceptionMask;
} NV83DE_CTRL_DEBUG_SET_EXCEPTION_MASK_PARAMS_v03_00;
typedef NV83DE_CTRL_DEBUG_SET_EXCEPTION_MASK_PARAMS_v03_00 NV83DE_CTRL_DEBUG_SET_EXCEPTION_MASK_PARAMS_v;
typedef struct NV906F_CTRL_CMD_RESET_CHANNEL_PARAMS_v10_01
{
NvU32 engineID;
NvU32 subdeviceInstance;
NvU32 resetReason;
} NV906F_CTRL_CMD_RESET_CHANNEL_PARAMS_v10_01;
typedef NV906F_CTRL_CMD_RESET_CHANNEL_PARAMS_v10_01 NV906F_CTRL_CMD_RESET_CHANNEL_PARAMS_v;
typedef struct NV906F_CTRL_GET_CLASS_ENGINEID_PARAMS_v03_00
{
NvHandle hObject;
NvU32 classEngineID;
NvU32 classID;
NvU32 engineID;
} NV906F_CTRL_GET_CLASS_ENGINEID_PARAMS_v03_00;
typedef NV906F_CTRL_GET_CLASS_ENGINEID_PARAMS_v03_00 NV906F_CTRL_GET_CLASS_ENGINEID_PARAMS_v;
typedef struct NV9096_CTRL_GET_ZBC_CLEAR_TABLE_PARAMS_value_v04_00
{
NvU32 colorFB[NV9096_CTRL_SET_ZBC_COLOR_CLEAR_VALUE_SIZE];
NvU32 colorDS[NV9096_CTRL_SET_ZBC_COLOR_CLEAR_VALUE_SIZE];
NvU32 depth;
NvU32 stencil;
} NV9096_CTRL_GET_ZBC_CLEAR_TABLE_PARAMS_value_v04_00;
typedef NV9096_CTRL_GET_ZBC_CLEAR_TABLE_PARAMS_value_v04_00 NV9096_CTRL_GET_ZBC_CLEAR_TABLE_PARAMS_value_v;
typedef struct NV9096_CTRL_GET_ZBC_CLEAR_TABLE_PARAMS_v04_00
{
NV9096_CTRL_GET_ZBC_CLEAR_TABLE_PARAMS_value_v04_00 value;
NvU32 indexSize;
NvU32 indexUsed;
NvU32 format;
NvU32 valType;
} NV9096_CTRL_GET_ZBC_CLEAR_TABLE_PARAMS_v04_00;
typedef NV9096_CTRL_GET_ZBC_CLEAR_TABLE_PARAMS_v04_00 NV9096_CTRL_GET_ZBC_CLEAR_TABLE_PARAMS_v;
typedef struct NV9096_CTRL_SET_ZBC_COLOR_CLEAR_PARAMS_v03_00
{
NvU32 colorFB[NV9096_CTRL_SET_ZBC_COLOR_CLEAR_VALUE_SIZE];
NvU32 colorDS[NV9096_CTRL_SET_ZBC_COLOR_CLEAR_VALUE_SIZE];
NvU32 format;
} NV9096_CTRL_SET_ZBC_COLOR_CLEAR_PARAMS_v03_00;
typedef NV9096_CTRL_SET_ZBC_COLOR_CLEAR_PARAMS_v03_00 NV9096_CTRL_SET_ZBC_COLOR_CLEAR_PARAMS_v;
typedef struct NV9096_CTRL_SET_ZBC_DEPTH_CLEAR_PARAMS_v03_00
{
NvU32 depth;
NvU32 format;
} NV9096_CTRL_SET_ZBC_DEPTH_CLEAR_PARAMS_v03_00;
typedef NV9096_CTRL_SET_ZBC_DEPTH_CLEAR_PARAMS_v03_00 NV9096_CTRL_SET_ZBC_DEPTH_CLEAR_PARAMS_v;
typedef struct NV9096_CTRL_SET_ZBC_STENCIL_CLEAR_PARAMS_v27_06
{
NvU32 stencil;
NvU32 format;
NvBool bSkipL2Table;
} NV9096_CTRL_SET_ZBC_STENCIL_CLEAR_PARAMS_v27_06;
typedef NV9096_CTRL_SET_ZBC_STENCIL_CLEAR_PARAMS_v27_06 NV9096_CTRL_SET_ZBC_STENCIL_CLEAR_PARAMS_v;
typedef struct NV9096_CTRL_GET_ZBC_CLEAR_TABLE_ENTRY_PARAMS_value_v1A_07
{
NvU32 colorFB[NV9096_CTRL_SET_ZBC_COLOR_CLEAR_VALUE_SIZE];
NvU32 colorDS[NV9096_CTRL_SET_ZBC_COLOR_CLEAR_VALUE_SIZE];
NvU32 depth;
NvU32 stencil;
} NV9096_CTRL_GET_ZBC_CLEAR_TABLE_ENTRY_PARAMS_value_v1A_07;
typedef NV9096_CTRL_GET_ZBC_CLEAR_TABLE_ENTRY_PARAMS_value_v1A_07 NV9096_CTRL_GET_ZBC_CLEAR_TABLE_ENTRY_PARAMS_value_v;
typedef struct NV9096_CTRL_GET_ZBC_CLEAR_TABLE_ENTRY_PARAMS_v1A_07
{
NV9096_CTRL_GET_ZBC_CLEAR_TABLE_ENTRY_PARAMS_value_v1A_07 value;
NvU32 format;
NvU32 index;
NvBool bIndexValid;
NV9096_CTRL_ZBC_CLEAR_TABLE_TYPE tableType;
} NV9096_CTRL_GET_ZBC_CLEAR_TABLE_ENTRY_PARAMS_v1A_07;
typedef NV9096_CTRL_GET_ZBC_CLEAR_TABLE_ENTRY_PARAMS_v1A_07 NV9096_CTRL_GET_ZBC_CLEAR_TABLE_ENTRY_PARAMS_v;
typedef struct NVA06F_CTRL_BIND_PARAMS_v03_00
{
NvU32 engineType;
} NVA06F_CTRL_BIND_PARAMS_v03_00;
typedef NVA06F_CTRL_BIND_PARAMS_v03_00 NVA06F_CTRL_BIND_PARAMS_v;
typedef struct NVA06F_CTRL_GPFIFO_SCHEDULE_PARAMS_v03_00
{
NvBool bEnable;
} NVA06F_CTRL_GPFIFO_SCHEDULE_PARAMS_v03_00;
typedef NVA06F_CTRL_GPFIFO_SCHEDULE_PARAMS_v03_00 NVA06F_CTRL_GPFIFO_SCHEDULE_PARAMS_v;
typedef struct MMU_FMT_LEVEL_v09_02
{
NvU8 virtAddrBitLo;
NvU8 virtAddrBitHi;
NvU8 entrySize ;
NvBool bPageTable;
NvU8 numSubLevels;
} MMU_FMT_LEVEL_v09_02;
typedef MMU_FMT_LEVEL_v09_02 MMU_FMT_LEVEL_v;
typedef struct NV90F1_CTRL_VASPACE_GET_PAGE_LEVEL_INFO_PARAMS_levels_v09_02
{
NvU64 physAddress NV_ALIGN_BYTES(8);
NvU32 aperture;
NvU64 size NV_ALIGN_BYTES(8);
MMU_FMT_LEVEL_v09_02 levelFmt;
MMU_FMT_LEVEL_v09_02 sublevelFmt[MMU_FMT_MAX_SUB_LEVELS_v09_02];
} NV90F1_CTRL_VASPACE_GET_PAGE_LEVEL_INFO_PARAMS_levels_v09_02;
typedef NV90F1_CTRL_VASPACE_GET_PAGE_LEVEL_INFO_PARAMS_levels_v09_02 NV90F1_CTRL_VASPACE_GET_PAGE_LEVEL_INFO_PARAMS_levels_v;
typedef struct NV90F1_CTRL_VASPACE_GET_PAGE_LEVEL_INFO_PARAMS_v1A_12
{
NvHandle hSubDevice;
NvU32 subDeviceId;
NvU64 virtAddress NV_ALIGN_BYTES(8);
NvU64 pageSize NV_ALIGN_BYTES(8);
NvU32 numLevels;
NV90F1_CTRL_VASPACE_GET_PAGE_LEVEL_INFO_PARAMS_levels_v09_02 levels[GMMU_FMT_MAX_LEVELS_v1A_12];
} NV90F1_CTRL_VASPACE_GET_PAGE_LEVEL_INFO_PARAMS_v1A_12;
typedef NV90F1_CTRL_VASPACE_GET_PAGE_LEVEL_INFO_PARAMS_v1A_12 NV90F1_CTRL_VASPACE_GET_PAGE_LEVEL_INFO_PARAMS_v;
typedef struct NV90F1_CTRL_VASPACE_COPY_SERVER_RESERVED_PDES_PARAMS_levels_v1E_04
{
NvU64 physAddress NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
NvU32 aperture;
NvU8 pageShift;
} NV90F1_CTRL_VASPACE_COPY_SERVER_RESERVED_PDES_PARAMS_levels_v1E_04;
typedef NV90F1_CTRL_VASPACE_COPY_SERVER_RESERVED_PDES_PARAMS_levels_v1E_04 NV90F1_CTRL_VASPACE_COPY_SERVER_RESERVED_PDES_PARAMS_levels_v;
typedef struct NV90F1_CTRL_VASPACE_COPY_SERVER_RESERVED_PDES_PARAMS_v1E_04
{
NvHandle hSubDevice;
NvU32 subDeviceId;
NvU64 pageSize NV_ALIGN_BYTES(8);
NvU64 virtAddrLo NV_ALIGN_BYTES(8);
NvU64 virtAddrHi NV_ALIGN_BYTES(8);
NvU32 numLevelsToCopy;
NV90F1_CTRL_VASPACE_COPY_SERVER_RESERVED_PDES_PARAMS_levels_v1E_04 levels[GMMU_FMT_MAX_LEVELS_v1A_12];
} NV90F1_CTRL_VASPACE_COPY_SERVER_RESERVED_PDES_PARAMS_v1E_04;
typedef NV90F1_CTRL_VASPACE_COPY_SERVER_RESERVED_PDES_PARAMS_v1E_04 NV90F1_CTRL_VASPACE_COPY_SERVER_RESERVED_PDES_PARAMS_v;
typedef struct NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_PARAMS_v12_01
{
NvU32 flags;
NvHandle hChannel;
NvU32 gfxpPreemptMode;
NvU32 cilpPreemptMode;
NV2080_CTRL_GR_ROUTE_INFO_v12_01 grRouteInfo;
} NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_PARAMS_v12_01;
typedef NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_PARAMS_v12_01 NV2080_CTRL_GR_SET_CTXSW_PREEMPTION_MODE_PARAMS_v;
typedef struct NVA06C_CTRL_TIMESLICE_PARAMS_v06_00
{
NvU64 timesliceUs NV_ALIGN_BYTES(8);
} NVA06C_CTRL_TIMESLICE_PARAMS_v06_00;
typedef NVA06C_CTRL_TIMESLICE_PARAMS_v06_00 NVA06C_CTRL_TIMESLICE_PARAMS_v;
typedef struct NV2080_CTRL_FIFO_DISABLE_CHANNELS_PARAMS_v06_00
{
NvBool bDisable;
NvU32 numChannels;
NvBool bOnlyDisableScheduling;
NvBool bRewindGpPut;
NvP64 pRunlistPreemptEvent NV_ALIGN_BYTES(8);
NvHandle hClientList[NV2080_CTRL_FIFO_DISABLE_CHANNELS_MAX_ENTRIES];
NvHandle hChannelList[NV2080_CTRL_FIFO_DISABLE_CHANNELS_MAX_ENTRIES];
} NV2080_CTRL_FIFO_DISABLE_CHANNELS_PARAMS_v06_00;
typedef NV2080_CTRL_FIFO_DISABLE_CHANNELS_PARAMS_v06_00 NV2080_CTRL_FIFO_DISABLE_CHANNELS_PARAMS_v;
typedef struct NV90F1_CTRL_VASPACE_RESERVE_ENTRIES_PARAMS_v06_00
{
NvHandle hSubDevice;
NvU32 subDeviceId;
NvU64 pageSize NV_ALIGN_BYTES(8);
NvU64 virtAddrLo NV_ALIGN_BYTES(8);
NvU64 virtAddrHi NV_ALIGN_BYTES(8);
} NV90F1_CTRL_VASPACE_RESERVE_ENTRIES_PARAMS_v06_00;
typedef NV90F1_CTRL_VASPACE_RESERVE_ENTRIES_PARAMS_v06_00 NV90F1_CTRL_VASPACE_RESERVE_ENTRIES_PARAMS_v;
typedef struct NV90F1_CTRL_VASPACE_RELEASE_ENTRIES_PARAMS_v06_00
{
NvHandle hSubDevice;
NvU32 subDeviceId;
NvU64 pageSize NV_ALIGN_BYTES(8);
NvU64 virtAddrLo NV_ALIGN_BYTES(8);
NvU64 virtAddrHi NV_ALIGN_BYTES(8);
} NV90F1_CTRL_VASPACE_RELEASE_ENTRIES_PARAMS_v06_00;
typedef NV90F1_CTRL_VASPACE_RELEASE_ENTRIES_PARAMS_v06_00 NV90F1_CTRL_VASPACE_RELEASE_ENTRIES_PARAMS_v;
typedef struct NVA0BC_CTRL_NVENC_SW_SESSION_UPDATE_INFO_PARAMS_v06_01
{
NvU32 hResolution;
NvU32 vResolution;
NvU32 averageEncodeLatency;
NvU32 averageEncodeFps;
NvU32 timestampBufferSize;
NvP64 timestampBuffer NV_ALIGN_BYTES(8);
} NVA0BC_CTRL_NVENC_SW_SESSION_UPDATE_INFO_PARAMS_v06_01;
typedef NVA0BC_CTRL_NVENC_SW_SESSION_UPDATE_INFO_PARAMS_v06_01 NVA0BC_CTRL_NVENC_SW_SESSION_UPDATE_INFO_PARAMS_v;
typedef struct NVA0BD_CTRL_NVFBC_TIMESTAMP_v12_04
{
NvU64 startTime NV_ALIGN_BYTES(8);
NvU64 endTime NV_ALIGN_BYTES(8);
} NVA0BD_CTRL_NVFBC_TIMESTAMP_v12_04;
typedef NVA0BD_CTRL_NVFBC_TIMESTAMP_v12_04 NVA0BD_CTRL_NVFBC_TIMESTAMP_v;
typedef struct NVA080_CTRL_SET_FB_USAGE_PARAMS_v07_02
{
NvU64 fbUsed NV_ALIGN_BYTES(8);
} NVA080_CTRL_SET_FB_USAGE_PARAMS_v07_02;
typedef NVA080_CTRL_SET_FB_USAGE_PARAMS_v07_02 NVA080_CTRL_SET_FB_USAGE_PARAMS_v;
typedef struct NVC36F_CTRL_CMD_GPFIFO_GET_WORK_SUBMIT_TOKEN_PARAMS_v08_00
{
NvU32 workSubmitToken;
} NVC36F_CTRL_CMD_GPFIFO_GET_WORK_SUBMIT_TOKEN_PARAMS_v08_00;
typedef NVC36F_CTRL_CMD_GPFIFO_GET_WORK_SUBMIT_TOKEN_PARAMS_v08_00 NVC36F_CTRL_CMD_GPFIFO_GET_WORK_SUBMIT_TOKEN_PARAMS_v;
typedef struct NV0080_CTRL_DMA_PTE_INFO_PTE_BLOCK_v09_00
{
NvU32 pageSize;
NvU64 pteEntrySize NV_ALIGN_BYTES(8);
NvU32 comptagLine;
NvU32 kind;
NvU32 pteFlags;
} NV0080_CTRL_DMA_PTE_INFO_PTE_BLOCK_v09_00;
typedef NV0080_CTRL_DMA_PTE_INFO_PTE_BLOCK_v09_00 NV0080_CTRL_DMA_PTE_INFO_PTE_BLOCK_v;
typedef struct NV0080_CTRL_DMA_SET_PTE_INFO_PARAMS_v09_00
{
NvU64 gpuAddr NV_ALIGN_BYTES(8);
NvU32 subDeviceId;
NV0080_CTRL_DMA_PTE_INFO_PTE_BLOCK_v09_00 pteBlocks[NV0080_CTRL_DMA_SET_PTE_INFO_PTE_BLOCKS];
NvHandle hVASpace;
} NV0080_CTRL_DMA_SET_PTE_INFO_PARAMS_v09_00;
typedef NV0080_CTRL_DMA_SET_PTE_INFO_PARAMS_v09_00 NV0080_CTRL_DMA_SET_PTE_INFO_PARAMS_v;
typedef struct NV0080_CTRL_DMA_GET_PTE_INFO_PARAMS_v09_00
{
NvU64 gpuAddr NV_ALIGN_BYTES(8);
NvU32 subDeviceId;
NvU8 skipVASpaceInit;
NV0080_CTRL_DMA_PTE_INFO_PTE_BLOCK_v09_00 pteBlocks[NV0080_CTRL_DMA_GET_PTE_INFO_PTE_BLOCKS];
NvHandle hVASpace;
} NV0080_CTRL_DMA_GET_PTE_INFO_PARAMS_v09_00;
typedef NV0080_CTRL_DMA_GET_PTE_INFO_PARAMS_v09_00 NV0080_CTRL_DMA_GET_PTE_INFO_PARAMS_v;
typedef struct NV0080_CTRL_DMA_GET_CAPS_PARAMS_v09_00
{
NvU32 capsTblSize;
NvU8 capsTbl[NV0080_CTRL_DMA_CAPS_TBL_SIZE];
} NV0080_CTRL_DMA_GET_CAPS_PARAMS_v09_00;
typedef NV0080_CTRL_DMA_GET_CAPS_PARAMS_v09_00 NV0080_CTRL_DMA_GET_CAPS_PARAMS_v;
typedef struct NV0080_CTRL_DMA_FLUSH_PARAMS_v09_00
{
NvU32 targetUnit;
} NV0080_CTRL_DMA_FLUSH_PARAMS_v09_00;
typedef NV0080_CTRL_DMA_FLUSH_PARAMS_v09_00 NV0080_CTRL_DMA_FLUSH_PARAMS_v;
typedef struct NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PAGE_TABLE_FORMAT_v09_00
{
NvU32 pageTableSize;
NvU32 pageTableCoverage;
} NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PAGE_TABLE_FORMAT_v09_00;
typedef NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PAGE_TABLE_FORMAT_v09_00 NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PAGE_TABLE_FORMAT_v;
typedef struct NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PARAMS_v13_02
{
NvU32 vaBitCount;
NvU32 pdeCoverageBitCount;
NvU32 num4KPageTableFormats;
NvU32 bigPageSize;
NvU32 compressionPageSize;
NvU32 dualPageTableSupported;
NvU32 idealVRAMPageSize;
NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PAGE_TABLE_FORMAT_v09_00 pageTableBigFormat;
NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PAGE_TABLE_FORMAT_v09_00 pageTable4KFormat[NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_MAX_NUM_PAGE_TABLE_FORMATS];
NvHandle hVASpace;
NvU64 vaRangeLo NV_ALIGN_BYTES(8);
NvU32 vaSpaceId;
NvU64 supportedPageSizeMask NV_ALIGN_BYTES(8);
} NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PARAMS_v13_02;
typedef NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PARAMS_v13_02 NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PARAMS_v;
typedef struct NVC36F_CTRL_GPFIFO_UPDATE_FAULT_METHOD_BUFFER_PARAMS_v09_03
{
NvU64 bar2Addr[NVC36F_CTRL_CMD_GPFIFO_FAULT_METHOD_BUFFER_MAX_RUNQUEUES] NV_ALIGN_BYTES(8);
} NVC36F_CTRL_GPFIFO_UPDATE_FAULT_METHOD_BUFFER_PARAMS_v09_03;
typedef NVC36F_CTRL_GPFIFO_UPDATE_FAULT_METHOD_BUFFER_PARAMS_v09_03 NVC36F_CTRL_GPFIFO_UPDATE_FAULT_METHOD_BUFFER_PARAMS_v;
typedef struct NV2080_CTRL_FIFO_MEM_INFO_v09_01
{
NvU32 aperture;
NvU64 base NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
} NV2080_CTRL_FIFO_MEM_INFO_v09_01;
typedef NV2080_CTRL_FIFO_MEM_INFO_v09_01 NV2080_CTRL_FIFO_MEM_INFO_v;
typedef struct NV2080_CTRL_FIFO_CHANNEL_MEM_INFO_v09_01
{
NV2080_CTRL_FIFO_MEM_INFO_v09_01 inst;
NV2080_CTRL_FIFO_MEM_INFO_v09_01 ramfc;
} NV2080_CTRL_FIFO_CHANNEL_MEM_INFO_v09_01;
typedef NV2080_CTRL_FIFO_CHANNEL_MEM_INFO_v09_01 NV2080_CTRL_FIFO_CHANNEL_MEM_INFO_v;
typedef struct NV2080_CTRL_CMD_FIFO_GET_CHANNEL_MEM_INFO_PARAMS_v09_01
{
NvHandle hChannel;
NV2080_CTRL_FIFO_CHANNEL_MEM_INFO_v09_01 chMemInfo;
} NV2080_CTRL_CMD_FIFO_GET_CHANNEL_MEM_INFO_PARAMS_v09_01;
typedef NV2080_CTRL_CMD_FIFO_GET_CHANNEL_MEM_INFO_PARAMS_v09_01 NV2080_CTRL_CMD_FIFO_GET_CHANNEL_MEM_INFO_PARAMS_v;
typedef struct NVA06C_CTRL_PREEMPT_PARAMS_v09_0A
{
NvBool bWait;
NvBool bManualTimeout;
NvU32 timeoutUs;
} NVA06C_CTRL_PREEMPT_PARAMS_v09_0A;
typedef NVA06C_CTRL_PREEMPT_PARAMS_v09_0A NVA06C_CTRL_PREEMPT_PARAMS_v;
typedef struct NV0080_CTRL_BSP_GET_CAPS_PARAMS_v09_10
{
NvU32 capsTblSize;
NvU32 instanceId;
NvU8 capsTblData[NV0080_CTRL_BSP_CAPS_TBL_SIZE_V09_10];
} NV0080_CTRL_BSP_GET_CAPS_PARAMS_v09_10;
typedef NV0080_CTRL_BSP_GET_CAPS_PARAMS_v09_10 NV0080_CTRL_BSP_GET_CAPS_PARAMS_v;
typedef struct VGPU_BSP_GET_CAPS_v25_00
{
NV0080_CTRL_BSP_GET_CAPS_PARAMS_v09_10 bspCaps[MAX_NVDEC_ENGINES_V25_00];
} VGPU_BSP_GET_CAPS_v25_00;
typedef VGPU_BSP_GET_CAPS_v25_00 VGPU_BSP_GET_CAPS_v;
typedef struct NV0080_CTRL_FIFO_STOP_RUNLIST_PARAMS_v09_03
{
NvU32 engineID;
} NV0080_CTRL_FIFO_STOP_RUNLIST_PARAMS_v09_03;
typedef NV0080_CTRL_FIFO_STOP_RUNLIST_PARAMS_v09_03 NV0080_CTRL_FIFO_STOP_RUNLIST_PARAMS_v;
typedef struct NV0080_CTRL_FIFO_START_RUNLIST_PARAMS_v09_03
{
NvU32 engineID;
} NV0080_CTRL_FIFO_START_RUNLIST_PARAMS_v09_03;
typedef NV0080_CTRL_FIFO_START_RUNLIST_PARAMS_v09_03 NV0080_CTRL_FIFO_START_RUNLIST_PARAMS_v;
typedef struct NV208F_CTRL_DMA_GET_VAS_BLOCK_DETAILS_PARAMS_v09_03
{
NvU64 virtualAddress NV_ALIGN_BYTES(8);
NvU64 beginAddress NV_ALIGN_BYTES(8);
NvU64 endAddress NV_ALIGN_BYTES(8);
NvU64 alignedAddress NV_ALIGN_BYTES(8);
NvU32 pageSize;
NvHandle hVASpace;
} NV208F_CTRL_DMA_GET_VAS_BLOCK_DETAILS_PARAMS_v09_03;
typedef NV208F_CTRL_DMA_GET_VAS_BLOCK_DETAILS_PARAMS_v09_03 NV208F_CTRL_DMA_GET_VAS_BLOCK_DETAILS_PARAMS_v;
typedef struct NV0041_CTRL_GET_SURFACE_COMPRESSION_COVERAGE_PARAMS_v10_01
{
NvHandle hSubDevice;
NvU32 lineMin;
NvU32 lineMax;
NvU32 format;
} NV0041_CTRL_GET_SURFACE_COMPRESSION_COVERAGE_PARAMS_v10_01;
typedef NV0041_CTRL_GET_SURFACE_COMPRESSION_COVERAGE_PARAMS_v10_01 NV0041_CTRL_GET_SURFACE_COMPRESSION_COVERAGE_PARAMS_v;
typedef struct NV2080_CTRL_FIFO_DEVICE_ENTRY_v19_01
{
NvU32 engineData[NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_ENGINE_DATA_TYPES];
NvU32 pbdmaIds[NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_ENGINE_MAX_PBDMA];
NvU32 pbdmaFaultIds[NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_ENGINE_MAX_PBDMA];
NvU32 numPbdmas;
char engineName[NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_ENGINE_MAX_NAME_LEN];
} NV2080_CTRL_FIFO_DEVICE_ENTRY_v19_01;
typedef NV2080_CTRL_FIFO_DEVICE_ENTRY_v19_01 NV2080_CTRL_FIFO_DEVICE_ENTRY_v;
typedef struct NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_PARAMS_v19_01
{
NvU32 baseIndex;
NV2080_CTRL_FIFO_DEVICE_ENTRY_v19_01 entries[NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_MAX_ENTRIES];
NvU32 numEntries;
NvBool bMore;
} NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_PARAMS_v19_01;
typedef NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_PARAMS_v19_01 NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_PARAMS_v;
typedef struct VGPU_FIFO_GET_DEVICE_INFO_TABLE_v1A_07
{
NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_PARAMS_v19_01 fifoDeviceInfoTable[MAX_ITERATIONS_DEVICE_INFO_TABLE];
} VGPU_FIFO_GET_DEVICE_INFO_TABLE_v1A_07;
typedef VGPU_FIFO_GET_DEVICE_INFO_TABLE_v1A_07 VGPU_FIFO_GET_DEVICE_INFO_TABLE_v;
typedef struct NV83DE_CTRL_CMD_DEBUG_SUSPEND_CONTEXT_PARAMS_v1A_06
{
NvU32 waitForEvent;
NvHandle hResidentChannel;
} NV83DE_CTRL_CMD_DEBUG_SUSPEND_CONTEXT_PARAMS_v1A_06;
typedef NV83DE_CTRL_CMD_DEBUG_SUSPEND_CONTEXT_PARAMS_v1A_06 NV83DE_CTRL_CMD_DEBUG_SUSPEND_CONTEXT_PARAMS_v;
typedef struct NV83DE_CTRL_DEBUG_EXEC_REG_OPS_PARAMS_v1A_06
{
NvBool bNonTransactional;
NvU32 regOpCount;
NV2080_CTRL_GPU_REG_OP_v03_00 regOps[NV83DE_CTRL_GPU_EXEC_REG_OPS_MAX_OPS];
} NV83DE_CTRL_DEBUG_EXEC_REG_OPS_PARAMS_v1A_06;
typedef NV83DE_CTRL_DEBUG_EXEC_REG_OPS_PARAMS_v1A_06 NV83DE_CTRL_DEBUG_EXEC_REG_OPS_PARAMS_v;
typedef struct NV2080_CTRL_GPU_MIGRATABLE_OPS_PARAMS_v21_07
{
NvHandle hClientTarget;
NvHandle hChannelTarget;
NvU32 bNonTransactional;
NvU32 regOpCount;
NvU32 smIds[NV2080_CTRL_MIGRATABLE_OPS_ARRAY_MAX_v21_07];
NV2080_CTRL_GPU_REG_OP_v03_00 regOps[NV2080_CTRL_MIGRATABLE_OPS_ARRAY_MAX_v21_07];
NV2080_CTRL_GR_ROUTE_INFO_v12_01 grRouteInfo;
} NV2080_CTRL_GPU_MIGRATABLE_OPS_PARAMS_v21_07;
typedef NV2080_CTRL_GPU_MIGRATABLE_OPS_PARAMS_v21_07 NV2080_CTRL_GPU_MIGRATABLE_OPS_PARAMS_v;
typedef struct NV83DE_CTRL_DEBUG_SET_MODE_MMU_DEBUG_PARAMS_v1A_06
{
NvU32 action;
} NV83DE_CTRL_DEBUG_SET_MODE_MMU_DEBUG_PARAMS_v1A_06;
typedef NV83DE_CTRL_DEBUG_SET_MODE_MMU_DEBUG_PARAMS_v1A_06 NV83DE_CTRL_DEBUG_SET_MODE_MMU_DEBUG_PARAMS_v;
typedef struct NV83DE_CTRL_DEBUG_READ_SINGLE_SM_ERROR_STATE_PARAMS_v21_06
{
NvHandle hTargetChannel;
NvU32 smID;
NV83DE_SM_ERROR_STATE_REGISTERS_v21_06 smErrorState;
} NV83DE_CTRL_DEBUG_READ_SINGLE_SM_ERROR_STATE_PARAMS_v21_06;
typedef NV83DE_CTRL_DEBUG_READ_SINGLE_SM_ERROR_STATE_PARAMS_v21_06 NV83DE_CTRL_DEBUG_READ_SINGLE_SM_ERROR_STATE_PARAMS_v;
typedef struct NV83DE_CTRL_DEBUG_CLEAR_SINGLE_SM_ERROR_STATE_PARAMS_v1A_06
{
NvHandle hTargetChannel;
NvU32 smID;
} NV83DE_CTRL_DEBUG_CLEAR_SINGLE_SM_ERROR_STATE_PARAMS_v1A_06;
typedef NV83DE_CTRL_DEBUG_CLEAR_SINGLE_SM_ERROR_STATE_PARAMS_v1A_06 NV83DE_CTRL_DEBUG_CLEAR_SINGLE_SM_ERROR_STATE_PARAMS_v;
typedef struct NV83DE_CTRL_DEBUG_SET_MODE_ERRBAR_DEBUG_PARAMS_v1A_06
{
NvU32 action;
} NV83DE_CTRL_DEBUG_SET_MODE_ERRBAR_DEBUG_PARAMS_v1A_06;
typedef NV83DE_CTRL_DEBUG_SET_MODE_ERRBAR_DEBUG_PARAMS_v1A_06 NV83DE_CTRL_DEBUG_SET_MODE_ERRBAR_DEBUG_PARAMS_v;
typedef struct NV83DE_CTRL_DEBUG_SET_NEXT_STOP_TRIGGER_TYPE_PARAMS_v1A_06
{
NvU32 stopTriggerType;
} NV83DE_CTRL_DEBUG_SET_NEXT_STOP_TRIGGER_TYPE_PARAMS_v1A_06;
typedef NV83DE_CTRL_DEBUG_SET_NEXT_STOP_TRIGGER_TYPE_PARAMS_v1A_06 NV83DE_CTRL_DEBUG_SET_NEXT_STOP_TRIGGER_TYPE_PARAMS_v;
typedef struct ENGINE_NOTIFICATION_INTR_VECTOR_ENTRY_v16_00
{
NvU32 nv2080EngineType;
NvU32 notificationIntrVector;
} ENGINE_NOTIFICATION_INTR_VECTOR_ENTRY_v16_00;
typedef ENGINE_NOTIFICATION_INTR_VECTOR_ENTRY_v16_00 ENGINE_NOTIFICATION_INTR_VECTOR_ENTRY_v;
typedef struct NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_PARAMS_v16_00
{
NvU32 numEntries;
ENGINE_NOTIFICATION_INTR_VECTOR_ENTRY_v16_00 entries[NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_MAX_ENGINES];
} NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_PARAMS_v16_00;
typedef NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_PARAMS_v16_00 NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_PARAMS_v;
typedef struct STATIC_INTR_ENTRY_v1E_09
{
NvU32 nv2080IntrType;
NvU32 pmcIntrMask;
NvU32 intrVectorStall;
NvU32 intrVectorNonStall;
} STATIC_INTR_ENTRY_v1E_09;
typedef STATIC_INTR_ENTRY_v1E_09 STATIC_INTR_ENTRY_v;
typedef struct NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_PARAMS_v1E_09
{
NvU32 numEntries;
STATIC_INTR_ENTRY_v1E_09 entries[NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_MAX_v1E_09];
} NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_PARAMS_v1E_09;
typedef NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_PARAMS_v1E_09 NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_PARAMS_v;
typedef struct NV2080_CTRL_FLA_SETUP_INSTANCE_MEM_BLOCK_PARAMS_v13_04
{
NvU64 imbPhysAddr NV_ALIGN_BYTES(8);
NvU32 addrSpace;
NvU32 flaAction;
} NV2080_CTRL_FLA_SETUP_INSTANCE_MEM_BLOCK_PARAMS_v13_04;
typedef NV2080_CTRL_FLA_SETUP_INSTANCE_MEM_BLOCK_PARAMS_v13_04 NV2080_CTRL_FLA_SETUP_INSTANCE_MEM_BLOCK_PARAMS_v;
typedef struct NV2080_CTRL_CMD_FIFO_CLEAR_FAULTED_BIT_PARAMS_v18_08
{
NvU32 engineType;
NvU32 vChid;
NvU32 faultType;
} NV2080_CTRL_CMD_FIFO_CLEAR_FAULTED_BIT_PARAMS_v18_08;
typedef NV2080_CTRL_CMD_FIFO_CLEAR_FAULTED_BIT_PARAMS_v18_08 NV2080_CTRL_CMD_FIFO_CLEAR_FAULTED_BIT_PARAMS_v;
typedef struct NV2080_CTRL_GPU_QUERY_ECC_EXCEPTION_STATUS_v15_01
{
NvU64 count NV_ALIGN_BYTES(8);
} NV2080_CTRL_GPU_QUERY_ECC_EXCEPTION_STATUS_v15_01;
typedef NV2080_CTRL_GPU_QUERY_ECC_EXCEPTION_STATUS_v15_01 NV2080_CTRL_GPU_QUERY_ECC_EXCEPTION_STATUS_v;
typedef struct NV2080_CTRL_GPU_QUERY_ECC_UNIT_STATUS_v15_01
{
NvBool enabled;
NvBool scrubComplete;
NvBool supported;
NV2080_CTRL_GPU_QUERY_ECC_EXCEPTION_STATUS_v15_01 dbe;
NV2080_CTRL_GPU_QUERY_ECC_EXCEPTION_STATUS_v15_01 dbeNonResettable;
NV2080_CTRL_GPU_QUERY_ECC_EXCEPTION_STATUS_v15_01 sbe;
NV2080_CTRL_GPU_QUERY_ECC_EXCEPTION_STATUS_v15_01 sbeNonResettable;
} NV2080_CTRL_GPU_QUERY_ECC_UNIT_STATUS_v15_01;
typedef NV2080_CTRL_GPU_QUERY_ECC_UNIT_STATUS_v15_01 NV2080_CTRL_GPU_QUERY_ECC_UNIT_STATUS_v;
typedef struct NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS_v24_06
{
NV2080_CTRL_GPU_QUERY_ECC_UNIT_STATUS_v15_01 units[NV2080_CTRL_GPU_ECC_UNIT_COUNT_v24_06];
NvBool bFatalPoisonError;
NvU32 flags;
} NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS_v24_06;
typedef struct NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS_v26_02
{
NV2080_CTRL_GPU_QUERY_ECC_UNIT_STATUS_v15_01 units[NV2080_CTRL_GPU_ECC_UNIT_COUNT_v26_02];
NvBool bFatalPoisonError;
NvU32 flags;
} NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS_v26_02;
typedef struct NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS_v27_04
{
NV2080_CTRL_GPU_QUERY_ECC_UNIT_STATUS_v15_01 units[NV2080_CTRL_GPU_ECC_UNIT_COUNT_v27_04];
NvBool bFatalPoisonError;
NvU32 flags;
} NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS_v27_04;
typedef NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS_v27_04 NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS_v;
typedef struct NV2080_CTRL_GPU_QUERY_ECC_STATUS_DEPRECATED_RPC_PARAMS_v24_06
{
NV2080_CTRL_GPU_QUERY_ECC_UNIT_STATUS_v15_01 units[NV2080_CTRL_GPU_ECC_UNIT_COUNT_v24_06];
NvBool bFatalPoisonError;
NvU32 flags;
} NV2080_CTRL_GPU_QUERY_ECC_STATUS_DEPRECATED_RPC_PARAMS_v24_06;
typedef struct NV2080_CTRL_GPU_QUERY_ECC_STATUS_DEPRECATED_RPC_PARAMS_v26_02
{
NV2080_CTRL_GPU_QUERY_ECC_UNIT_STATUS_v15_01 units[NV2080_CTRL_GPU_ECC_UNIT_COUNT_v26_02];
NvBool bFatalPoisonError;
NvU32 flags;
} NV2080_CTRL_GPU_QUERY_ECC_STATUS_DEPRECATED_RPC_PARAMS_v26_02;
typedef NV2080_CTRL_GPU_QUERY_ECC_STATUS_DEPRECATED_RPC_PARAMS_v26_02 NV2080_CTRL_GPU_QUERY_ECC_STATUS_DEPRECATED_RPC_PARAMS_v;
typedef struct NV2080_CTRL_MC_SERVICE_INTERRUPTS_PARAMS_v15_01
{
NvU32 engines;
} NV2080_CTRL_MC_SERVICE_INTERRUPTS_PARAMS_v15_01;
typedef NV2080_CTRL_MC_SERVICE_INTERRUPTS_PARAMS_v15_01 NV2080_CTRL_MC_SERVICE_INTERRUPTS_PARAMS_v;
typedef struct NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS_PARAMS_v15_02
{
NvU32 capsTbl;
NvU8 lowestNvlinkVersion;
NvU8 highestNvlinkVersion;
NvU8 lowestNciVersion;
NvU8 highestNciVersion;
NvU32 discoveredLinkMask;
NvU32 enabledLinkMask;
} NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS_PARAMS_v15_02;
typedef NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS_PARAMS_v15_02 NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS_PARAMS_v;
typedef struct NV2080_CTRL_NVLINK_DEVICE_INFO_v15_02
{
NvU32 deviceIdFlags;
NvU32 domain;
NvU16 bus;
NvU16 device;
NvU16 function;
NvU32 pciDeviceId;
NvU64 deviceType NV_ALIGN_BYTES(8);
NvU8 deviceUUID[16];
} NV2080_CTRL_NVLINK_DEVICE_INFO_v15_02;
typedef NV2080_CTRL_NVLINK_DEVICE_INFO_v15_02 NV2080_CTRL_NVLINK_DEVICE_INFO_v;
typedef struct NV2080_CTRL_NVLINK_LINK_STATUS_INFO_v18_0D
{
NvU32 capsTbl;
NvU8 phyType;
NvU8 subLinkWidth;
NvU32 linkState;
NvU8 rxSublinkStatus;
NvU8 txSublinkStatus;
NvU8 nvlinkVersion;
NvU8 nciVersion;
NvU8 phyVersion;
NvU32 nvlinkLinkClockKHz;
NvU32 nvlinkLineRateMbps;
NvBool connected;
NvU8 remoteDeviceLinkNumber;
NvU8 localDeviceLinkNumber;
NV2080_CTRL_NVLINK_DEVICE_INFO_v15_02 remoteDeviceInfo;
NV2080_CTRL_NVLINK_DEVICE_INFO_v15_02 localDeviceInfo;
} NV2080_CTRL_NVLINK_LINK_STATUS_INFO_v18_0D;
typedef NV2080_CTRL_NVLINK_LINK_STATUS_INFO_v18_0D NV2080_CTRL_NVLINK_LINK_STATUS_INFO_v;
typedef struct NV2080_CTRL_CMD_NVLINK_GET_NVLINK_STATUS_PARAMS_v23_04
{
NvU32 enabledLinkMask;
NV2080_CTRL_NVLINK_LINK_STATUS_INFO_v18_0D linkInfo[NV2080_CTRL_NVLINK_MAX_LINKS_v23_04];
} NV2080_CTRL_CMD_NVLINK_GET_NVLINK_STATUS_PARAMS_v23_04;
typedef NV2080_CTRL_CMD_NVLINK_GET_NVLINK_STATUS_PARAMS_v23_04 NV2080_CTRL_CMD_NVLINK_GET_NVLINK_STATUS_PARAMS_v;
typedef struct NV2080_CTRL_FLA_GET_RANGE_PARAMS_v1A_18
{
NvU64 base NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
} NV2080_CTRL_FLA_GET_RANGE_PARAMS_v1A_18;
typedef NV2080_CTRL_FLA_GET_RANGE_PARAMS_v1A_18 NV2080_CTRL_FLA_GET_RANGE_PARAMS_v;
typedef struct NV2080_CTRL_CE_GET_CAPS_V2_PARAMS_v15_02
{
NvU32 ceEngineType;
NvU8 capsTbl[NV2080_CTRL_CE_CAPS_TBL_SIZE];
} NV2080_CTRL_CE_GET_CAPS_V2_PARAMS_v15_02;
typedef NV2080_CTRL_CE_GET_CAPS_V2_PARAMS_v15_02 NV2080_CTRL_CE_GET_CAPS_V2_PARAMS_v;
typedef struct VGPU_CE_GET_CAPS_V2_v24_09
{
NV2080_CTRL_CE_GET_CAPS_V2_PARAMS_v15_02 ceCaps[NV2080_ENGINE_TYPE_COPY_SIZE_v24_09];
} VGPU_CE_GET_CAPS_V2_v24_09;
typedef VGPU_CE_GET_CAPS_V2_v24_09 VGPU_CE_GET_CAPS_V2_v;
typedef struct NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PARAMS_v1F_0D
{
NvU32 gpuIds[NV0000_CTRL_SYSTEM_MAX_ATTACHED_GPUS];
NvU32 gpuCount;
NvU32 p2pCaps;
NvU32 p2pOptimalReadCEs;
NvU32 p2pOptimalWriteCEs;
NvU8 p2pCapsStatus[NV0000_CTRL_P2P_CAPS_INDEX_TABLE_SIZE_v1F_0D];
} NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PARAMS_v1F_0D;
typedef NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PARAMS_v1F_0D NV0000_CTRL_SYSTEM_GET_P2P_CAPS_PARAMS_v;
typedef struct NV0000_CTRL_SYSTEM_GET_P2P_CAPS_V2_PARAMS_v1F_0D
{
NvU32 gpuIds[NV0000_CTRL_SYSTEM_MAX_ATTACHED_GPUS];
NvU32 gpuCount;
NvU32 p2pCaps;
NvU32 p2pOptimalReadCEs;
NvU32 p2pOptimalWriteCEs;
NvU8 p2pCapsStatus[NV0000_CTRL_P2P_CAPS_INDEX_TABLE_SIZE_v1F_0D];
NvU32 busPeerIds[VGPU_RPC_GET_P2P_CAPS_V2_MAX_GPUS_SQUARED_PER_RPC];
} NV0000_CTRL_SYSTEM_GET_P2P_CAPS_V2_PARAMS_v1F_0D;
typedef NV0000_CTRL_SYSTEM_GET_P2P_CAPS_V2_PARAMS_v1F_0D NV0000_CTRL_SYSTEM_GET_P2P_CAPS_V2_PARAMS_v;
typedef struct NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS_v15_03
{
NvU8 fbpIndex;
NvU32 ltcMask;
NvU32 ltcCount;
} NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS_v15_03;
typedef NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS_v15_03 NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS_v;
typedef struct NV2080_CTRL_FB_OFFLINED_ADDRESS_INFO_v15_04
{
NvU64 pageAddress NV_ALIGN_BYTES(8);
NvU32 source;
NvU32 status;
NvU32 timestamp;
} NV2080_CTRL_FB_OFFLINED_ADDRESS_INFO_v15_04;
typedef NV2080_CTRL_FB_OFFLINED_ADDRESS_INFO_v15_04 NV2080_CTRL_FB_OFFLINED_ADDRESS_INFO_v;
typedef struct NV2080_CTRL_FB_GET_OFFLINED_PAGES_PARAMS_v15_04
{
NV2080_CTRL_FB_OFFLINED_ADDRESS_INFO_v15_04 blackList[NV2080_CTRL_FB_OFFLINED_PAGES_MAX_PAGES];
NvU32 pageSize;
NvU32 validEntries;
NvBool bRetirementPending;
NvU8 retirementPending;
} NV2080_CTRL_FB_GET_OFFLINED_PAGES_PARAMS_v15_04;
typedef NV2080_CTRL_FB_GET_OFFLINED_PAGES_PARAMS_v15_04 NV2080_CTRL_FB_GET_OFFLINED_PAGES_PARAMS_v;
typedef struct NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_PARAMS_v16_01
{
NvU32 statuses;
NvU8 flags;
} NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_PARAMS_v16_01;
typedef NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_PARAMS_v16_01 NV2080_CTRL_GPU_RESET_ECC_ERROR_STATUS_PARAMS_v;
typedef struct NVC36F_CTRL_GPFIFO_SET_WORK_SUBMIT_TOKEN_NOTIF_INDEX_PARAMS_v16_04
{
NvU32 index;
} NVC36F_CTRL_GPFIFO_SET_WORK_SUBMIT_TOKEN_NOTIF_INDEX_PARAMS_v16_04;
typedef NVC36F_CTRL_GPFIFO_SET_WORK_SUBMIT_TOKEN_NOTIF_INDEX_PARAMS_v16_04 NVC36F_CTRL_GPFIFO_SET_WORK_SUBMIT_TOKEN_NOTIF_INDEX_PARAMS_v;
typedef struct NVA06C_CTRL_INTERLEAVE_LEVEL_PARAMS_v17_02
{
NvU32 tsgInterleaveLevel;
} NVA06C_CTRL_INTERLEAVE_LEVEL_PARAMS_v17_02;
typedef NVA06C_CTRL_INTERLEAVE_LEVEL_PARAMS_v17_02 NVA06C_CTRL_INTERLEAVE_LEVEL_PARAMS_v;
typedef struct NVA06F_CTRL_INTERLEAVE_LEVEL_PARAMS_v17_02
{
NvU32 channelInterleaveLevel;
} NVA06F_CTRL_INTERLEAVE_LEVEL_PARAMS_v17_02;
typedef NVA06F_CTRL_INTERLEAVE_LEVEL_PARAMS_v17_02 NVA06F_CTRL_INTERLEAVE_LEVEL_PARAMS_v;
typedef struct NVC637_CTRL_EXEC_PARTITIONS_INFO_v24_05
{
NvU32 gpcCount;
NvU32 gfxGpcCount;
NvU32 veidCount;
NvU32 ceCount;
NvU32 nvEncCount;
NvU32 nvDecCount;
NvU32 nvJpgCount;
NvU32 ofaCount;
NvU32 sharedEngFlag;
NvU32 smCount;
NvU32 spanStart;
NvU32 computeSize;
} NVC637_CTRL_EXEC_PARTITIONS_INFO_v24_05;
typedef NVC637_CTRL_EXEC_PARTITIONS_INFO_v24_05 NVC637_CTRL_EXEC_PARTITIONS_INFO_v;
typedef struct NVC637_CTRL_EXEC_PARTITIONS_CREATE_PARAMS_v24_05
{
NvBool bQuery;
NvU32 execPartCount;
NVC637_CTRL_EXEC_PARTITIONS_INFO_v24_05 execPartInfo[NVC637_CTRL_MAX_EXEC_PARTITIONS_v18_05];
NvU32 execPartId[NVC637_CTRL_MAX_EXEC_PARTITIONS_v18_05];
} NVC637_CTRL_EXEC_PARTITIONS_CREATE_PARAMS_v24_05;
typedef NVC637_CTRL_EXEC_PARTITIONS_CREATE_PARAMS_v24_05 NVC637_CTRL_EXEC_PARTITIONS_CREATE_PARAMS_v;
typedef struct NVC637_CTRL_EXEC_PARTITIONS_DELETE_PARAMS_v18_05
{
NvU32 execPartCount;
NvU32 execPartId[NVC637_CTRL_MAX_EXEC_PARTITIONS_v18_05];
} NVC637_CTRL_EXEC_PARTITIONS_DELETE_PARAMS_v18_05;
typedef NVC637_CTRL_EXEC_PARTITIONS_DELETE_PARAMS_v18_05 NVC637_CTRL_EXEC_PARTITIONS_DELETE_PARAMS_v;
typedef struct NVC637_CTRL_EXEC_PARTITIONS_GET_PARAMS_v24_05
{
NvU32 execPartCount;
NvU32 execPartId[NVC637_CTRL_MAX_EXEC_PARTITIONS_v18_05];
NVC637_CTRL_EXEC_PARTITIONS_INFO_v24_05 execPartInfo[NVC637_CTRL_MAX_EXEC_PARTITIONS_v18_05];
} NVC637_CTRL_EXEC_PARTITIONS_GET_PARAMS_v24_05;
typedef NVC637_CTRL_EXEC_PARTITIONS_GET_PARAMS_v24_05 NVC637_CTRL_EXEC_PARTITIONS_GET_PARAMS_v;
typedef struct NV9096_CTRL_GET_ZBC_CLEAR_TABLE_SIZE_PARAMS_v1A_07
{
NvU32 indexStart;
NvU32 indexEnd;
} NV9096_CTRL_GET_ZBC_CLEAR_TABLE_SIZE_PARAMS_v1A_07;
typedef NV9096_CTRL_GET_ZBC_CLEAR_TABLE_SIZE_PARAMS_v1A_07 NV9096_CTRL_GET_ZBC_CLEAR_TABLE_SIZE_PARAMS_v;
typedef struct VGPU_STATIC_DATA_v25_0E
{
NvU64 fbTaxLength NV_ALIGN_BYTES(8);
NvU64 fbLength NV_ALIGN_BYTES(8);
NvU32 fbBusWidth;
NvU32 fbioMask;
NvU32 fbpMask;
NvU32 ltcMask;
NvU32 ltsCount;
NvU32 subProcessIsolation;
NvU64 engineList NV_ALIGN_BYTES(8);
NvU32 sizeL2Cache;
NvBool poisonFuseEnabled;
NvBool guestManagedHwAlloc;
NV_DEVICE_NAME_v13_06 gpuName;
NvBool bSplitVasBetweenServerClientRm;
NvU64 maxSupportedPageSize NV_ALIGN_BYTES(8);
NvBool bFlaSupported;
NvBool bPerRunlistChannelRamEnabled;
NvBool bAtsSupported;
NvBool bPerSubCtxheaderSupported;
NvBool bC2CLinkUp;
NvBool bLocalEgmEnabled;
NvU32 localEgmPeerId;
NvBool bSelfHostedMode;
NvU32 ceFaultMethodBufferDepth;
NvU32 pcieGpuLinkCaps;
NvU8 grCapsBits[NV0080_CTRL_GR_CAPS_TBL_SIZE_v25_0E];
NvU32 gfxpBufferSize[NV2080_CTRL_CMD_GR_CTXSW_PREEMPTION_BIND_BUFFERS_CONTEXT_POOL_v25_0E];
NvU32 gfxpBufferAlignment[NV2080_CTRL_CMD_GR_CTXSW_PREEMPTION_BIND_BUFFERS_CONTEXT_POOL_v25_0E];
NvU32 grBufferSize[RPC_GR_BUFFER_TYPE_GRAPHICS_MAX_v25_0E];
NvU8 jpegCaps[NV0080_CTRL_NVJPG_CAPS_TBL_SIZE_V18_0C];
} VGPU_STATIC_DATA_v25_0E;
typedef struct VGPU_STATIC_DATA_v27_00
{
NvU64 fbTaxLength NV_ALIGN_BYTES(8);
NvU64 fbLength NV_ALIGN_BYTES(8);
NvU32 fbBusWidth;
NvU64 fbioMask NV_ALIGN_BYTES(8);
NvU32 fbpMask;
NvU64 ltcMask NV_ALIGN_BYTES(8);
NvU32 ltsCount;
NvU32 subProcessIsolation;
NvU64 engineList NV_ALIGN_BYTES(8);
NvU32 sizeL2Cache;
NvBool poisonFuseEnabled;
NvBool guestManagedHwAlloc;
NV_DEVICE_NAME_v13_06 gpuName;
NvBool bSplitVasBetweenServerClientRm;
NvU64 maxSupportedPageSize NV_ALIGN_BYTES(8);
NvBool bFlaSupported;
NvBool bPerRunlistChannelRamEnabled;
NvBool bAtsSupported;
NvBool bPerSubCtxheaderSupported;
NvBool bC2CLinkUp;
NvBool bLocalEgmEnabled;
NvU32 localEgmPeerId;
NvBool bSelfHostedMode;
NvU32 ceFaultMethodBufferDepth;
NvU32 pcieGpuLinkCaps;
NvU8 grCapsBits[NV0080_CTRL_GR_CAPS_TBL_SIZE_v25_0E];
NvU32 gfxpBufferSize[NV2080_CTRL_CMD_GR_CTXSW_PREEMPTION_BIND_BUFFERS_CONTEXT_POOL_v25_0E];
NvU32 gfxpBufferAlignment[NV2080_CTRL_CMD_GR_CTXSW_PREEMPTION_BIND_BUFFERS_CONTEXT_POOL_v25_0E];
NvU32 grBufferSize[RPC_GR_BUFFER_TYPE_GRAPHICS_MAX_v25_0E];
NvU8 jpegCaps[NV0080_CTRL_NVJPG_CAPS_TBL_SIZE_V18_0C];
} VGPU_STATIC_DATA_v27_00;
typedef struct VGPU_STATIC_DATA_v27_01
{
NvU64 fbTaxLength NV_ALIGN_BYTES(8);
NvU64 fbLength NV_ALIGN_BYTES(8);
NvU32 fbBusWidth;
NvU64 fbioMask NV_ALIGN_BYTES(8);
NvU32 fbpMask;
NvU64 ltcMask NV_ALIGN_BYTES(8);
NvU32 ltsCount;
NvU32 subProcessIsolation;
NvU64 engineList[NVGPU_VGPU_ENGINE_LIST_MASK_ARRAY_MAX_v27_01] NV_ALIGN_BYTES(8);
NvU32 sizeL2Cache;
NvBool poisonFuseEnabled;
NvBool guestManagedHwAlloc;
NV_DEVICE_NAME_v13_06 gpuName;
NvBool bSplitVasBetweenServerClientRm;
NvU64 maxSupportedPageSize NV_ALIGN_BYTES(8);
NvBool bFlaSupported;
NvBool bPerRunlistChannelRamEnabled;
NvBool bAtsSupported;
NvBool bPerSubCtxheaderSupported;
NvBool bC2CLinkUp;
NvBool bLocalEgmEnabled;
NvU32 localEgmPeerId;
NvBool bSelfHostedMode;
NvU32 ceFaultMethodBufferDepth;
NvU32 pcieGpuLinkCaps;
NvU8 grCapsBits[NV0080_CTRL_GR_CAPS_TBL_SIZE_v25_0E];
NvU32 gfxpBufferSize[NV2080_CTRL_CMD_GR_CTXSW_PREEMPTION_BIND_BUFFERS_CONTEXT_POOL_v25_0E];
NvU32 gfxpBufferAlignment[NV2080_CTRL_CMD_GR_CTXSW_PREEMPTION_BIND_BUFFERS_CONTEXT_POOL_v25_0E];
NvU32 grBufferSize[RPC_GR_BUFFER_TYPE_GRAPHICS_MAX_v25_0E];
NvU8 jpegCaps[NV0080_CTRL_NVJPG_CAPS_TBL_SIZE_V18_0C];
} VGPU_STATIC_DATA_v27_01;
typedef VGPU_STATIC_DATA_v27_01 VGPU_STATIC_DATA_v;
typedef struct NV2080_CTRL_CMD_GPU_HANDLE_VF_PRI_FAULT_PARAMS_v18_09
{
NvU32 faultType;
} NV2080_CTRL_CMD_GPU_HANDLE_VF_PRI_FAULT_PARAMS_v18_09;
typedef NV2080_CTRL_CMD_GPU_HANDLE_VF_PRI_FAULT_PARAMS_v18_09 NV2080_CTRL_CMD_GPU_HANDLE_VF_PRI_FAULT_PARAMS_v;
typedef struct rpc_fb_region_descriptor_v17_00
{
NvU64 base NV_ALIGN_BYTES(8);
NvU64 limit NV_ALIGN_BYTES(8);
NvBool bRsvdRegion;
} rpc_fb_region_descriptor_v17_00;
typedef rpc_fb_region_descriptor_v17_00 rpc_fb_region_descriptor_v;
typedef struct NV0000_CTRL_P2P_CAPS_MATRIX_ROW_v18_0A
{
NvU32 array[NV0000_CTRL_SYSTEM_MAX_P2P_GROUP_GPUS];
} NV0000_CTRL_P2P_CAPS_MATRIX_ROW_v18_0A;
typedef NV0000_CTRL_P2P_CAPS_MATRIX_ROW_v18_0A NV0000_CTRL_P2P_CAPS_MATRIX_ROW_v;
typedef struct NV0000_CTRL_SYSTEM_GET_P2P_CAPS_MATRIX_PARAMS_v18_0A
{
NvU32 grpACount;
NvU32 grpBCount;
NvU32 gpuIdGrpA[NV0000_CTRL_SYSTEM_MAX_P2P_GROUP_GPUS];
NvU32 gpuIdGrpB[NV0000_CTRL_SYSTEM_MAX_P2P_GROUP_GPUS];
NV0000_CTRL_P2P_CAPS_MATRIX_ROW_v18_0A p2pCaps[NV0000_CTRL_SYSTEM_MAX_P2P_GROUP_GPUS];
NV0000_CTRL_P2P_CAPS_MATRIX_ROW_v18_0A a2bOptimalReadCes[NV0000_CTRL_SYSTEM_MAX_P2P_GROUP_GPUS];
NV0000_CTRL_P2P_CAPS_MATRIX_ROW_v18_0A a2bOptimalWriteCes[NV0000_CTRL_SYSTEM_MAX_P2P_GROUP_GPUS];
NV0000_CTRL_P2P_CAPS_MATRIX_ROW_v18_0A b2aOptimalReadCes[NV0000_CTRL_SYSTEM_MAX_P2P_GROUP_GPUS];
NV0000_CTRL_P2P_CAPS_MATRIX_ROW_v18_0A b2aOptimalWriteCes[NV0000_CTRL_SYSTEM_MAX_P2P_GROUP_GPUS];
} NV0000_CTRL_SYSTEM_GET_P2P_CAPS_MATRIX_PARAMS_v18_0A;
typedef NV0000_CTRL_SYSTEM_GET_P2P_CAPS_MATRIX_PARAMS_v18_0A NV0000_CTRL_SYSTEM_GET_P2P_CAPS_MATRIX_PARAMS_v;
typedef struct NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS_v18_0B
{
NvU32 eccMask;
NvU32 nvlinkMask ;
} NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS_v18_0B;
typedef struct NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS_v25_13
{
NvU32 eccMask;
NvU32 nvlinkMask ;
} NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS_v25_13;
typedef NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS_v25_13 NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FLA_RANGE_PARAMS_v18_11
{
NvU64 base NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
NvU32 mode;
NvU32 hVASpace;
} NV2080_CTRL_FLA_RANGE_PARAMS_v18_11;
typedef NV2080_CTRL_FLA_RANGE_PARAMS_v18_11 NV2080_CTRL_FLA_RANGE_PARAMS_v;
typedef struct NV2080_CTRL_FB_DYNAMIC_OFFLINED_ADDRESS_INFO_v18_14
{
NvU64 pageNumber NV_ALIGN_BYTES(8);
NvU8 source;
} NV2080_CTRL_FB_DYNAMIC_OFFLINED_ADDRESS_INFO_v18_14;
typedef NV2080_CTRL_FB_DYNAMIC_OFFLINED_ADDRESS_INFO_v18_14 NV2080_CTRL_FB_DYNAMIC_OFFLINED_ADDRESS_INFO_v;
typedef struct NV2080_CTRL_FB_GET_DYNAMIC_OFFLINED_PAGES_PARAMS_v18_14
{
NV2080_CTRL_FB_DYNAMIC_OFFLINED_ADDRESS_INFO_v18_14 blackList[NV2080_CTRL_FB_DYNAMIC_BLACKLIST_MAX_ENTRIES];
NvU32 validEntries;
NvU32 baseIndex;
NvBool bMore;
} NV2080_CTRL_FB_GET_DYNAMIC_OFFLINED_PAGES_PARAMS_v18_14;
typedef NV2080_CTRL_FB_GET_DYNAMIC_OFFLINED_PAGES_PARAMS_v18_14 NV2080_CTRL_FB_GET_DYNAMIC_OFFLINED_PAGES_PARAMS_v;
typedef struct NV503C_CTRL_REGISTER_VA_SPACE_PARAMS_v18_15
{
NvHandle hVASpace;
NvU64 vaSpaceToken NV_ALIGN_BYTES(8);
} NV503C_CTRL_REGISTER_VA_SPACE_PARAMS_v18_15;
typedef NV503C_CTRL_REGISTER_VA_SPACE_PARAMS_v18_15 NV503C_CTRL_REGISTER_VA_SPACE_PARAMS_v;
typedef struct NV503C_CTRL_UNREGISTER_VA_SPACE_PARAMS_v18_15
{
NvHandle hVASpace;
} NV503C_CTRL_UNREGISTER_VA_SPACE_PARAMS_v18_15;
typedef NV503C_CTRL_UNREGISTER_VA_SPACE_PARAMS_v18_15 NV503C_CTRL_UNREGISTER_VA_SPACE_PARAMS_v;
typedef struct NV503C_CTRL_REGISTER_VIDMEM_PARAMS_v18_15
{
NvHandle hMemory;
NvU64 address NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
NvU64 offset NV_ALIGN_BYTES(8);
} NV503C_CTRL_REGISTER_VIDMEM_PARAMS_v18_15;
typedef NV503C_CTRL_REGISTER_VIDMEM_PARAMS_v18_15 NV503C_CTRL_REGISTER_VIDMEM_PARAMS_v;
typedef struct NV503C_CTRL_UNREGISTER_VIDMEM_PARAMS_v18_15
{
NvHandle hMemory;
} NV503C_CTRL_UNREGISTER_VIDMEM_PARAMS_v18_15;
typedef NV503C_CTRL_UNREGISTER_VIDMEM_PARAMS_v18_15 NV503C_CTRL_UNREGISTER_VIDMEM_PARAMS_v;
typedef struct NV2080_CTRL_CE_GET_CE_PCE_MASK_PARAMS_v1A_07
{
NvU32 ceEngineType;
NvU32 pceMask;
} NV2080_CTRL_CE_GET_CE_PCE_MASK_PARAMS_v1A_07;
typedef NV2080_CTRL_CE_GET_CE_PCE_MASK_PARAMS_v1A_07 NV2080_CTRL_CE_GET_CE_PCE_MASK_PARAMS_v;
typedef struct NV2080_CTRL_GR_GET_CTX_BUFFER_SIZE_PARAMS_v1A_07
{
NvHandle hChannel;
NvU64 totalBufferSize NV_ALIGN_BYTES(8);
} NV2080_CTRL_GR_GET_CTX_BUFFER_SIZE_PARAMS_v1A_07;
typedef NV2080_CTRL_GR_GET_CTX_BUFFER_SIZE_PARAMS_v1A_07 NV2080_CTRL_GR_GET_CTX_BUFFER_SIZE_PARAMS_v;
typedef struct NV2080_CTRL_GR_CTX_BUFFER_INFO_v1A_1A
{
NvU64 alignment NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
NvP64 bufferHandle NV_ALIGN_BYTES(8);
NvU64 pageCount NV_ALIGN_BYTES(8);
NvU64 physAddr NV_ALIGN_BYTES(8);
NvU32 bufferType;
NvU32 aperture;
NvU32 kind;
NvU32 pageSize;
NvBool bIsContigous;
NvBool bGlobalBuffer;
NvBool bLocalBuffer;
NvBool bDeviceDescendant;
NvU8 uuid[16];
} NV2080_CTRL_GR_CTX_BUFFER_INFO_v1A_1A;
typedef NV2080_CTRL_GR_CTX_BUFFER_INFO_v1A_1A NV2080_CTRL_GR_CTX_BUFFER_INFO_v;
typedef struct NV2080_CTRL_GR_GET_CTX_BUFFER_INFO_PARAMS_v1A_1A
{
NvHandle hUserClient;
NvHandle hChannel;
NvU32 bufferCount;
NV2080_CTRL_GR_CTX_BUFFER_INFO_v1A_1A ctxBufferInfo[GR_MAX_RPC_CTX_BUFFER_COUNT];
} NV2080_CTRL_GR_GET_CTX_BUFFER_INFO_PARAMS_v1A_1A;
typedef NV2080_CTRL_GR_GET_CTX_BUFFER_INFO_PARAMS_v1A_1A NV2080_CTRL_GR_GET_CTX_BUFFER_INFO_PARAMS_v;
typedef struct VGPU_FB_GET_DYNAMIC_BLACKLISTED_PAGES_v1A_07
{
NV2080_CTRL_FB_GET_DYNAMIC_OFFLINED_PAGES_PARAMS_v18_14 fbDynamicBlacklistedPages[MAX_ITERATIONS_DYNAMIC_BLACKLIST];
} VGPU_FB_GET_DYNAMIC_BLACKLISTED_PAGES_v1A_07;
typedef VGPU_FB_GET_DYNAMIC_BLACKLISTED_PAGES_v1A_07 VGPU_FB_GET_DYNAMIC_BLACKLISTED_PAGES_v;
typedef struct VGPU_FB_GET_LTC_INFO_FOR_FBP_v1A_0D
{
NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS_v15_03 fbLtcInfoForFbp[MAX_FBPS];
} VGPU_FB_GET_LTC_INFO_FOR_FBP_v1A_0D;
typedef VGPU_FB_GET_LTC_INFO_FOR_FBP_v1A_0D VGPU_FB_GET_LTC_INFO_FOR_FBP_v;
typedef struct NV2080_CTRL_BUS_INFO_v1A_0F
{
NvU32 index;
NvU32 data;
} NV2080_CTRL_BUS_INFO_v1A_0F;
typedef NV2080_CTRL_BUS_INFO_v1A_0F NV2080_CTRL_BUS_INFO_v;
typedef struct NV2080_CTRL_BUS_GET_INFO_V2_PARAMS_v1C_09
{
NvU32 busInfoListSize;
NV2080_CTRL_BUS_INFO_v1A_0F busInfoList[NV2080_CTRL_BUS_INFO_MAX_LIST_SIZE_v1C_09];
} NV2080_CTRL_BUS_GET_INFO_V2_PARAMS_v1C_09;
typedef NV2080_CTRL_BUS_GET_INFO_V2_PARAMS_v1C_09 NV2080_CTRL_BUS_GET_INFO_V2_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_GR_INFO_v1B_04
{
NvU32 index;
NvU32 data;
} NV2080_CTRL_INTERNAL_GR_INFO_v1B_04;
typedef NV2080_CTRL_INTERNAL_GR_INFO_v1B_04 NV2080_CTRL_INTERNAL_GR_INFO_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_INFO_v24_07
{
NV2080_CTRL_INTERNAL_GR_INFO_v1B_04 infoList[NV0080_CTRL_GR_INFO_MAX_SIZE_24_07];
} NV2080_CTRL_INTERNAL_STATIC_GR_INFO_v24_07;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_INFO_v24_07 NV2080_CTRL_INTERNAL_STATIC_GR_INFO_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_INFO_PARAMS_v24_07
{
NV2080_CTRL_INTERNAL_STATIC_GR_INFO_v24_07 engineInfo[NV2080_CTRL_INTERNAL_GR_MAX_ENGINES_1B_04];
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_INFO_PARAMS_v24_07;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_INFO_PARAMS_v24_07 NV2080_CTRL_INTERNAL_STATIC_GR_GET_INFO_PARAMS_v;
typedef struct GLOBAL_SM_ID_v1F_01
{
NvU16 gpcId;
NvU16 localTpcId;
NvU16 localSmId;
NvU16 globalTpcId;
NvU16 virtualGpcId;
NvU16 migratableTpcId;
} GLOBAL_SM_ID_v1F_01;
typedef GLOBAL_SM_ID_v1F_01 GLOBAL_SM_ID_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GLOBAL_SM_ORDER_v1F_01
{
GLOBAL_SM_ID_v1F_01 globalSmId[NV2080_CTRL_INTERNAL_GR_MAX_SM_v1E_03];
NvU16 numSm;
NvU16 numTpc;
} NV2080_CTRL_INTERNAL_STATIC_GR_GLOBAL_SM_ORDER_v1F_01;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GLOBAL_SM_ORDER_v1F_01 NV2080_CTRL_INTERNAL_STATIC_GR_GLOBAL_SM_ORDER_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_GLOBAL_SM_ORDER_PARAMS_v1F_01
{
NV2080_CTRL_INTERNAL_STATIC_GR_GLOBAL_SM_ORDER_v1F_01 globalSmOrder[NV2080_CTRL_INTERNAL_GR_MAX_ENGINES_1B_04];
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_GLOBAL_SM_ORDER_PARAMS_v1F_01;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_GLOBAL_SM_ORDER_PARAMS_v1F_01 NV2080_CTRL_INTERNAL_STATIC_GR_GET_GLOBAL_SM_ORDER_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_ROP_INFO_v1B_05
{
NvU32 ropUnitCount;
NvU32 ropOperationsFactor;
NvU32 ropOperationsCount;
} NV2080_CTRL_INTERNAL_STATIC_GR_ROP_INFO_v1B_05;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_ROP_INFO_v1B_05 NV2080_CTRL_INTERNAL_STATIC_GR_ROP_INFO_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_ROP_INFO_PARAMS_v1B_05
{
NV2080_CTRL_INTERNAL_STATIC_GR_ROP_INFO_v1B_05 engineRopInfo[NV2080_CTRL_INTERNAL_GR_MAX_ENGINES_1B_04];
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_ROP_INFO_PARAMS_v1B_05;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_ROP_INFO_PARAMS_v1B_05 NV2080_CTRL_INTERNAL_STATIC_GR_GET_ROP_INFO_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_PPC_MASKS_v1C_06
{
NvU32 mask[NV2080_CTRL_INTERNAL_GR_MAX_GPC_v1C_03];
} NV2080_CTRL_INTERNAL_STATIC_GR_PPC_MASKS_v1C_06;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_PPC_MASKS_v1C_06 NV2080_CTRL_INTERNAL_STATIC_GR_PPC_MASKS_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_PPC_MASKS_PARAMS_v1C_06
{
NV2080_CTRL_INTERNAL_STATIC_GR_PPC_MASKS_v1C_06 enginePpcMasks[NV2080_CTRL_INTERNAL_GR_MAX_ENGINES_1B_04];
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_PPC_MASKS_PARAMS_v1C_06;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_PPC_MASKS_PARAMS_v1C_06 NV2080_CTRL_INTERNAL_STATIC_GR_GET_PPC_MASKS_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_ENGINE_CONTEXT_BUFFER_INFO_v1B_05
{
NvU32 size;
NvU32 alignment;
} NV2080_CTRL_INTERNAL_ENGINE_CONTEXT_BUFFER_INFO_v1B_05;
typedef NV2080_CTRL_INTERNAL_ENGINE_CONTEXT_BUFFER_INFO_v1B_05 NV2080_CTRL_INTERNAL_ENGINE_CONTEXT_BUFFER_INFO_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_CONTEXT_BUFFERS_INFO_v25_07
{
NV2080_CTRL_INTERNAL_ENGINE_CONTEXT_BUFFER_INFO_v1B_05 engine[NV2080_CTRL_INTERNAL_ENGINE_CONTEXT_PROPERTIES_ENGINE_ID_COUNT_v25_07];
} NV2080_CTRL_INTERNAL_STATIC_GR_CONTEXT_BUFFERS_INFO_v25_07;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_CONTEXT_BUFFERS_INFO_v25_07 NV2080_CTRL_INTERNAL_STATIC_GR_CONTEXT_BUFFERS_INFO_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_CONTEXT_BUFFERS_INFO_PARAMS_v25_07
{
NV2080_CTRL_INTERNAL_STATIC_GR_CONTEXT_BUFFERS_INFO_v25_07 engineContextBuffersInfo[NV2080_CTRL_INTERNAL_GR_MAX_ENGINES_1B_04];
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_CONTEXT_BUFFERS_INFO_PARAMS_v25_07;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_CONTEXT_BUFFERS_INFO_PARAMS_v25_07 NV2080_CTRL_INTERNAL_STATIC_GR_GET_CONTEXT_BUFFERS_INFO_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_SM_ISSUE_RATE_MODIFIER_v1B_05
{
NvU8 imla0;
NvU8 fmla16;
NvU8 dp;
NvU8 fmla32;
NvU8 ffma;
NvU8 imla1;
NvU8 imla2;
NvU8 imla3;
NvU8 imla4;
} NV2080_CTRL_INTERNAL_STATIC_GR_SM_ISSUE_RATE_MODIFIER_v1B_05;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_SM_ISSUE_RATE_MODIFIER_v1B_05 NV2080_CTRL_INTERNAL_STATIC_GR_SM_ISSUE_RATE_MODIFIER_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS_v1B_05
{
NV2080_CTRL_INTERNAL_STATIC_GR_SM_ISSUE_RATE_MODIFIER_v1B_05 smIssueRateModifier[NV2080_CTRL_INTERNAL_GR_MAX_ENGINES_1B_04];
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS_v1B_05;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS_v1B_05 NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_FLOORSWEEPING_MASKS_v1D_03
{
NvU32 gpcMask;
NvU32 tpcMask[NV2080_CTRL_INTERNAL_GR_MAX_GPC_v1C_03];
NvU32 tpcCount[NV2080_CTRL_INTERNAL_GR_MAX_GPC_v1C_03];
NvU32 physGpcMask;
NvU32 mmuPerGpc[NV2080_CTRL_INTERNAL_GR_MAX_GPC_v1C_03];
NvU32 tpcToPesMap[NV2080_CTRL_INTERNAL_MAX_TPC_PER_GPC_COUNT_v1C_03];
NvU32 numPesPerGpc[NV2080_CTRL_INTERNAL_GR_MAX_GPC_v1C_03];
NvU32 zcullMask[NV2080_CTRL_INTERNAL_GR_MAX_GPC_v1C_03];
} NV2080_CTRL_INTERNAL_STATIC_GR_FLOORSWEEPING_MASKS_v1D_03;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_FLOORSWEEPING_MASKS_v1D_03 NV2080_CTRL_INTERNAL_STATIC_GR_FLOORSWEEPING_MASKS_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_FLOORSWEEPING_MASKS_PARAMS_v1D_03
{
NV2080_CTRL_INTERNAL_STATIC_GR_FLOORSWEEPING_MASKS_v1D_03 floorsweepingMasks[NV2080_CTRL_INTERNAL_GR_MAX_ENGINES_1B_04];
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_FLOORSWEEPING_MASKS_PARAMS_v1D_03;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_FLOORSWEEPING_MASKS_PARAMS_v1D_03 NV2080_CTRL_INTERNAL_STATIC_GR_GET_FLOORSWEEPING_MASKS_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_ZCULL_INFO_v1B_05
{
NvU32 widthAlignPixels;
NvU32 heightAlignPixels;
NvU32 pixelSquaresByAliquots;
NvU32 aliquotTotal;
NvU32 zcullRegionByteMultiplier;
NvU32 zcullRegionHeaderSize;
NvU32 zcullSubregionHeaderSize;
NvU32 subregionCount;
NvU32 subregionWidthAlignPixels;
NvU32 subregionHeightAlignPixels;
} NV2080_CTRL_INTERNAL_STATIC_GR_ZCULL_INFO_v1B_05;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_ZCULL_INFO_v1B_05 NV2080_CTRL_INTERNAL_STATIC_GR_ZCULL_INFO_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_ZCULL_INFO_PARAMS_v1B_05
{
NV2080_CTRL_INTERNAL_STATIC_GR_ZCULL_INFO_v1B_05 engineZcullInfo[NV2080_CTRL_INTERNAL_GR_MAX_ENGINES_1B_04];
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_ZCULL_INFO_PARAMS_v1B_05;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_ZCULL_INFO_PARAMS_v1B_05 NV2080_CTRL_INTERNAL_STATIC_GR_GET_ZCULL_INFO_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_v1B_05
{
NvU32 fecsRecordSize;
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_v1B_05;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_v1B_05 NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_PARAMS_v1B_05
{
NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_v1B_05 fecsRecordSize[NV2080_CTRL_INTERNAL_GR_MAX_ENGINES_1B_04];
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_PARAMS_v1B_05;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_PARAMS_v1B_05 NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_v1D_04
{
NvU32 fecsRecordSize;
NvU32 timestampHiTagMask;
NvU8 timestampHiTagShift;
NvU64 timestampVMask NV_ALIGN_BYTES(8);
NvU8 numLowerBitsZeroShift;
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_v1D_04;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_v1D_04 NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_PARAMS_v1D_04
{
NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_v1D_04 fecsTraceDefines[NV2080_CTRL_INTERNAL_GR_MAX_ENGINES_1B_04];
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_PARAMS_v1D_04;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_PARAMS_v1D_04 NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_PDB_PROPERTIES_v1E_02
{
NvBool bPerSubCtxheaderSupported;
} NV2080_CTRL_INTERNAL_STATIC_GR_PDB_PROPERTIES_v1E_02;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_PDB_PROPERTIES_v1E_02 NV2080_CTRL_INTERNAL_STATIC_GR_PDB_PROPERTIES_v;
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_GET_PDB_PROPERTIES_PARAMS_v1E_02
{
NV2080_CTRL_INTERNAL_STATIC_GR_PDB_PROPERTIES_v1E_02 pdbTable[NV2080_CTRL_INTERNAL_GR_MAX_ENGINES_1B_04];
} NV2080_CTRL_INTERNAL_STATIC_GR_GET_PDB_PROPERTIES_PARAMS_v1E_02;
typedef NV2080_CTRL_INTERNAL_STATIC_GR_GET_PDB_PROPERTIES_PARAMS_v1E_02 NV2080_CTRL_INTERNAL_STATIC_GR_GET_PDB_PROPERTIES_PARAMS_v;
typedef struct NVB0CC_CTRL_RESERVE_HWPM_LEGACY_PARAMS_v1A_0F
{
NvBool ctxsw;
} NVB0CC_CTRL_RESERVE_HWPM_LEGACY_PARAMS_v1A_0F;
typedef NVB0CC_CTRL_RESERVE_HWPM_LEGACY_PARAMS_v1A_0F NVB0CC_CTRL_RESERVE_HWPM_LEGACY_PARAMS_v;
typedef struct NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS_v1A_0F
{
NvBool ctxsw;
} NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS_v1A_0F;
typedef NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS_v1A_0F NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS_v;
typedef struct NVB0CC_CTRL_EXEC_REG_OPS_PARAMS_v1A_0F
{
NvU32 regOpCount;
NVB0CC_REGOPS_MODE mode;
NvBool bPassed;
NvBool bDirect;
NV2080_CTRL_GPU_REG_OP_v03_00 regOps[NVB0CC_REGOPS_MAX_COUNT];
} NVB0CC_CTRL_EXEC_REG_OPS_PARAMS_v1A_0F;
typedef NVB0CC_CTRL_EXEC_REG_OPS_PARAMS_v1A_0F NVB0CC_CTRL_EXEC_REG_OPS_PARAMS_v;
typedef struct NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS_v1A_14
{
NvHandle hMemPmaBuffer;
NvU64 pmaBufferOffset NV_ALIGN_BYTES(8);
NvU64 pmaBufferSize NV_ALIGN_BYTES(8);
NvHandle hMemPmaBytesAvailable;
NvU64 pmaBytesAvailableOffset NV_ALIGN_BYTES(8);
NvBool ctxsw;
NvU32 pmaChannelIdx;
NvU64 pmaBufferVA NV_ALIGN_BYTES(8);
} NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS_v1A_14;
typedef NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS_v1A_14 NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS_v;
typedef struct NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS_v1A_14
{
NvU64 bytesConsumed NV_ALIGN_BYTES(8);
NvBool bUpdateAvailableBytes;
NvBool bWait;
NvU64 bytesAvailable NV_ALIGN_BYTES(8);
NvBool bReturnPut;
NvU64 putPtr NV_ALIGN_BYTES(8);
NvU32 pmaChannelIdx;
} NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS_v1A_14;
typedef NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS_v1A_14 NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS_v;
typedef struct NV2080_CTRL_FB_INFO_v1A_15
{
NvU32 index;
NvU32 data;
} NV2080_CTRL_FB_INFO_v1A_15;
typedef NV2080_CTRL_FB_INFO_v1A_15 NV2080_CTRL_FB_INFO_v;
typedef struct NV2080_CTRL_FB_GET_INFO_V2_PARAMS_v25_0A
{
NvU32 fbInfoListSize;
NV2080_CTRL_FB_INFO_v1A_15 fbInfoList[NV2080_CTRL_FB_INFO_MAX_LIST_SIZE_24_0A];
} NV2080_CTRL_FB_GET_INFO_V2_PARAMS_v25_0A;
typedef struct NV2080_CTRL_FB_GET_INFO_V2_PARAMS_v27_00
{
NvU32 fbInfoListSize;
NV2080_CTRL_FB_INFO_v1A_15 fbInfoList[NV2080_CTRL_FB_INFO_MAX_LIST_SIZE_27_00];
} NV2080_CTRL_FB_GET_INFO_V2_PARAMS_v27_00;
typedef NV2080_CTRL_FB_GET_INFO_V2_PARAMS_v27_00 NV2080_CTRL_FB_GET_INFO_V2_PARAMS_v;
typedef struct NV2080_CTRL_KGR_GET_CTX_BUFFER_PTES_PARAMS_v1A_1A
{
NvHandle hUserClient;
NvHandle hChannel;
NvU32 bufferType;
NvU32 firstPage;
NvU32 numPages;
NvU64 physAddrs[NV2080_CTRL_KGR_MAX_BUFFER_PTES] NV_ALIGN_BYTES(8);
NvBool bNoMorePages;
} NV2080_CTRL_KGR_GET_CTX_BUFFER_PTES_PARAMS_v1A_1A;
typedef NV2080_CTRL_KGR_GET_CTX_BUFFER_PTES_PARAMS_v1A_1A NV2080_CTRL_KGR_GET_CTX_BUFFER_PTES_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_INVALID_QUERY_PARAMS_v1A_1D
{
NvU8 data[NV2080_CTRL_FB_FS_INFO_MAX_QUERY_SIZE_v1A_1D];
} NV2080_CTRL_FB_FS_INFO_INVALID_QUERY_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_INVALID_QUERY_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_INVALID_QUERY_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_FBP_MASK_PARAMS_v1A_1D
{
NvU32 swizzId;
NvU64 fbpEnMask NV_ALIGN_BYTES(8);
} NV2080_CTRL_FB_FS_INFO_FBP_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_FBP_MASK_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_FBP_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_LTC_MASK_PARAMS_v1A_1D
{
NvU32 fbpIndex;
NvU32 ltcEnMask;
} NV2080_CTRL_FB_FS_INFO_LTC_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_LTC_MASK_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_LTC_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_LTS_MASK_PARAMS_v1A_1D
{
NvU32 fbpIndex;
NvU32 ltsEnMask;
} NV2080_CTRL_FB_FS_INFO_LTS_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_LTS_MASK_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_LTS_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_FBPA_MASK_PARAMS_v1A_1D
{
NvU32 fbpIndex;
NvU32 fbpaEnMask;
} NV2080_CTRL_FB_FS_INFO_FBPA_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_FBPA_MASK_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_FBPA_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_ROP_MASK_PARAMS_v1A_1D
{
NvU32 fbpIndex;
NvU32 ropEnMask;
} NV2080_CTRL_FB_FS_INFO_ROP_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_ROP_MASK_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_ROP_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK_PARAMS_v1A_1D
{
NvU32 fbpIndex;
NvU32 swizzId;
NvU32 ltcEnMask;
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK_PARAMS_v1A_1D
{
NvU32 fbpIndex;
NvU32 swizzId;
NvU32 ltsEnMask;
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK_PARAMS_v1A_1D
{
NvU32 fbpIndex;
NvU32 swizzId;
NvU32 fbpaEnMask;
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK_PARAMS_v1A_1D
{
NvU32 fbpIndex;
NvU32 swizzId;
NvU32 ropEnMask;
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK_PARAMS_v1A_1D
{
NvU32 fbpIndex;
NvU32 swizzId;
NvU64 fbpaSubpEnMask NV_ALIGN_BYTES(8);
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK_PARAMS_v1A_1D
{
NvU32 fbpIndex;
NvU32 fbpaSubpEnMask;
} NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP_PARAMS_v1A_1D
{
NvU32 fbpIndex;
NvU32 fbpLogicalIndex;
} NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP_PARAMS_v1A_1D;
typedef NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP_PARAMS_v1A_1D NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP_PARAMS_v;
typedef struct NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK_PARAMS_v26_04
{
NvU32 sysIdx;
NvU32 sysl2LtcEnMask;
} NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK_PARAMS_v26_04;
typedef NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK_PARAMS_v26_04 NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_PAC_MASK_PARAMS_v26_04
{
NvU32 fbpIndex;
NvU32 pacEnMask;
} NV2080_CTRL_FB_FS_INFO_PAC_MASK_PARAMS_v26_04;
typedef NV2080_CTRL_FB_FS_INFO_PAC_MASK_PARAMS_v26_04 NV2080_CTRL_FB_FS_INFO_PAC_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_LOGICAL_LTC_MASK_PARAMS_v26_04
{
NvU32 fbpIndex;
NvU64 logicalLtcEnMask NV_ALIGN_BYTES(8);
} NV2080_CTRL_FB_FS_INFO_LOGICAL_LTC_MASK_PARAMS_v26_04;
typedef NV2080_CTRL_FB_FS_INFO_LOGICAL_LTC_MASK_PARAMS_v26_04 NV2080_CTRL_FB_FS_INFO_LOGICAL_LTC_MASK_PARAMS_v;
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LOGICAL_LTC_MASK_PARAMS_v26_04
{
NvU32 fbpIndex;
NvU32 swizzId;
NvU64 logicalLtcEnMask NV_ALIGN_BYTES(8);
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LOGICAL_LTC_MASK_PARAMS_v26_04;
typedef NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LOGICAL_LTC_MASK_PARAMS_v26_04 NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LOGICAL_LTC_MASK_PARAMS_v;
typedef union NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v1A_1D
{
NV2080_CTRL_FB_FS_INFO_INVALID_QUERY_PARAMS_v1A_1D inv;
NV2080_CTRL_FB_FS_INFO_FBP_MASK_PARAMS_v1A_1D fbp;
NV2080_CTRL_FB_FS_INFO_LTC_MASK_PARAMS_v1A_1D ltc;
NV2080_CTRL_FB_FS_INFO_LTS_MASK_PARAMS_v1A_1D lts;
NV2080_CTRL_FB_FS_INFO_FBPA_MASK_PARAMS_v1A_1D fbpa;
NV2080_CTRL_FB_FS_INFO_ROP_MASK_PARAMS_v1A_1D rop;
NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK_PARAMS_v1A_1D dmLtc;
NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK_PARAMS_v1A_1D dmLts;
NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK_PARAMS_v1A_1D dmFbpa;
NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK_PARAMS_v1A_1D dmRop;
NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK_PARAMS_v1A_1D dmFbpaSubp;
NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK_PARAMS_v1A_1D fbpaSubp;
NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP_PARAMS_v1A_1D fbpLogicalMap;
} NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v1A_1D;
typedef union NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v26_04
{
NV2080_CTRL_FB_FS_INFO_INVALID_QUERY_PARAMS_v1A_1D inv;
NV2080_CTRL_FB_FS_INFO_FBP_MASK_PARAMS_v1A_1D fbp;
NV2080_CTRL_FB_FS_INFO_LTC_MASK_PARAMS_v1A_1D ltc;
NV2080_CTRL_FB_FS_INFO_LTS_MASK_PARAMS_v1A_1D lts;
NV2080_CTRL_FB_FS_INFO_FBPA_MASK_PARAMS_v1A_1D fbpa;
NV2080_CTRL_FB_FS_INFO_ROP_MASK_PARAMS_v1A_1D rop;
NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK_PARAMS_v1A_1D dmLtc;
NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK_PARAMS_v1A_1D dmLts;
NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK_PARAMS_v1A_1D dmFbpa;
NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK_PARAMS_v1A_1D dmRop;
NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK_PARAMS_v1A_1D dmFbpaSubp;
NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK_PARAMS_v1A_1D fbpaSubp;
NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP_PARAMS_v1A_1D fbpLogicalMap;
NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK_PARAMS_v26_04 sysl2Ltc;
NV2080_CTRL_FB_FS_INFO_PAC_MASK_PARAMS_v26_04 pac;
NV2080_CTRL_FB_FS_INFO_LOGICAL_LTC_MASK_PARAMS_v26_04 logicalLtc;
NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LOGICAL_LTC_MASK_PARAMS_v26_04 dmLogicalLtc;
} NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v26_04;
typedef NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v26_04 NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v;
typedef struct NV2080_CTRL_FB_FS_INFO_QUERY_v1A_1D
{
NvU16 queryType;
NvU8 reserved[2];
NvU32 status;
NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v1A_1D queryParams;
} NV2080_CTRL_FB_FS_INFO_QUERY_v1A_1D;
typedef struct NV2080_CTRL_FB_FS_INFO_QUERY_v26_04
{
NvU16 queryType;
NvU8 reserved[2];
NvU32 status;
NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v26_04 queryParams;
} NV2080_CTRL_FB_FS_INFO_QUERY_v26_04;
typedef NV2080_CTRL_FB_FS_INFO_QUERY_v26_04 NV2080_CTRL_FB_FS_INFO_QUERY_v;
typedef struct NV2080_CTRL_FB_GET_FS_INFO_PARAMS_v24_00
{
NvU16 numQueries;
NvU8 reserved[6];
NV2080_CTRL_FB_FS_INFO_QUERY_v1A_1D queries[NV2080_CTRL_FB_FS_INFO_MAX_QUERIES_v24_00];
} NV2080_CTRL_FB_GET_FS_INFO_PARAMS_v24_00;
typedef struct NV2080_CTRL_FB_GET_FS_INFO_PARAMS_v26_04
{
NvU16 numQueries;
NvU8 reserved[6];
NV2080_CTRL_FB_FS_INFO_QUERY_v26_04 queries[NV2080_CTRL_FB_FS_INFO_MAX_QUERIES_v24_00];
} NV2080_CTRL_FB_GET_FS_INFO_PARAMS_v26_04;
typedef NV2080_CTRL_FB_GET_FS_INFO_PARAMS_v26_04 NV2080_CTRL_FB_GET_FS_INFO_PARAMS_v;
typedef struct NV2080_CTRL_GRMGR_GR_FS_INFO_GPC_COUNT_PARAMS_v1A_1D
{
NvU32 gpcCount;
} NV2080_CTRL_GRMGR_GR_FS_INFO_GPC_COUNT_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_GPC_COUNT_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_GPC_COUNT_PARAMS_v;
typedef struct NV2080_CTRL_GRMGR_GR_FS_INFO_CHIPLET_GPC_MAP_PARAMS_v1A_1D
{
NvU32 gpcId;
NvU32 chipletGpcMap;
} NV2080_CTRL_GRMGR_GR_FS_INFO_CHIPLET_GPC_MAP_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_CHIPLET_GPC_MAP_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_CHIPLET_GPC_MAP_PARAMS_v;
typedef struct NV2080_CTRL_GRMGR_GR_FS_INFO_TPC_MASK_PARAMS_v1A_1D
{
NvU32 gpcId;
NvU32 tpcMask;
} NV2080_CTRL_GRMGR_GR_FS_INFO_TPC_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_TPC_MASK_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_TPC_MASK_PARAMS_v;
typedef struct NV2080_CTRL_GRMGR_GR_FS_INFO_PPC_MASK_PARAMS_v1A_1D
{
NvU32 gpcId;
NvU32 ppcMask;
} NV2080_CTRL_GRMGR_GR_FS_INFO_PPC_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_PPC_MASK_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_PPC_MASK_PARAMS_v;
typedef struct NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_CHIPLET_GPC_MAP_PARAMS_v1A_1D
{
NvU32 swizzId;
NvU32 gpcId;
NvU32 chipletGpcMap;
} NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_CHIPLET_GPC_MAP_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_CHIPLET_GPC_MAP_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_CHIPLET_GPC_MAP_PARAMS_v;
typedef struct NV2080_CTRL_GRMGR_GR_FS_INFO_CHIPLET_SYSPIPE_MASK_PARAMS_v1A_1D
{
NvU32 chipletSyspipeMask;
} NV2080_CTRL_GRMGR_GR_FS_INFO_CHIPLET_SYSPIPE_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_CHIPLET_SYSPIPE_MASK_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_CHIPLET_SYSPIPE_MASK_PARAMS_v;
typedef struct NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_CHIPLET_SYSPIPE_IDS_PARAMS_v1A_1D
{
NvU16 swizzId;
NvU16 physSyspipeIdCount;
NvU8 physSyspipeId[NV2080_CTRL_GRMGR_MAX_SMC_IDS_v1A_1D];
} NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_CHIPLET_SYSPIPE_IDS_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_CHIPLET_SYSPIPE_IDS_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_CHIPLET_SYSPIPE_IDS_PARAMS_v;
typedef struct NV2080_CTRL_GRMGR_GR_FS_INFO_PROFILER_MON_GPC_MASK_PARAMS_v1A_1D
{
NvU32 swizzId;
NvU32 grIdx;
NvU32 gpcEnMask;
} NV2080_CTRL_GRMGR_GR_FS_INFO_PROFILER_MON_GPC_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_PROFILER_MON_GPC_MASK_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_PROFILER_MON_GPC_MASK_PARAMS_v;
typedef struct NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_SYSPIPE_ID_PARAMS_v1A_1D
{
NvU32 syspipeId;
} NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_SYSPIPE_ID_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_SYSPIPE_ID_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_SYSPIPE_ID_PARAMS_v;
typedef struct NV2080_CTRL_GRMGR_GR_FS_INFO_ROP_MASK_PARAMS_v1A_1D
{
NvU32 gpcId;
NvU32 ropMask;
} NV2080_CTRL_GRMGR_GR_FS_INFO_ROP_MASK_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_ROP_MASK_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_ROP_MASK_PARAMS_v;
typedef union NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_DATA_v1A_1D
{
NV2080_CTRL_GRMGR_GR_FS_INFO_GPC_COUNT_PARAMS_v1A_1D gpcCountData;
NV2080_CTRL_GRMGR_GR_FS_INFO_CHIPLET_GPC_MAP_PARAMS_v1A_1D chipletGpcMapData;
NV2080_CTRL_GRMGR_GR_FS_INFO_TPC_MASK_PARAMS_v1A_1D tpcMaskData;
NV2080_CTRL_GRMGR_GR_FS_INFO_PPC_MASK_PARAMS_v1A_1D ppcMaskData;
NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_CHIPLET_GPC_MAP_PARAMS_v1A_1D partitionGpcMapData;
NV2080_CTRL_GRMGR_GR_FS_INFO_CHIPLET_SYSPIPE_MASK_PARAMS_v1A_1D syspipeMaskData;
NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_CHIPLET_SYSPIPE_IDS_PARAMS_v1A_1D partitionChipletSyspipeData;
NV2080_CTRL_GRMGR_GR_FS_INFO_PROFILER_MON_GPC_MASK_PARAMS_v1A_1D dmGpcMaskData;
NV2080_CTRL_GRMGR_GR_FS_INFO_PARTITION_SYSPIPE_ID_PARAMS_v1A_1D partitionSyspipeIdData;
NV2080_CTRL_GRMGR_GR_FS_INFO_ROP_MASK_PARAMS_v1A_1D ropMaskData;
} NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_DATA_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_DATA_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_DATA_v;
typedef struct NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PARAMS_v1A_1D
{
NvU16 queryType;
NvU8 reserved[2];
NvU32 status;
NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_DATA_v1A_1D queryData;
} NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PARAMS_v;
typedef struct NV2080_CTRL_GRMGR_GET_GR_FS_INFO_PARAMS_v1A_1D
{
NvU16 numQueries;
NvU8 reserved[6];
NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PARAMS_v1A_1D queries[NV2080_CTRL_GRMGR_GR_FS_INFO_MAX_QUERIES_v1A_1D];
} NV2080_CTRL_GRMGR_GET_GR_FS_INFO_PARAMS_v1A_1D;
typedef NV2080_CTRL_GRMGR_GET_GR_FS_INFO_PARAMS_v1A_1D NV2080_CTRL_GRMGR_GET_GR_FS_INFO_PARAMS_v;
typedef struct NVA06F_CTRL_STOP_CHANNEL_PARAMS_v1A_1E
{
NvBool bImmediate;
} NVA06F_CTRL_STOP_CHANNEL_PARAMS_v1A_1E;
typedef NVA06F_CTRL_STOP_CHANNEL_PARAMS_v1A_1E NVA06F_CTRL_STOP_CHANNEL_PARAMS_v;
typedef struct NV2080_CTRL_GR_PC_SAMPLING_MODE_PARAMS_v1A_1F
{
NvHandle hChannel;
NvU32 samplingMode;
NV2080_CTRL_GR_ROUTE_INFO_v12_01 grRouteInfo;
} NV2080_CTRL_GR_PC_SAMPLING_MODE_PARAMS_v1A_1F;
typedef NV2080_CTRL_GR_PC_SAMPLING_MODE_PARAMS_v1A_1F NV2080_CTRL_GR_PC_SAMPLING_MODE_PARAMS_v;
typedef struct NV2080_CTRL_CMD_TIMER_SET_GR_TICK_FREQ_PARAMS_v1A_1F
{
NvBool bSetMaxFreq;
} NV2080_CTRL_CMD_TIMER_SET_GR_TICK_FREQ_PARAMS_v1A_1F;
typedef NV2080_CTRL_CMD_TIMER_SET_GR_TICK_FREQ_PARAMS_v1A_1F NV2080_CTRL_CMD_TIMER_SET_GR_TICK_FREQ_PARAMS_v;
typedef struct PERF_RATED_TDP_RM_INTERNAL_STATE_STRUCT_v1A_1F
{
NvU32 clientActiveMask;
NvU8 bRegkeyLimitRatedTdp;
} PERF_RATED_TDP_RM_INTERNAL_STATE_STRUCT_v1A_1F;
typedef PERF_RATED_TDP_RM_INTERNAL_STATE_STRUCT_v1A_1F PERF_RATED_TDP_RM_INTERNAL_STATE_STRUCT_v;
typedef struct NV2080_CTRL_PERF_RATED_TDP_STATUS_PARAMS_v1A_1F
{
PERF_RATED_TDP_RM_INTERNAL_STATE_STRUCT_v1A_1F rm;
NV2080_CTRL_PERF_RATED_TDP_ACTION output;
NV2080_CTRL_PERF_RATED_TDP_ACTION inputs[NV2080_CTRL_PERF_RATED_TDP_CLIENT_NUM_CLIENTS_v1A_1F];
} NV2080_CTRL_PERF_RATED_TDP_STATUS_PARAMS_v1A_1F;
typedef NV2080_CTRL_PERF_RATED_TDP_STATUS_PARAMS_v1A_1F NV2080_CTRL_PERF_RATED_TDP_STATUS_PARAMS_v;
typedef struct NV2080_CTRL_PERF_RATED_TDP_CONTROL_PARAMS_v1A_1F
{
NV2080_CTRL_PERF_RATED_TDP_CLIENT client;
NV2080_CTRL_PERF_RATED_TDP_ACTION input;
} NV2080_CTRL_PERF_RATED_TDP_CONTROL_PARAMS_v1A_1F;
typedef NV2080_CTRL_PERF_RATED_TDP_CONTROL_PARAMS_v1A_1F NV2080_CTRL_PERF_RATED_TDP_CONTROL_PARAMS_v;
typedef struct NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS_v1A_1F
{
NvU32 pmaChannelIdx;
} NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS_v1A_1F;
typedef NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS_v1A_1F NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS_v;
typedef struct NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS_v1A_1F
{
NV2080_CTRL_GR_ROUTE_INFO_v12_01 grRouteInfo;
NvU8 imla0;
NvU8 fmla16;
NvU8 dp;
NvU8 fmla32;
NvU8 ffma;
NvU8 imla1;
NvU8 imla2;
NvU8 imla3;
NvU8 imla4;
} NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS_v1A_1F;
typedef NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS_v1A_1F NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS_v;
typedef struct NV2080_CTRL_FIFO_SETUP_VF_ZOMBIE_SUBCTX_PDB_PARAMS_v1A_23
{
NvU64 base NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
NvU32 addressSpace;
NvU32 cacheAttrib;
} NV2080_CTRL_FIFO_SETUP_VF_ZOMBIE_SUBCTX_PDB_PARAMS_v1A_23;
typedef NV2080_CTRL_FIFO_SETUP_VF_ZOMBIE_SUBCTX_PDB_PARAMS_v1A_23 NV2080_CTRL_FIFO_SETUP_VF_ZOMBIE_SUBCTX_PDB_PARAMS_v;
typedef struct NV83DE_CTRL_DEBUG_SET_SINGLE_SM_SINGLE_STEP_PARAMS_v1C_02
{
NvU32 smID;
NvBool bSingleStep;
} NV83DE_CTRL_DEBUG_SET_SINGLE_SM_SINGLE_STEP_PARAMS_v1C_02;
typedef NV83DE_CTRL_DEBUG_SET_SINGLE_SM_SINGLE_STEP_PARAMS_v1C_02 NV83DE_CTRL_DEBUG_SET_SINGLE_SM_SINGLE_STEP_PARAMS_v;
typedef struct NV0080_CTRL_GR_TPC_PARTITION_MODE_PARAMS_v1C_04
{
NvHandle hChannelGroup;
NV0080_CTRL_GR_TPC_PARTITION_MODE mode;
NvBool bEnableAllTpcs;
NV2080_CTRL_GR_ROUTE_INFO_v12_01 grRouteInfo;
} NV0080_CTRL_GR_TPC_PARTITION_MODE_PARAMS_v1C_04;
typedef NV0080_CTRL_GR_TPC_PARTITION_MODE_PARAMS_v1C_04 NV0080_CTRL_GR_TPC_PARTITION_MODE_PARAMS_v;
typedef struct NVB0CC_CTRL_INTERNAL_QUIESCE_PMA_CHANNEL_PARAMS_v1C_08
{
NvU32 pmaChannelIdx;
NvBool bMembytesPollingRequired;
} NVB0CC_CTRL_INTERNAL_QUIESCE_PMA_CHANNEL_PARAMS_v1C_08;
typedef NVB0CC_CTRL_INTERNAL_QUIESCE_PMA_CHANNEL_PARAMS_v1C_08 NVB0CC_CTRL_INTERNAL_QUIESCE_PMA_CHANNEL_PARAMS_v;
typedef struct NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS_v1C_0C
{
NvU32 pmaChannelIdx;
NvU64 pmaBufferVA NV_ALIGN_BYTES(8);
NvU64 pmaBufferSize NV_ALIGN_BYTES(8);
NvU64 membytesVA NV_ALIGN_BYTES(8);
NvU64 hwpmIBPA NV_ALIGN_BYTES(8);
NvU8 hwpmIBAperture;
} NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS_v1C_0C;
typedef NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS_v1C_0C NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS_v;
typedef struct NV0090_CTRL_GET_MMU_DEBUG_MODE_PARAMS_v1E_06
{
NvBool bMode;
} NV0090_CTRL_GET_MMU_DEBUG_MODE_PARAMS_v1E_06;
typedef NV0090_CTRL_GET_MMU_DEBUG_MODE_PARAMS_v1E_06 NV0090_CTRL_GET_MMU_DEBUG_MODE_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_MEMDESC_INFO_v1E_07
{
NvU64 base NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
NvU64 alignment NV_ALIGN_BYTES(8);
NvU32 addressSpace;
NvU32 cpuCacheAttrib;
} NV2080_CTRL_INTERNAL_MEMDESC_INFO_v1E_07;
typedef NV2080_CTRL_INTERNAL_MEMDESC_INFO_v1E_07 NV2080_CTRL_INTERNAL_MEMDESC_INFO_v;
typedef struct NVA06C_CTRL_INTERNAL_PROMOTE_FAULT_METHOD_BUFFERS_PARAMS_v1E_07
{
NV2080_CTRL_INTERNAL_MEMDESC_INFO_v1E_07 methodBufferMemdesc[NVA06C_CTRL_INTERNAL_PROMOTE_FAULT_METHOD_BUFFERS_MAX_RUNQUEUES_v1E_07];
NvU64 bar2Addr[NVA06C_CTRL_INTERNAL_PROMOTE_FAULT_METHOD_BUFFERS_MAX_RUNQUEUES_v1E_07] NV_ALIGN_BYTES(8);
NvU32 numValidEntries;
} NVA06C_CTRL_INTERNAL_PROMOTE_FAULT_METHOD_BUFFERS_PARAMS_v1E_07;
typedef NVA06C_CTRL_INTERNAL_PROMOTE_FAULT_METHOD_BUFFERS_PARAMS_v1E_07 NVA06C_CTRL_INTERNAL_PROMOTE_FAULT_METHOD_BUFFERS_PARAMS_v;
typedef struct NV2080_CTRL_FLCN_GET_CTX_BUFFER_SIZE_PARAMS_v1E_0A
{
NvHandle hChannel;
NvU64 totalBufferSize NV_ALIGN_BYTES(8);
} NV2080_CTRL_FLCN_GET_CTX_BUFFER_SIZE_PARAMS_v1E_0A;
typedef NV2080_CTRL_FLCN_GET_CTX_BUFFER_SIZE_PARAMS_v1E_0A NV2080_CTRL_FLCN_GET_CTX_BUFFER_SIZE_PARAMS_v;
typedef struct NV2080_CTRL_FLCN_GET_CTX_BUFFER_INFO_PARAMS_v1E_0A
{
NvHandle hUserClient;
NvHandle hChannel;
NvU64 alignment NV_ALIGN_BYTES(8);
NvU64 size NV_ALIGN_BYTES(8);
NvP64 bufferHandle NV_ALIGN_BYTES(8);
NvU64 pageCount NV_ALIGN_BYTES(8);
NvU64 physAddr NV_ALIGN_BYTES(8);
NvU32 aperture;
NvU32 kind;
NvU32 pageSize;
NvBool bIsContigous;
NvBool bDeviceDescendant;
NvU8 uuid[16];
} NV2080_CTRL_FLCN_GET_CTX_BUFFER_INFO_PARAMS_v1E_0A;
typedef NV2080_CTRL_FLCN_GET_CTX_BUFFER_INFO_PARAMS_v1E_0A NV2080_CTRL_FLCN_GET_CTX_BUFFER_INFO_PARAMS_v;
typedef struct NV2080_CTRL_CMD_INTERNAL_MEMSYS_SET_ZBC_REFERENCED_v1F_05
{
NvBool bZbcSurfacesExist;
} NV2080_CTRL_CMD_INTERNAL_MEMSYS_SET_ZBC_REFERENCED_v1F_05;
typedef NV2080_CTRL_CMD_INTERNAL_MEMSYS_SET_ZBC_REFERENCED_v1F_05 NV2080_CTRL_CMD_INTERNAL_MEMSYS_SET_ZBC_REFERENCED_v;
typedef struct NV00F8_CTRL_DESCRIBE_PARAMS_v1E_0C
{
NvU64 offset NV_ALIGN_BYTES(8);
NvU64 totalPfns NV_ALIGN_BYTES(8);
NvU32 pfnArray[NV00F8_CTRL_DESCRIBE_PFN_ARRAY_SIZE];
NvU32 numPfns;
} NV00F8_CTRL_DESCRIBE_PARAMS_v1E_0C;
typedef NV00F8_CTRL_DESCRIBE_PARAMS_v1E_0C NV00F8_CTRL_DESCRIBE_PARAMS_v;
typedef struct NV2080_CTRL_FLA_GET_FABRIC_MEM_STATS_PARAMS_v1E_0C
{
NvU64 totalSize NV_ALIGN_BYTES(8);
NvU64 freeSize NV_ALIGN_BYTES(8);
} NV2080_CTRL_FLA_GET_FABRIC_MEM_STATS_PARAMS_v1E_0C;
typedef NV2080_CTRL_FLA_GET_FABRIC_MEM_STATS_PARAMS_v1E_0C NV2080_CTRL_FLA_GET_FABRIC_MEM_STATS_PARAMS_v;
typedef struct ATOMIC_OP_v1F_08
{
NvBool bSupported;
NvU32 attributes;
} ATOMIC_OP_v1F_08;
typedef ATOMIC_OP_v1F_08 ATOMIC_OP_v;
typedef struct NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS_v1F_08
{
ATOMIC_OP_v1F_08 atomicOp[NV2080_CTRL_PCIE_SUPPORTED_GPU_ATOMICS_OP_TYPE_COUNT_v1F_08];
} NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS_v1F_08;
typedef NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS_v1F_08 NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS_v;
typedef struct NV2080_CTRL_GPU_P2P_PEER_CAPS_PEER_INFO_v21_02
{
NvU32 gpuId;
NvU8 gpuUuid[VM_UUID_SIZE_v21_02];
NvU32 p2pCaps;
NvU32 p2pOptimalReadCEs;
NvU32 p2pOptimalWriteCEs;
NvU8 p2pCapsStatus[NV0000_CTRL_P2P_CAPS_INDEX_TABLE_SIZE_v1F_0D];
NvU32 busPeerId;
} NV2080_CTRL_GPU_P2P_PEER_CAPS_PEER_INFO_v21_02;
typedef NV2080_CTRL_GPU_P2P_PEER_CAPS_PEER_INFO_v21_02 NV2080_CTRL_GPU_P2P_PEER_CAPS_PEER_INFO_v;
typedef struct NV2080_CTRL_GET_P2P_CAPS_PARAMS_v21_02
{
NvBool bAllCaps;
NvBool bUseUuid;
NvU32 peerGpuCount;
NV2080_CTRL_GPU_P2P_PEER_CAPS_PEER_INFO_v21_02 peerGpuCaps[NV0000_CTRL_SYSTEM_MAX_ATTACHED_GPUS_v21_02];
} NV2080_CTRL_GET_P2P_CAPS_PARAMS_v21_02;
typedef NV2080_CTRL_GET_P2P_CAPS_PARAMS_v21_02 NV2080_CTRL_GET_P2P_CAPS_PARAMS_v;
typedef struct NV2080_CTRL_BUS_SET_P2P_MAPPING_PARAMS_v21_03
{
NvU32 connectionType;
NvU32 peerId;
NvU32 bSpaAccessOnly;
NvBool bUseUuid;
NvU32 remoteGpuId;
NvU8 remoteGpuUuid[VM_UUID_SIZE_v21_02];
} NV2080_CTRL_BUS_SET_P2P_MAPPING_PARAMS_v21_03;
typedef NV2080_CTRL_BUS_SET_P2P_MAPPING_PARAMS_v21_03 NV2080_CTRL_BUS_SET_P2P_MAPPING_PARAMS_v;
typedef struct NV2080_CTRL_BUS_UNSET_P2P_MAPPING_PARAMS_v21_03
{
NvU32 connectionType;
NvU32 peerId;
NvBool bUseUuid;
NvU32 remoteGpuId;
NvU8 remoteGpuUuid[VM_UUID_SIZE_v21_02];
} NV2080_CTRL_BUS_UNSET_P2P_MAPPING_PARAMS_v21_03;
typedef NV2080_CTRL_BUS_UNSET_P2P_MAPPING_PARAMS_v21_03 NV2080_CTRL_BUS_UNSET_P2P_MAPPING_PARAMS_v;
typedef struct NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_INFO_v21_08
{
NvU8 chipletType;
NvU8 chipletIndex;
NvU16 numCredits;
} NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_INFO_v21_08;
typedef NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_INFO_v21_08 NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_INFO_v;
typedef struct NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_STATUS_v21_08
{
NvU8 status;
NvU8 entryIndex;
} NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_STATUS_v21_08;
typedef NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_STATUS_v21_08 NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_STATUS_v;
typedef struct NVB0CC_CTRL_GET_TOTAL_HS_CREDITS_PARAMS_v21_08
{
NvU32 numCredits;
} NVB0CC_CTRL_GET_TOTAL_HS_CREDITS_PARAMS_v21_08;
typedef NVB0CC_CTRL_GET_TOTAL_HS_CREDITS_PARAMS_v21_08 NVB0CC_CTRL_GET_TOTAL_HS_CREDITS_PARAMS_v;
typedef struct NVB0CC_CTRL_GET_HS_CREDITS_PARAMS_v21_08
{
NvU8 pmaChannelIdx;
NvU8 numEntries;
NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_STATUS_v21_08 statusInfo;
NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_INFO_v21_08 creditInfo[NVB0CC_MAX_CREDIT_INFO_ENTRIES_v21_08];
} NVB0CC_CTRL_GET_HS_CREDITS_PARAMS_v21_08;
typedef NVB0CC_CTRL_GET_HS_CREDITS_PARAMS_v21_08 NVB0CC_CTRL_GET_HS_CREDITS_PARAMS_v;
typedef struct NVB0CC_CTRL_SET_HS_CREDITS_PARAMS_v21_08
{
NvU8 pmaChannelIdx;
NvU8 numEntries;
NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_STATUS_v21_08 statusInfo;
NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_INFO_v21_08 creditInfo[NVB0CC_MAX_CREDIT_INFO_ENTRIES_v21_08];
} NVB0CC_CTRL_SET_HS_CREDITS_PARAMS_v21_08;
typedef NVB0CC_CTRL_SET_HS_CREDITS_PARAMS_v21_08 NVB0CC_CTRL_SET_HS_CREDITS_PARAMS_v;
typedef struct NV2080_CTRL_CE_CAPS_v21_0A
{
NvU8 capsTbl[NV2080_CTRL_CE_CAPS_TBL_SIZE_v21_0A];
} NV2080_CTRL_CE_CAPS_v21_0A;
typedef NV2080_CTRL_CE_CAPS_v21_0A NV2080_CTRL_CE_CAPS_v;
typedef struct NV2080_CTRL_CE_GET_ALL_CAPS_PARAMS_v21_0A
{
NV2080_CTRL_CE_CAPS_v21_0A ceCaps[NV2080_CTRL_MAX_PCES_v21_0A];
NvU32 present;
} NV2080_CTRL_CE_GET_ALL_CAPS_PARAMS_v21_0A;
typedef NV2080_CTRL_CE_GET_ALL_CAPS_PARAMS_v21_0A NV2080_CTRL_CE_GET_ALL_CAPS_PARAMS_v;
typedef struct NV2080_CTRL_CMD_BUS_GET_C2C_INFO_PARAMS_v22_01
{
NvBool bIsLinkUp;
NvU32 nrLinks;
NvU32 linkMask;
NvU32 perLinkBwMBps;
NvU32 remoteType;
} NV2080_CTRL_CMD_BUS_GET_C2C_INFO_PARAMS_v22_01;
typedef NV2080_CTRL_CMD_BUS_GET_C2C_INFO_PARAMS_v22_01 NV2080_CTRL_CMD_BUS_GET_C2C_INFO_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_SMBPBI_v21_04
{
NvU32 sensorId;
NvU32 limit;
} NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_SMBPBI_v21_04;
typedef NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_SMBPBI_v21_04 NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_SMBPBI_v;
typedef union NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_type_v21_04
{
NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_SMBPBI_v21_04 smbpbi;
} NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_type_v21_04;
typedef NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_type_v21_04 NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_type_v;
typedef struct NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_data_v21_04
{
NvU8 type ;
NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_type_v21_04 data;
} NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_data_v21_04;
typedef NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_data_v21_04 NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_data_v;
typedef struct NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_PARAMS_v21_04
{
NvU8 flags;
NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_data_v21_04 syncData;
} NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_PARAMS_v21_04;
typedef NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_PARAMS_v21_04 NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_PARAMS_v;
typedef struct VGPU_P2P_CAPABILITY_PARAMS_v25_03
{
NvBool bGpuSupportsFabricProbe;
} VGPU_P2P_CAPABILITY_PARAMS_v25_03;
typedef VGPU_P2P_CAPABILITY_PARAMS_v25_03 VGPU_P2P_CAPABILITY_PARAMS_v;
typedef struct NV83DE_CTRL_DEBUG_GET_MODE_MMU_DEBUG_PARAMS_v25_04
{
NvU32 value;
} NV83DE_CTRL_DEBUG_GET_MODE_MMU_DEBUG_PARAMS_v25_04;
typedef NV83DE_CTRL_DEBUG_GET_MODE_MMU_DEBUG_PARAMS_v25_04 NV83DE_CTRL_DEBUG_GET_MODE_MMU_DEBUG_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_DEVICE_INFO_v25_05
{
NvU32 faultId;
NvU32 instanceId;
NvU32 typeEnum;
NvU32 resetId;
NvU32 devicePriBase;
NvU32 isEngine;
NvU32 rlEngId;
NvU32 runlistPriBase;
NvU32 groupId;
} NV2080_CTRL_INTERNAL_DEVICE_INFO_v25_05;
typedef struct NV2080_CTRL_INTERNAL_DEVICE_INFO_v27_05
{
NvU32 faultId;
NvU32 instanceId;
NvU32 typeEnum;
NvU32 resetId;
NvU32 devicePriBase;
NvU32 isEngine;
NvU32 rlEngId;
NvU32 runlistPriBase;
NvU32 groupId;
NvU32 ginTargetId;
NvU32 deviceBroadcastPriBase;
} NV2080_CTRL_INTERNAL_DEVICE_INFO_v27_05;
typedef NV2080_CTRL_INTERNAL_DEVICE_INFO_v27_05 NV2080_CTRL_INTERNAL_DEVICE_INFO_v;
typedef struct NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS_v25_05
{
NvU32 numEntries;
NV2080_CTRL_INTERNAL_DEVICE_INFO_v25_05 deviceInfoTable[NV2080_CTRL_CMD_INTERNAL_DEVICE_INFO_MAX_ENTRIES_V25_05];
} NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS_v25_05;
typedef struct NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS_v27_05
{
NvU32 numEntries;
NV2080_CTRL_INTERNAL_DEVICE_INFO_v27_05 deviceInfoTable[NV2080_CTRL_CMD_INTERNAL_DEVICE_INFO_MAX_ENTRIES_V25_05];
} NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS_v27_05;
typedef NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS_v27_05 NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS_v;
typedef struct NV2080_CTRL_INTERNAL_MEMSYS_GET_STATIC_CONFIG_PARAMS_v25_06
{
NvBool bOneToOneComptagLineAllocation;
NvBool bUseOneToFourComptagLineAllocation;
NvBool bUseRawModeComptaglineAllocation;
NvBool bDisableCompbitBacking;
NvBool bDisablePostL2Compression;
NvBool bEnabledEccFBPA;
NvBool bL2PreFill;
NvU64 l2CacheSize NV_ALIGN_BYTES(8);
NvBool bFbpaPresent;
NvU32 comprPageSize;
NvU32 comprPageShift;
NvU32 ramType;
NvU32 ltcCount;
NvU32 ltsPerLtcCount;
} NV2080_CTRL_INTERNAL_MEMSYS_GET_STATIC_CONFIG_PARAMS_v25_06;
typedef NV2080_CTRL_INTERNAL_MEMSYS_GET_STATIC_CONFIG_PARAMS_v25_06 NV2080_CTRL_INTERNAL_MEMSYS_GET_STATIC_CONFIG_PARAMS_v;
typedef struct NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS_v25_0B
{
NvU32 atomicsCaps;
} NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS_v25_0B;
typedef NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS_v25_0B NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS_v;
typedef struct NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_PARAMS_v25_0C
{
NvU32 dataSize;
NvU8 data[512];
} NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_PARAMS_v25_0C;
typedef NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_PARAMS_v25_0C NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_PARAMS_v;
typedef struct GPU_EXEC_SYSPIPE_INFO_v26_01
{
NvU32 execPartCount;
NvU32 execPartId[NVC637_CTRL_MAX_EXEC_PARTITIONS_v18_05];
NvU32 syspipeId[NVC637_CTRL_MAX_EXEC_PARTITIONS_v18_05];
} GPU_EXEC_SYSPIPE_INFO_v26_01;
typedef GPU_EXEC_SYSPIPE_INFO_v26_01 GPU_EXEC_SYSPIPE_INFO_v;
#endif
#ifdef SDK_UNION_MEMBER_NAME_FUNCTIONS
// Union member index functions for NV5080_CTRL_DEFERRED_API_V2_PARAMS_api_bundle
uint32_t _get_union_member_index_NV5080_CTRL_DEFERRED_API_V2_PARAMS_api_bundle_v06_00(NvU32 cmd)
{
switch (cmd)
{
case NV2080_CTRL_CMD_GPU_INITIALIZE_CTX:
return 0; // "InitCtx"
case NV2080_CTRL_CMD_GPU_PROMOTE_CTX:
return 1; // "PromoteCtx"
case NV2080_CTRL_CMD_GPU_EVICT_CTX:
return 2; // "EvictCtx"
case NV2080_CTRL_CMD_DMA_INVALIDATE_TLB:
return 3; // "InvalidateTlb"
default:
return UNION_UNKNOWN_FIELD_PRINT;
}
}
// Union member index functions for vgpuGetEngineUtilization_data
uint32_t _get_union_member_index_vgpuGetEngineUtilization_data_v1F_0E(NvU32 cmd)
{
switch (cmd)
{
case NV2080_CTRL_CMD_PERF_GET_PERFMON_SAMPLE:
return 0; // "perfmonSample"
case NV2080_CTRL_CMD_PERF_GET_VID_ENG_PERFMON_SAMPLE:
return 1; // "vidPerfmonSample"
case NV0000_CTRL_CMD_GPUACCT_GET_ACCOUNTING_STATE:
return 3; // "getAccountingState"
case NV0000_CTRL_CMD_GPUACCT_SET_ACCOUNTING_STATE:
return 4; // "setAccountingState"
case NV0000_CTRL_CMD_GPUACCT_GET_ACCOUNTING_PIDS:
return 5; // "getAccountingPidList"
case NV0000_CTRL_CMD_GPUACCT_GET_PROC_ACCOUNTING_INFO:
return 6; // "procAccountingInfo"
case NV0000_CTRL_CMD_GPUACCT_CLEAR_ACCOUNTING_DATA:
return 7; // "clearAccountingInfo"
case NV2080_CTRL_CMD_PERF_GET_PERFMON_SAMPLE_V3:
return 8; // "perfmonSampleV3"
case NV2080_CTRL_CMD_PERF_GET_GPUMON_PERFMON_UTIL_SAMPLES_V2:
return 9; // "gpumonPerfmonsampleV2"
default:
return UNION_UNKNOWN_FIELD_PRINT;
}
}
// Union member index functions for alloc_object_params
uint32_t _get_union_member_index_alloc_object_params_v25_08(NvU32 cmd)
{
switch (cmd)
{
case G82_TESLA:
case GT200_TESLA:
case GT214_TESLA:
case NV50_TESLA:
case FERMI_A:
case KEPLER_A:
case KEPLER_B:
case MAXWELL_A:
case MAXWELL_B:
case PASCAL_A:
case PASCAL_B:
case VOLTA_A:
case TURING_A:
case AMPERE_A:
return 0; // "param_NV50_TESLA"
case KEPLER_DMA_COPY_A:
case MAXWELL_DMA_COPY_A:
case PASCAL_DMA_COPY_A:
case VOLTA_DMA_COPY_A:
case TURING_DMA_COPY_A:
case AMPERE_DMA_COPY_A:
return 1; // "param_GT212_DMA_COPY"
case GF100_MSPPP:
return 2; // "param_G98_MSPPP"
case GF100_DISP_SW:
return 3; // "param_GF100_DISP_SW"
case KEPLER_CHANNEL_GROUP_A:
return 4; // "param_KEPLER_CHANNEL_GROUP_A"
case FERMI_CONTEXT_SHARE_A:
return 5; // "param_FERMI_CONTEXT_SHARE_A"
case NVD0B7_VIDEO_ENCODER:
case NVC1B7_VIDEO_ENCODER:
case NVC2B7_VIDEO_ENCODER:
case NVC3B7_VIDEO_ENCODER:
case NVC4B7_VIDEO_ENCODER:
case NVC7B7_VIDEO_ENCODER:
case NVC9B7_VIDEO_ENCODER:
return 6; // "param_NVD0B7_VIDEO_ENCODER"
case FERMI_VASPACE_A:
return 7; // "param_FERMI_VASPACE_A"
case NVA0B0_VIDEO_DECODER:
case NVB0B0_VIDEO_DECODER:
case NVC1B0_VIDEO_DECODER:
case NVC2B0_VIDEO_DECODER:
case NVC3B0_VIDEO_DECODER:
case NV95B1_VIDEO_MSVLD:
return 8; // "param_NVB0B0_VIDEO_DECODER"
case NV95B2_VIDEO_MSPDEC:
return 9; // "param_NV95B2_VIDEO_MSPDEC"
case GT200_DEBUGGER:
return 10; // "param_NV83DE_ALLOC_PARAMETERS"
case NVENC_SW_SESSION:
return 11; // "param_NVENC_SW_SESSION"
case NVC4B0_VIDEO_DECODER:
case NVC6B0_VIDEO_DECODER:
case NVC7B0_VIDEO_DECODER:
case NVB8B0_VIDEO_DECODER:
case NVC9B0_VIDEO_DECODER:
case NVCDB0_VIDEO_DECODER:
return 12; // "param_NVC4B0_VIDEO_DECODER"
case NVFBC_SW_SESSION:
return 13; // "param_NVFBC_SW_SESSION"
case NVC4D1_VIDEO_NVJPG:
case NVB8D1_VIDEO_NVJPG:
case NVC9D1_VIDEO_NVJPG:
case NVCDD1_VIDEO_NVJPG:
return 14; // "param_NV_NVJPG_ALLOCATION_PARAMETERS"
case NV50_P2P:
return 15; // "param_NV503B_ALLOC_PARAMETERS"
case AMPERE_SMC_PARTITION_REF:
return 16; // "param_NVC637_ALLOCATION_PARAMETERS"
case NV01_MEMORY_VIRTUAL:
return 17; // "param_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS"
case AMPERE_SMC_EXEC_PARTITION_REF:
return 18; // "param_NVC638_ALLOCATION_PARAMETERS"
case NV50_THIRD_PARTY_P2P:
return 19; // "param_NV503C_ALLOC_PARAMETERS"
case NVC670_DISPLAY:
return 20; // "param_NVC670_ALLOCATION_PARAMETERS"
case NVC67B_WINDOW_IMM_CHANNEL_DMA:
case NVC67D_CORE_CHANNEL_DMA:
case NVC67E_WINDOW_CHANNEL_DMA:
return 21; // "param_NV50VAIO_CHANNELDMA_ALLOCATION_PARAMETERS"
case MAXWELL_PROFILER_CONTEXT:
return 22; // "param_NVB1CC_ALLOC_PARAMETERS"
case MAXWELL_PROFILER_DEVICE:
return 23; // "param_NVB2CC_ALLOC_PARAMETERS"
case MAXWELL_COMPUTE_A:
case PASCAL_COMPUTE_A:
case VOLTA_COMPUTE_A:
case TURING_COMPUTE_A:
case AMPERE_COMPUTE_A:
case HOPPER_COMPUTE_A:
case MAXWELL_COMPUTE_B:
case PASCAL_COMPUTE_B:
case VOLTA_COMPUTE_B:
case AMPERE_COMPUTE_B:
return 24; // "param_NV_GR_ALLOCATION_PARAMETERS"
case UVM_CHANNEL_RETAINER:
return 25; // "param_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS"
case NV_MEMORY_FABRIC:
return 26; // "param_NV00F8_ALLOCATION_PARAMETERS"
case NVC9FA_VIDEO_OFA:
case NVCDFA_VIDEO_OFA:
case NVC6FA_VIDEO_OFA:
case NVC7FA_VIDEO_OFA:
case NVB8FA_VIDEO_OFA:
return 27; // "param_NVC9FA_VIDEO_OFA"
case NV2081_BINAPI:
case NV2082_BINAPI_PRIVILEGED:
return 28; // "param_NV2081_ALLOC_PARAMETERS"
default:
return UNION_UNKNOWN_FIELD_PRINT;
}
}
uint32_t _get_union_member_index_alloc_object_params_v26_00(NvU32 cmd)
{
switch (cmd)
{
case G82_TESLA:
case GT200_TESLA:
case GT214_TESLA:
case NV50_TESLA:
case FERMI_A:
case KEPLER_A:
case KEPLER_B:
case MAXWELL_A:
case MAXWELL_B:
case PASCAL_A:
case PASCAL_B:
case VOLTA_A:
case TURING_A:
case AMPERE_A:
return 0; // "param_NV50_TESLA"
case KEPLER_DMA_COPY_A:
case MAXWELL_DMA_COPY_A:
case PASCAL_DMA_COPY_A:
case VOLTA_DMA_COPY_A:
case TURING_DMA_COPY_A:
case AMPERE_DMA_COPY_A:
return 1; // "param_GT212_DMA_COPY"
case GF100_MSPPP:
return 2; // "param_G98_MSPPP"
case GF100_DISP_SW:
return 3; // "param_GF100_DISP_SW"
case KEPLER_CHANNEL_GROUP_A:
return 4; // "param_KEPLER_CHANNEL_GROUP_A"
case FERMI_CONTEXT_SHARE_A:
return 5; // "param_FERMI_CONTEXT_SHARE_A"
case NVD0B7_VIDEO_ENCODER:
case NVC1B7_VIDEO_ENCODER:
case NVC2B7_VIDEO_ENCODER:
case NVC3B7_VIDEO_ENCODER:
case NVC4B7_VIDEO_ENCODER:
case NVC7B7_VIDEO_ENCODER:
case NVC9B7_VIDEO_ENCODER:
return 6; // "param_NVD0B7_VIDEO_ENCODER"
case FERMI_VASPACE_A:
return 7; // "param_FERMI_VASPACE_A"
case NVA0B0_VIDEO_DECODER:
case NVB0B0_VIDEO_DECODER:
case NVC1B0_VIDEO_DECODER:
case NVC2B0_VIDEO_DECODER:
case NVC3B0_VIDEO_DECODER:
case NV95B1_VIDEO_MSVLD:
return 8; // "param_NVB0B0_VIDEO_DECODER"
case NV95B2_VIDEO_MSPDEC:
return 9; // "param_NV95B2_VIDEO_MSPDEC"
case GT200_DEBUGGER:
return 10; // "param_NV83DE_ALLOC_PARAMETERS"
case NVENC_SW_SESSION:
return 11; // "param_NVENC_SW_SESSION"
case NVC4B0_VIDEO_DECODER:
case NVC6B0_VIDEO_DECODER:
case NVC7B0_VIDEO_DECODER:
case NVB8B0_VIDEO_DECODER:
case NVC9B0_VIDEO_DECODER:
case NVCDB0_VIDEO_DECODER:
return 12; // "param_NVC4B0_VIDEO_DECODER"
case NVFBC_SW_SESSION:
return 13; // "param_NVFBC_SW_SESSION"
case NVC4D1_VIDEO_NVJPG:
case NVB8D1_VIDEO_NVJPG:
case NVC9D1_VIDEO_NVJPG:
case NVCDD1_VIDEO_NVJPG:
return 14; // "param_NV_NVJPG_ALLOCATION_PARAMETERS"
case NV50_P2P:
return 15; // "param_NV503B_ALLOC_PARAMETERS"
case AMPERE_SMC_PARTITION_REF:
return 16; // "param_NVC637_ALLOCATION_PARAMETERS"
case NV01_MEMORY_VIRTUAL:
return 17; // "param_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS"
case AMPERE_SMC_EXEC_PARTITION_REF:
return 18; // "param_NVC638_ALLOCATION_PARAMETERS"
case NV50_THIRD_PARTY_P2P:
return 19; // "param_NV503C_ALLOC_PARAMETERS"
case NVC670_DISPLAY:
return 20; // "param_NVC670_ALLOCATION_PARAMETERS"
case NVC67B_WINDOW_IMM_CHANNEL_DMA:
case NVC67D_CORE_CHANNEL_DMA:
case NVC67E_WINDOW_CHANNEL_DMA:
return 21; // "param_NV50VAIO_CHANNELDMA_ALLOCATION_PARAMETERS"
case MAXWELL_PROFILER_CONTEXT:
return 22; // "param_NVB1CC_ALLOC_PARAMETERS"
case MAXWELL_PROFILER_DEVICE:
return 23; // "param_NVB2CC_ALLOC_PARAMETERS"
case MAXWELL_COMPUTE_A:
case PASCAL_COMPUTE_A:
case VOLTA_COMPUTE_A:
case TURING_COMPUTE_A:
case AMPERE_COMPUTE_A:
case HOPPER_COMPUTE_A:
case MAXWELL_COMPUTE_B:
case PASCAL_COMPUTE_B:
case VOLTA_COMPUTE_B:
case AMPERE_COMPUTE_B:
return 24; // "param_NV_GR_ALLOCATION_PARAMETERS"
case UVM_CHANNEL_RETAINER:
return 25; // "param_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS"
case NV_MEMORY_FABRIC:
return 26; // "param_NV00F8_ALLOCATION_PARAMETERS"
case NVC9FA_VIDEO_OFA:
case NVCDFA_VIDEO_OFA:
case NVC6FA_VIDEO_OFA:
case NVC7FA_VIDEO_OFA:
case NVB8FA_VIDEO_OFA:
return 27; // "param_NVC9FA_VIDEO_OFA"
case NV2081_BINAPI:
case NV2082_BINAPI_PRIVILEGED:
return 28; // "param_NV2081_ALLOC_PARAMETERS"
default:
return UNION_UNKNOWN_FIELD_PRINT;
}
}
uint32_t _get_union_member_index_alloc_object_params_v27_00(NvU32 cmd)
{
switch (cmd)
{
case G82_TESLA:
case GT200_TESLA:
case GT214_TESLA:
case NV50_TESLA:
case FERMI_A:
case KEPLER_A:
case KEPLER_B:
case MAXWELL_A:
case MAXWELL_B:
case PASCAL_A:
case PASCAL_B:
case VOLTA_A:
case TURING_A:
case AMPERE_A:
return 0; // "param_NV50_TESLA"
case KEPLER_DMA_COPY_A:
case MAXWELL_DMA_COPY_A:
case PASCAL_DMA_COPY_A:
case VOLTA_DMA_COPY_A:
case TURING_DMA_COPY_A:
case AMPERE_DMA_COPY_A:
return 1; // "param_GT212_DMA_COPY"
case GF100_MSPPP:
return 2; // "param_G98_MSPPP"
case GF100_DISP_SW:
return 3; // "param_GF100_DISP_SW"
case KEPLER_CHANNEL_GROUP_A:
return 4; // "param_KEPLER_CHANNEL_GROUP_A"
case FERMI_CONTEXT_SHARE_A:
return 5; // "param_FERMI_CONTEXT_SHARE_A"
case NVD0B7_VIDEO_ENCODER:
case NVC1B7_VIDEO_ENCODER:
case NVC2B7_VIDEO_ENCODER:
case NVC3B7_VIDEO_ENCODER:
case NVC4B7_VIDEO_ENCODER:
case NVC7B7_VIDEO_ENCODER:
case NVC9B7_VIDEO_ENCODER:
return 6; // "param_NVD0B7_VIDEO_ENCODER"
case FERMI_VASPACE_A:
return 7; // "param_FERMI_VASPACE_A"
case NVA0B0_VIDEO_DECODER:
case NVB0B0_VIDEO_DECODER:
case NVC1B0_VIDEO_DECODER:
case NVC2B0_VIDEO_DECODER:
case NVC3B0_VIDEO_DECODER:
case NV95B1_VIDEO_MSVLD:
return 8; // "param_NVB0B0_VIDEO_DECODER"
case NV95B2_VIDEO_MSPDEC:
return 9; // "param_NV95B2_VIDEO_MSPDEC"
case GT200_DEBUGGER:
return 10; // "param_NV83DE_ALLOC_PARAMETERS"
case NVENC_SW_SESSION:
return 11; // "param_NVENC_SW_SESSION"
case NVC4B0_VIDEO_DECODER:
case NVC6B0_VIDEO_DECODER:
case NVC7B0_VIDEO_DECODER:
case NVB8B0_VIDEO_DECODER:
case NVC9B0_VIDEO_DECODER:
case NVCDB0_VIDEO_DECODER:
return 12; // "param_NVC4B0_VIDEO_DECODER"
case NVFBC_SW_SESSION:
return 13; // "param_NVFBC_SW_SESSION"
case NVC4D1_VIDEO_NVJPG:
case NVB8D1_VIDEO_NVJPG:
case NVC9D1_VIDEO_NVJPG:
case NVCDD1_VIDEO_NVJPG:
return 14; // "param_NV_NVJPG_ALLOCATION_PARAMETERS"
case NV50_P2P:
return 15; // "param_NV503B_ALLOC_PARAMETERS"
case AMPERE_SMC_PARTITION_REF:
return 16; // "param_NVC637_ALLOCATION_PARAMETERS"
case NV01_MEMORY_VIRTUAL:
return 17; // "param_NV_MEMORY_VIRTUAL_ALLOCATION_PARAMS"
case AMPERE_SMC_EXEC_PARTITION_REF:
return 18; // "param_NVC638_ALLOCATION_PARAMETERS"
case NV50_THIRD_PARTY_P2P:
return 19; // "param_NV503C_ALLOC_PARAMETERS"
case NVC670_DISPLAY:
return 20; // "param_NVC670_ALLOCATION_PARAMETERS"
case NVC67B_WINDOW_IMM_CHANNEL_DMA:
case NVC67D_CORE_CHANNEL_DMA:
case NVC67E_WINDOW_CHANNEL_DMA:
return 21; // "param_NV50VAIO_CHANNELDMA_ALLOCATION_PARAMETERS"
case MAXWELL_PROFILER_CONTEXT:
return 22; // "param_NVB1CC_ALLOC_PARAMETERS"
case MAXWELL_PROFILER_DEVICE:
return 23; // "param_NVB2CC_ALLOC_PARAMETERS"
case MAXWELL_COMPUTE_A:
case PASCAL_COMPUTE_A:
case VOLTA_COMPUTE_A:
case TURING_COMPUTE_A:
case AMPERE_COMPUTE_A:
case HOPPER_COMPUTE_A:
case MAXWELL_COMPUTE_B:
case PASCAL_COMPUTE_B:
case VOLTA_COMPUTE_B:
case AMPERE_COMPUTE_B:
return 24; // "param_NV_GR_ALLOCATION_PARAMETERS"
case UVM_CHANNEL_RETAINER:
return 25; // "param_NV_UVM_CHANNEL_RETAINER_ALLOC_PARAMS"
case NV_MEMORY_FABRIC:
return 26; // "param_NV00F8_ALLOCATION_PARAMETERS"
case NVC9FA_VIDEO_OFA:
case NVCDFA_VIDEO_OFA:
case NVC6FA_VIDEO_OFA:
case NVC7FA_VIDEO_OFA:
case NVB8FA_VIDEO_OFA:
return 27; // "param_NVC9FA_VIDEO_OFA"
case NV2081_BINAPI:
case NV2082_BINAPI_PRIVILEGED:
return 28; // "param_NV2081_ALLOC_PARAMETERS"
default:
return UNION_UNKNOWN_FIELD_PRINT;
}
}
// Union member index functions for NV2080_CTRL_FB_FS_INFO_QUERY_DATA
uint32_t _get_union_member_index_NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v1A_1D(NvU32 cmd)
{
switch (cmd)
{
case NV2080_CTRL_FB_FS_INFO_INVALID_QUERY:
return 0; // "inv"
case NV2080_CTRL_FB_FS_INFO_FBP_MASK:
return 1; // "fbp"
case NV2080_CTRL_FB_FS_INFO_LTC_MASK:
return 2; // "ltc"
case NV2080_CTRL_FB_FS_INFO_LTS_MASK:
return 3; // "lts"
case NV2080_CTRL_FB_FS_INFO_FBPA_MASK:
return 4; // "fbpa"
case NV2080_CTRL_FB_FS_INFO_ROP_MASK:
return 5; // "rop"
case NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK:
return 6; // "dmLtc"
case NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK:
return 7; // "dmLts"
case NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK:
return 8; // "dmFbpa"
case NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK:
return 9; // "dmRop"
case NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK:
return 10; // "dmFbpaSubp"
case NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK:
return 11; // "fbpaSubp"
case NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP:
return 12; // "fbpLogicalMap"
default:
return UNION_UNKNOWN_FIELD_PRINT;
}
}
uint32_t _get_union_member_index_NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v26_04(NvU32 cmd)
{
switch (cmd)
{
case NV2080_CTRL_FB_FS_INFO_INVALID_QUERY:
return 0; // "inv"
case NV2080_CTRL_FB_FS_INFO_FBP_MASK:
return 1; // "fbp"
case NV2080_CTRL_FB_FS_INFO_LTC_MASK:
return 2; // "ltc"
case NV2080_CTRL_FB_FS_INFO_LTS_MASK:
return 3; // "lts"
case NV2080_CTRL_FB_FS_INFO_FBPA_MASK:
return 4; // "fbpa"
case NV2080_CTRL_FB_FS_INFO_ROP_MASK:
return 5; // "rop"
case NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK:
return 6; // "dmLtc"
case NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK:
return 7; // "dmLts"
case NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK:
return 8; // "dmFbpa"
case NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK:
return 9; // "dmRop"
case NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK:
return 10; // "dmFbpaSubp"
case NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK:
return 11; // "fbpaSubp"
case NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP:
return 12; // "fbpLogicalMap"
case NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK:
return 13; // "sysl2Ltc"
case NV2080_CTRL_FB_FS_INFO_PAC_MASK:
return 14; // "pac"
case NV2080_CTRL_FB_FS_INFO_LOGICAL_LTC_MASK:
return 15; // "logicalLtc"
case NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LOGICAL_LTC_MASK:
return 16; // "dmLogicalLtc"
default:
return UNION_UNKNOWN_FIELD_PRINT;
}
}
// Union member index functions for NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_DATA
uint32_t _get_union_member_index_NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_DATA_v1A_1D(NvU32 cmd)
{
switch (cmd)
{
case NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_GPC_COUNT:
return 0; // "gpcCountData"
case NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_CHIPLET_GPC_MAP:
return 1; // "chipletGpcMapData"
case NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_TPC_MASK:
return 2; // "tpcMaskData"
case NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PPC_MASK:
return 3; // "ppcMaskData"
case NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PARTITION_CHIPLET_GPC_MAP:
return 4; // "partitionGpcMapData"
case NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_CHIPLET_SYSPIPE_MASK:
return 5; // "syspipeMaskData"
case NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PARTITION_CHIPLET_SYSPIPE_IDS:
return 6; // "partitionChipletSyspipeData"
case NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PROFILER_MON_GPC_MASK:
return 7; // "dmGpcMaskData"
case NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PARTITION_SYSPIPE_ID:
return 8; // "partitionSyspipeIdData"
case NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_ROP_MASK:
return 9; // "ropMaskData"
default:
return UNION_UNKNOWN_FIELD_PRINT;
}
}
// Union member index functions for NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_type
uint32_t _get_union_member_index_NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_type_v21_04(NvU32 cmd)
{
switch (cmd)
{
case NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_TYPE_SMBPBI:
return 0; // "smbpbi"
default:
return UNION_UNKNOWN_FIELD_PRINT;
}
}
#endif
#ifdef SDK_UNION_MEMBER_NAME_FUNCTIONS_CMD
static NV_STATUS get_union_member_index_NV5080_CTRL_DEFERRED_API_V2_PARAMS_v06_00_api_bundle(void *msg, NvS32 bytes_remaining, uint32_t* index)
{
NV5080_CTRL_DEFERRED_API_V2_PARAMS_v06_00 *param = msg;
if ((NvS32)(NV_OFFSETOF(NV5080_CTRL_DEFERRED_API_V2_PARAMS_v06_00, cmd) + sizeof(param->cmd)) > bytes_remaining)
return NV_ERR_BUFFER_TOO_SMALL;
*index = _get_union_member_index_NV5080_CTRL_DEFERRED_API_V2_PARAMS_api_bundle_v06_00(param->cmd);
return NV_OK;
}
static NV_STATUS get_union_member_index_NV2080_CTRL_FB_FS_INFO_QUERY_v1A_1D_queryParams(void *msg, NvS32 bytes_remaining, uint32_t* index)
{
NV2080_CTRL_FB_FS_INFO_QUERY_v1A_1D *param = msg;
if ((NvS32)(NV_OFFSETOF(NV2080_CTRL_FB_FS_INFO_QUERY_v1A_1D, queryType) + sizeof(param->queryType)) > bytes_remaining)
return NV_ERR_BUFFER_TOO_SMALL;
*index = _get_union_member_index_NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v1A_1D(param->queryType);
return NV_OK;
}
static NV_STATUS get_union_member_index_NV2080_CTRL_FB_FS_INFO_QUERY_v26_04_queryParams(void *msg, NvS32 bytes_remaining, uint32_t* index)
{
NV2080_CTRL_FB_FS_INFO_QUERY_v26_04 *param = msg;
if ((NvS32)(NV_OFFSETOF(NV2080_CTRL_FB_FS_INFO_QUERY_v26_04, queryType) + sizeof(param->queryType)) > bytes_remaining)
return NV_ERR_BUFFER_TOO_SMALL;
*index = _get_union_member_index_NV2080_CTRL_FB_FS_INFO_QUERY_DATA_v26_04(param->queryType);
return NV_OK;
}
static NV_STATUS get_union_member_index_NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PARAMS_v1A_1D_queryData(void *msg, NvS32 bytes_remaining, uint32_t* index)
{
NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PARAMS_v1A_1D *param = msg;
if ((NvS32)(NV_OFFSETOF(NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_PARAMS_v1A_1D, queryType) + sizeof(param->queryType)) > bytes_remaining)
return NV_ERR_BUFFER_TOO_SMALL;
*index = _get_union_member_index_NV2080_CTRL_GRMGR_GR_FS_INFO_QUERY_DATA_v1A_1D(param->queryType);
return NV_OK;
}
static NV_STATUS get_union_member_index_NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_data_v21_04_data(void *msg, NvS32 bytes_remaining, uint32_t* index)
{
NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_data_v21_04 *param = msg;
if ((NvS32)(NV_OFFSETOF(NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_data_v21_04, type) + sizeof(param->type)) > bytes_remaining)
return NV_ERR_BUFFER_TOO_SMALL;
*index = _get_union_member_index_NV2080_CTRL_INTERNAL_PFM_REQ_HNDLR_STATE_SYNC_DATA_type_v21_04(param->type);
return NV_OK;
}
#endif
#ifdef SDK_ARRAY_LENGTH_FUNCTIONS
// Array length functions for gpu_exec_reg_ops:
static NV_STATUS get_array_length_gpu_exec_reg_ops_v12_01_operations(void *msg, NvS32 bytes_remaining, uint32_t* length)
{
gpu_exec_reg_ops_v12_01 *param = msg;
if ((NvS32)(NV_OFFSETOF(gpu_exec_reg_ops_v12_01, reg_op_params.regOpCount) + sizeof(param->reg_op_params.regOpCount)) > bytes_remaining)
return NV_ERR_BUFFER_TOO_SMALL;
*length = param->reg_op_params.regOpCount;
return NV_OK;
}
// Array length functions for NV83DE_CTRL_DEBUG_READ_ALL_SM_ERROR_STATES_PARAMS:
static NV_STATUS get_array_length_NV83DE_CTRL_DEBUG_READ_ALL_SM_ERROR_STATES_PARAMS_v21_06_smErrorStateArray(void *msg, NvS32 bytes_remaining, uint32_t* length)
{
NV83DE_CTRL_DEBUG_READ_ALL_SM_ERROR_STATES_PARAMS_v21_06 *param = msg;
if ((NvS32)(NV_OFFSETOF(NV83DE_CTRL_DEBUG_READ_ALL_SM_ERROR_STATES_PARAMS_v21_06, numSMsToRead) + sizeof(param->numSMsToRead)) > bytes_remaining)
return NV_ERR_BUFFER_TOO_SMALL;
*length = param->numSMsToRead;
return NV_OK;
}
// Array length functions for NV2080_CTRL_FB_GET_OFFLINED_PAGES_PARAMS:
static NV_STATUS get_array_length_NV2080_CTRL_FB_GET_OFFLINED_PAGES_PARAMS_v15_04_blackList(void *msg, NvS32 bytes_remaining, uint32_t* length)
{
NV2080_CTRL_FB_GET_OFFLINED_PAGES_PARAMS_v15_04 *param = msg;
if ((NvS32)(NV_OFFSETOF(NV2080_CTRL_FB_GET_OFFLINED_PAGES_PARAMS_v15_04, validEntries) + sizeof(param->validEntries)) > bytes_remaining)
return NV_ERR_BUFFER_TOO_SMALL;
*length = param->validEntries;
return NV_OK;
}
#endif