555.42.02

(cherry picked from commit 5a1c474040)
This commit is contained in:
Bernhard Stoeckner
2024-05-21 15:11:46 +02:00
committed by Gaurav Juvekar
parent caa2dd11a0
commit 3084c04453
1004 changed files with 172522 additions and 150960 deletions

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright (c) 2006-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-FileCopyrightText: Copyright (c) 2006-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: MIT
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -2151,7 +2151,7 @@ typedef struct NV2080_CTRL_FB_FS_INFO_INVALID_QUERY_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_FBP_MASK_PARAMS {
/*!
* [IN]: swizzId
* [in]: swizzId
* PartitionID associated with a created smc partition. Currently used only for a
* device monitoring client to get the physical values of the FB. The client needs to pass
* 'NV2080_CTRL_GPU_PARTITION_ID_INVALID' explicitly if it wants RM to ignore the swizzId.
@@ -2160,7 +2160,7 @@ typedef struct NV2080_CTRL_FB_FS_INFO_FBP_MASK_PARAMS {
*/
NvU32 swizzId;
/*!
* [OUT]: physical/local fbp mask.
* [out]: physical/local fbp mask.
*/
NV_DECLARE_ALIGNED(NvU64 fbpEnMask, 8);
} NV2080_CTRL_FB_FS_INFO_FBP_MASK_PARAMS;
@@ -2170,11 +2170,11 @@ typedef struct NV2080_CTRL_FB_FS_INFO_FBP_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_LTC_MASK_PARAMS {
/*!
* [IN]: physical/local FB partition index.
* [in]: physical/local FB partition index.
*/
NvU32 fbpIndex;
/*!
* [OUT]: physical/local ltc mask.
* [out]: physical/local ltc mask.
*/
NvU32 ltcEnMask;
} NV2080_CTRL_FB_FS_INFO_LTC_MASK_PARAMS;
@@ -2184,11 +2184,11 @@ typedef struct NV2080_CTRL_FB_FS_INFO_LTC_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_LTS_MASK_PARAMS {
/*!
* [IN]: physical/local FB partition index.
* [in]: physical/local FB partition index.
*/
NvU32 fbpIndex;
/*!
* [OUT]: physical/local lts mask.
* [out]: physical/local lts mask.
* Note that lts bits are flattened out for all ltc with in a fbp.
*/
NvU32 ltsEnMask;
@@ -2199,11 +2199,11 @@ typedef struct NV2080_CTRL_FB_FS_INFO_LTS_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_FBPA_MASK_PARAMS {
/*!
* [IN]: physical/local FB partition index.
* [in]: physical/local FB partition index.
*/
NvU32 fbpIndex;
/*!
* [OUT]: physical/local FBPA mask.
* [out]: physical/local FBPA mask.
*/
NvU32 fbpaEnMask;
} NV2080_CTRL_FB_FS_INFO_FBPA_MASK_PARAMS;
@@ -2213,11 +2213,11 @@ typedef struct NV2080_CTRL_FB_FS_INFO_FBPA_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK_PARAMS {
/*!
* [IN]: physical/local FB partition index.
* [in]: physical/local FB partition index.
*/
NvU32 fbpIndex;
/*!
* [OUT]: physical/local FBPA-SubPartition mask.
* [out]: physical/local FBPA-SubPartition mask.
*/
NvU32 fbpaSubpEnMask;
} NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK_PARAMS;
@@ -2227,11 +2227,11 @@ typedef struct NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP_PARAMS {
/*!
* [IN]: physical/local FB partition index.
* [in]: physical/local FB partition index.
*/
NvU32 fbpIndex;
/*!
* [OUT]: Logical/local FBP index
* [out]: Logical/local FBP index
*/
NvU32 fbpLogicalIndex;
} NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP_PARAMS;
@@ -2241,11 +2241,11 @@ typedef struct NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_ROP_MASK_PARAMS {
/*!
* [IN]: physical/local FB partition index.
* [in]: physical/local FB partition index.
*/
NvU32 fbpIndex;
/*!
* [OUT]: physical/local ROP mask.
* [out]: physical/local ROP mask.
*/
NvU32 ropEnMask;
} NV2080_CTRL_FB_FS_INFO_ROP_MASK_PARAMS;
@@ -2255,16 +2255,16 @@ typedef struct NV2080_CTRL_FB_FS_INFO_ROP_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK_PARAMS {
/*!
* [IN]: Physical FB partition index.
* [in]: Physical FB partition index.
*/
NvU32 fbpIndex;
/*!
* [IN]: swizzId
* [in]: swizzId
* PartitionID associated with a created smc partition.
*/
NvU32 swizzId;
/*!
* [OUT]: physical ltc mask.
* [out]: physical ltc mask.
*/
NvU32 ltcEnMask;
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK_PARAMS;
@@ -2274,16 +2274,16 @@ typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK_PARAMS {
/*!
* [IN]: Physical FB partition index.
* [in]: Physical FB partition index.
*/
NvU32 fbpIndex;
/*!
* [IN]: swizzId
* [in]: swizzId
* PartitionID associated with a created smc partition.
*/
NvU32 swizzId;
/*!
* [OUT]: physical lts mask.
* [out]: physical lts mask.
*/
NvU32 ltsEnMask;
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK_PARAMS;
@@ -2293,16 +2293,16 @@ typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK_PARAMS {
/*!
* [IN]: Physical FB partition index.
* [in]: Physical FB partition index.
*/
NvU32 fbpIndex;
/*!
* [IN]: swizzId
* [in]: swizzId
* PartitionID associated with a created smc partition.
*/
NvU32 swizzId;
/*!
* [OUT]: physical fbpa mask.
* [out]: physical fbpa mask.
*/
NvU32 fbpaEnMask;
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK_PARAMS;
@@ -2312,16 +2312,16 @@ typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK_PARAMS {
/*!
* [IN]: Physical FB partition index.
* [in]: Physical FB partition index.
*/
NvU32 fbpIndex;
/*!
* [IN]: swizzId
* [in]: swizzId
* PartitionID associated with a created smc partition.
*/
NvU32 swizzId;
/*!
* [OUT]: physical rop mask.
* [out]: physical rop mask.
*/
NvU32 ropEnMask;
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK_PARAMS;
@@ -2331,11 +2331,11 @@ typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK_PARAMS {
/*!
* [IN]: Physical FB partition index.
* [in]: Physical FB partition index.
*/
NvU32 fbpIndex;
/*!
* [IN]: swizzId
* [in]: swizzId
* PartitionID associated with a created smc partition. Currently used only for a
* device monitoring client to get the physical values of the FB. The client needs to pass
* 'NV2080_CTRL_GPU_PARTITION_ID_INVALID' explicitly if it wants RM to ignore the swizzId.
@@ -2344,7 +2344,7 @@ typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK_PARAMS {
*/
NvU32 swizzId;
/*!
* [OUT]: physical FBPA_SubPartition mask associated with requested partition.
* [out]: physical FBPA_SubPartition mask associated with requested partition.
*/
NV_DECLARE_ALIGNED(NvU64 fbpaSubpEnMask, 8);
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK_PARAMS;
@@ -2354,11 +2354,11 @@ typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK_PARAMS {
/*!
* [IN]: physical/local sys Id.
* [in]: physical/local sys Id.
*/
NvU32 sysIdx;
/*!
* [OUT]: physical/local sysltc mask.
* [out]: physical/local sysltc mask.
*/
NvU32 sysl2LtcEnMask;
} NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK_PARAMS;
@@ -2368,31 +2368,66 @@ typedef struct NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK_PARAMS {
*/
typedef struct NV2080_CTRL_FB_FS_INFO_PAC_MASK_PARAMS {
/*!
* [IN]: physical/local FB partition index.
* [in]: physical/local FB partition index.
*/
NvU32 fbpIndex;
/*!
* [OUT]: physical/local PAC mask.
* [out]: physical/local PAC mask.
*/
NvU32 pacEnMask;
} NV2080_CTRL_FB_FS_INFO_PAC_MASK_PARAMS;
/*!
* Structure holding the in/out params for NV2080_CTRL_FB_FS_INFO_LOGICAL_LTC_MASK.
*/
typedef struct NV2080_CTRL_FB_FS_INFO_LOGICAL_LTC_MASK_PARAMS {
/*!
* [in]: physical/local FB partition index.
*/
NvU32 fbpIndex;
/*!
* [out]: logical/local ltc mask.
*/
NV_DECLARE_ALIGNED(NvU64 logicalLtcEnMask, 8);
} NV2080_CTRL_FB_FS_INFO_LOGICAL_LTC_MASK_PARAMS;
/*!
* Structure holding the in/out params for NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LOGICAL_LTC_MASK.
*/
typedef struct NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LOGICAL_LTC_MASK_PARAMS {
/*!
* [in]: Physical FB partition index.
*/
NvU32 fbpIndex;
/*!
* [in]: swizzId
* PartitionID associated with a created smc partition.
*/
NvU32 swizzId;
/*!
* [out]: logical ltc mask.
*/
NV_DECLARE_ALIGNED(NvU64 logicalLtcEnMask, 8);
} NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LOGICAL_LTC_MASK_PARAMS;
// Possible values for queryType
#define NV2080_CTRL_FB_FS_INFO_INVALID_QUERY 0x0U
#define NV2080_CTRL_FB_FS_INFO_FBP_MASK 0x1U
#define NV2080_CTRL_FB_FS_INFO_LTC_MASK 0x2U
#define NV2080_CTRL_FB_FS_INFO_LTS_MASK 0x3U
#define NV2080_CTRL_FB_FS_INFO_FBPA_MASK 0x4U
#define NV2080_CTRL_FB_FS_INFO_ROP_MASK 0x5U
#define NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK 0x6U
#define NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK 0x7U
#define NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK 0x8U
#define NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK 0x9U
#define NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK 0xAU
#define NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK 0xBU
#define NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP 0xCU
#define NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK 0xDU
#define NV2080_CTRL_FB_FS_INFO_PAC_MASK 0xEU
#define NV2080_CTRL_FB_FS_INFO_INVALID_QUERY 0x0U
#define NV2080_CTRL_FB_FS_INFO_FBP_MASK 0x1U
#define NV2080_CTRL_FB_FS_INFO_LTC_MASK 0x2U
#define NV2080_CTRL_FB_FS_INFO_LTS_MASK 0x3U
#define NV2080_CTRL_FB_FS_INFO_FBPA_MASK 0x4U
#define NV2080_CTRL_FB_FS_INFO_ROP_MASK 0x5U
#define NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTC_MASK 0x6U
#define NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LTS_MASK 0x7U
#define NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_MASK 0x8U
#define NV2080_CTRL_FB_FS_INFO_PROFILER_MON_ROP_MASK 0x9U
#define NV2080_CTRL_FB_FS_INFO_FBPA_SUBP_MASK 0xAU
#define NV2080_CTRL_FB_FS_INFO_PROFILER_MON_FBPA_SUBP_MASK 0xBU
#define NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP 0xCU
#define NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK 0xDU
#define NV2080_CTRL_FB_FS_INFO_PAC_MASK 0xEU
#define NV2080_CTRL_FB_FS_INFO_LOGICAL_LTC_MASK 0xFU
#define NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LOGICAL_LTC_MASK 0x10U
typedef struct NV2080_CTRL_FB_FS_INFO_QUERY {
NvU16 queryType;
@@ -2414,6 +2449,8 @@ typedef struct NV2080_CTRL_FB_FS_INFO_QUERY {
NV2080_CTRL_FB_FS_INFO_FBP_LOGICAL_MAP_PARAMS fbpLogicalMap;
NV2080_CTRL_SYSL2_FS_INFO_SYSLTC_MASK_PARAMS sysl2Ltc;
NV2080_CTRL_FB_FS_INFO_PAC_MASK_PARAMS pac;
NV_DECLARE_ALIGNED(NV2080_CTRL_FB_FS_INFO_LOGICAL_LTC_MASK_PARAMS logicalLtc, 8);
NV_DECLARE_ALIGNED(NV2080_CTRL_FB_FS_INFO_PROFILER_MON_LOGICAL_LTC_MASK_PARAMS dmLogicalLtc, 8);
} queryParams;
} NV2080_CTRL_FB_FS_INFO_QUERY;
@@ -2761,6 +2798,30 @@ typedef struct NV2080_CTRL_CMD_FB_STATS_ENTRY {
NV_DECLARE_ALIGNED(NvU64 freeSize, 8);
} NV2080_CTRL_CMD_FB_STATS_ENTRY;
/*
* NV2080_CTRL_CMD_GMMU_COMMIT_TLB_INVALIDATE
*
* This control command is used by clients to commit TLB invalidates
*
* gfid[OUT]
* - Specifices GPU function ID.
*
* invalidateAll[OUT]
* - Specifies whether to invalidate all using boolean
*
* @returns Possible status values returned are:
* NV_OK
* NV_ERR_NOT_SUPPORTED
*
*/
#define NV2080_CTRL_CMD_GMMU_COMMIT_TLB_INVALIDATE (0x20801353U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_FB_INTERFACE_ID << 8) | NV2080_CTRL_GMMU_COMMIT_TLB_INVALIDATE_PARAMS_MESSAGE_ID" */
#define NV2080_CTRL_GMMU_COMMIT_TLB_INVALIDATE_PARAMS_MESSAGE_ID (0x53U)
typedef struct NV2080_CTRL_GMMU_COMMIT_TLB_INVALIDATE_PARAMS {
NvU32 gfid;
NvBool invalidateAll;
} NV2080_CTRL_GMMU_COMMIT_TLB_INVALIDATE_PARAMS;
typedef struct NV2080_CTRL_CMD_FB_STATS_OWNER_INFO {
//! Total allocated size for this owner
NV_DECLARE_ALIGNED(NvU64 allocSize, 8);