mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-04-20 22:39:22 +00:00
525.85.05
This commit is contained in:
@@ -40,7 +40,8 @@ extern "C" {
|
||||
#define NVA084_NOTIFIERS_EVENT_GUEST_DRIVER_LOADED (3)
|
||||
#define NVA084_NOTIFIERS_EVENT_GUEST_DRIVER_UNLOADED (4)
|
||||
#define NVA084_NOTIFIERS_EVENT_PRINT_ERROR_MESSAGE (5)
|
||||
#define NVA084_NOTIFIERS_MAXCOUNT (6)
|
||||
#define NVA084_NOTIFIERS_EVENT_GUEST_LICENSE_STATE_CHANGED (6)
|
||||
#define NVA084_NOTIFIERS_MAXCOUNT (7)
|
||||
|
||||
#define NVA084_NOTIFICATION_STATUS_IN_PROGRESS (0x8000)
|
||||
#define NVA084_NOTIFICATION_STATUS_BAD_ARGUMENT (0x4000)
|
||||
|
||||
@@ -2068,30 +2068,18 @@ typedef struct NV0000_CTRL_SYSTEM_GET_RM_INSTANCE_ID_PARAMS {
|
||||
*
|
||||
* NVPCF is an acronym for Nvidia Platform Controllers and Framework
|
||||
* which implements platform level policies. NVPCF is implemented in
|
||||
* a kernel driver on windows. It is implemented in a user mode app
|
||||
* a kernel driver on windows. It is implemented in a user mode app
|
||||
* called nvidia-powerd on Linux.
|
||||
*
|
||||
* gpuId
|
||||
* GPU ID
|
||||
* tpp
|
||||
* Total processing power including CPU and GPU
|
||||
* ratedTgp
|
||||
* Rated total GPU Power
|
||||
* subFunc
|
||||
* NVPCF subfunction id
|
||||
* ctgpOffsetmW
|
||||
* Configurable TGP offset, in mW
|
||||
* targetTppOffsetmW
|
||||
* TPP, as offset in mW.
|
||||
* maxOutputOffsetmW
|
||||
* Maximum allowed output, as offset in mW.
|
||||
* minOutputOffsetmW;
|
||||
* Minimum allowed output, as offset in mW.
|
||||
*
|
||||
* Valid subFunc ids for NVPCF 1x include :
|
||||
* NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_SUPPORTED
|
||||
* NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_DYNAMIC_PARAMS
|
||||
*
|
||||
* Valid subFunc ids for NVPCF 2x include :
|
||||
* NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_SUPPORTED
|
||||
* NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_DYNAMIC_PARAMS
|
||||
* NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_STATIC_CONFIG_TABLES
|
||||
*
|
||||
* Possible status values returned are:
|
||||
* NV_OK
|
||||
* NV_ERR_INVALID_REQUEST
|
||||
@@ -2102,25 +2090,89 @@ typedef struct NV0000_CTRL_SYSTEM_GET_RM_INSTANCE_ID_PARAMS {
|
||||
#define NV0000_CTRL_CMD_SYSTEM_NVPCF_GET_POWER_MODE_INFO_PARAMS_MESSAGE_ID (0x3BU)
|
||||
|
||||
typedef struct NV0000_CTRL_CMD_SYSTEM_NVPCF_GET_POWER_MODE_INFO_PARAMS {
|
||||
/* GPU ID */
|
||||
NvU32 gpuId;
|
||||
|
||||
/* Total processing power including CPU and GPU */
|
||||
NvU32 tpp;
|
||||
|
||||
/* Rated total GPU Power */
|
||||
NvU32 ratedTgp;
|
||||
|
||||
/* NVPCF subfunction id */
|
||||
NvU32 subFunc;
|
||||
|
||||
/* Configurable TGP offset, in mW */
|
||||
NvU32 ctgpOffsetmW;
|
||||
|
||||
/* TPP, as offset in mW */
|
||||
NvU32 targetTppOffsetmW;
|
||||
|
||||
/* Maximum allowed output, as offset in mW */
|
||||
NvU32 maxOutputOffsetmW;
|
||||
|
||||
/* Minimum allowed output, as offset in mW */
|
||||
NvU32 minOutputOffsetmW;
|
||||
|
||||
/* The System Controller Table Version */
|
||||
NvU8 version;
|
||||
|
||||
/* Base sampling period */
|
||||
NvU16 samplingPeriodmS;
|
||||
|
||||
/* Sampling Multiplier */
|
||||
NvU16 samplingMulti;
|
||||
|
||||
/* Fitler function type */
|
||||
NvU8 filterType;
|
||||
|
||||
union {
|
||||
|
||||
/* weight */
|
||||
NvU8 weight;
|
||||
|
||||
/* windowSize */
|
||||
NvU8 windowSize;
|
||||
} filterParam;
|
||||
|
||||
/* Reserved */
|
||||
NvU16 filterReserved;
|
||||
|
||||
/* Controller Type Dynamic Boost Controller */
|
||||
NvBool bIsBoostController;
|
||||
|
||||
/* Increase power limit ratio */
|
||||
NvU16 incRatio;
|
||||
|
||||
/* Decrease power limit ratio */
|
||||
NvU16 decRatio;
|
||||
|
||||
/* Dynamic Boost Controller DC Support */
|
||||
NvBool bSupportBatt;
|
||||
|
||||
/* CPU type(Intel/AMD) */
|
||||
NvU8 cpuType;
|
||||
|
||||
/* GPU type(Nvidia) */
|
||||
NvU8 gpuType;
|
||||
} NV0000_CTRL_CMD_SYSTEM_NVPCF_GET_POWER_MODE_INFO_PARAMS;
|
||||
|
||||
/* Define the filter types */
|
||||
#define CONTROLLER_FILTER_TYPE_EMWA 0U
|
||||
#define CONTROLLER_FILTER_TYPE_MOVING_MAX 1U
|
||||
|
||||
/* Valid NVPCF subfunction case */
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_SUPPORTED_CASE 0U
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_DYNAMIC_CASE 1U
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_SUPPORTED_CASE 2U
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_DYNAMIC_CASE 3U
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_SUPPORTED_CASE 0U
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_DYNAMIC_CASE 1U
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_SUPPORTED_CASE 2U
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_DYNAMIC_CASE 3U
|
||||
|
||||
/* NVPCF subfunction to get the static data tables */
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_STATIC_CASE 4U
|
||||
|
||||
/* Valid NVPCF subfunction ids */
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_SUPPORTED (0x00000000)
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_DYNAMIC_PARAMS (0x00000002)
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_SUPPORTED (0x00000000)
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_1X_FUNC_GET_DYNAMIC_PARAMS (0x00000002)
|
||||
|
||||
/*
|
||||
* Defines for get supported sub functions bit fields
|
||||
@@ -2132,9 +2184,15 @@ typedef struct NV0000_CTRL_CMD_SYSTEM_NVPCF_GET_POWER_MODE_INFO_PARAMS {
|
||||
/*!
|
||||
* Config DSM 2x version specific defines
|
||||
*/
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_VERSION (0x00000200)
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_SUPPORTED (0x00000000)
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_DYNAMIC_PARAMS (0x00000002)
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_VERSION (0x00000200)
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_SUPPORTED (0x00000000)
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_STATIC_CONFIG_TABLES (0x00000001)
|
||||
#define NVPCF0100_CTRL_CONFIG_DSM_2X_FUNC_GET_DYNAMIC_PARAMS (0x00000002)
|
||||
|
||||
/*!
|
||||
* Defines the max buffer size for config
|
||||
*/
|
||||
#define NVPCF0100_CTRL_CONFIG_2X_BUFF_SIZE_MAX (255)
|
||||
|
||||
/*
|
||||
* NV0000_CTRL_CMD_SYSTEM_SYNC_EXTERNAL_FABRIC_MGMT
|
||||
@@ -2148,7 +2206,7 @@ typedef struct NV0000_CTRL_CMD_SYSTEM_NVPCF_GET_POWER_MODE_INFO_PARAMS {
|
||||
* Possible status values returned are:
|
||||
* NV_OK
|
||||
*/
|
||||
#define NV0000_CTRL_CMD_SYSTEM_SYNC_EXTERNAL_FABRIC_MGMT (0x13cU) /* finn: Evaluated from "(FINN_NV01_ROOT_SYSTEM_INTERFACE_ID << 8) | NV0000_CTRL_CMD_SYSTEM_SYNC_EXTERNAL_FABRIC_MGMT_PARAMS_MESSAGE_ID" */
|
||||
#define NV0000_CTRL_CMD_SYSTEM_SYNC_EXTERNAL_FABRIC_MGMT (0x13cU) /* finn: Evaluated from "(FINN_NV01_ROOT_SYSTEM_INTERFACE_ID << 8) | NV0000_CTRL_CMD_SYSTEM_SYNC_EXTERNAL_FABRIC_MGMT_PARAMS_MESSAGE_ID" */
|
||||
|
||||
#define NV0000_CTRL_CMD_SYSTEM_SYNC_EXTERNAL_FABRIC_MGMT_PARAMS_MESSAGE_ID (0x3CU)
|
||||
|
||||
|
||||
@@ -2860,29 +2860,39 @@ typedef struct NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_PARAMS {
|
||||
NvU32 dataSize;
|
||||
} NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_PARAMS;
|
||||
|
||||
#define NV2080_CTRL_NVLINK_L1_THRESHOLD_SET (0x00000000U)
|
||||
#define NV2080_CTRL_NVLINK_L1_THRESHOLD_GET (0x00000001U)
|
||||
|
||||
/*
|
||||
* NV2080_CTRL_CMD_NVLINK_L1_THRESHOLD
|
||||
* NV2080_CTRL_CMD_NVLINK_SET_L1_THRESHOLD
|
||||
*
|
||||
* This command is used to get/set the L1 threshold value
|
||||
* This command is used to set the L1 threshold value
|
||||
*
|
||||
* [in] flag
|
||||
* Whether to set or get the L1 threshold value
|
||||
*
|
||||
* [in/out] l1Threshold
|
||||
* Used to set or get the L1 threshold value
|
||||
* [in] l1Threshold
|
||||
* Used to set the L1 threshold value
|
||||
*
|
||||
*/
|
||||
#define NV2080_CTRL_NVLINK_L1_THRESHOLD_PARAMS_MESSAGE_ID (0x3eU)
|
||||
#define NV2080_CTRL_NVLINK_SET_L1_THRESHOLD_PARAMS_MESSAGE_ID (0x3eU)
|
||||
|
||||
typedef struct NV2080_CTRL_NVLINK_L1_THRESHOLD_PARAMS {
|
||||
NvU32 flag;
|
||||
typedef struct NV2080_CTRL_NVLINK_SET_L1_THRESHOLD_PARAMS {
|
||||
NvU32 l1Threshold;
|
||||
} NV2080_CTRL_NVLINK_L1_THRESHOLD_PARAMS;
|
||||
} NV2080_CTRL_NVLINK_SET_L1_THRESHOLD_PARAMS;
|
||||
|
||||
#define NV2080_CTRL_CMD_NVLINK_L1_THRESHOLD (0x2080303eU) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_L1_THRESHOLD_PARAMS_MESSAGE_ID" */
|
||||
#define NV2080_CTRL_CMD_NVLINK_SET_L1_THRESHOLD (0x2080303eU) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_SET_L1_THRESHOLD_PARAMS_MESSAGE_ID" */
|
||||
|
||||
/*
|
||||
* NV2080_CTRL_CMD_NVLINK_GET_L1_THRESHOLD
|
||||
*
|
||||
* This command is used to get the L1 threshold value
|
||||
*
|
||||
* [out] l1Threshold
|
||||
* Used to get the L1 threshold value
|
||||
*
|
||||
*/
|
||||
#define NV2080_CTRL_NVLINK_GET_L1_THRESHOLD_PARAMS_MESSAGE_ID (0x3fU)
|
||||
|
||||
typedef struct NV2080_CTRL_NVLINK_GET_L1_THRESHOLD_PARAMS {
|
||||
NvU32 l1Threshold;
|
||||
} NV2080_CTRL_NVLINK_GET_L1_THRESHOLD_PARAMS;
|
||||
|
||||
#define NV2080_CTRL_CMD_NVLINK_GET_L1_THRESHOLD (0x2080303fU) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_GET_L1_THRESHOLD_PARAMS_MESSAGE_ID" */
|
||||
|
||||
/*
|
||||
* NV2080_CTRL_CMD_NVLINK_INBAND_SEND_DATA
|
||||
@@ -2894,14 +2904,14 @@ typedef struct NV2080_CTRL_NVLINK_L1_THRESHOLD_PARAMS {
|
||||
* [In] dataSize
|
||||
* Size of valid data in data array
|
||||
*/
|
||||
#define NV2080_CTRL_NVLINK_INBAND_SEND_DATA_PARAMS_MESSAGE_ID (0x3fU)
|
||||
#define NV2080_CTRL_NVLINK_INBAND_SEND_DATA_PARAMS_MESSAGE_ID (0x40U)
|
||||
|
||||
typedef struct NV2080_CTRL_NVLINK_INBAND_SEND_DATA_PARAMS {
|
||||
NvU8 buffer[NV2080_CTRL_NVLINK_INBAND_MAX_MSG_SIZE];
|
||||
NvU32 dataSize;
|
||||
} NV2080_CTRL_NVLINK_INBAND_SEND_DATA_PARAMS;
|
||||
|
||||
#define NV2080_CTRL_CMD_NVLINK_INBAND_SEND_DATA (0x2080303fU) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_INBAND_SEND_DATA_PARAMS_MESSAGE_ID" */
|
||||
#define NV2080_CTRL_CMD_NVLINK_INBAND_SEND_DATA (0x20803040U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_INBAND_SEND_DATA_PARAMS_MESSAGE_ID" */
|
||||
|
||||
/*
|
||||
* NV2080_CTRL_CMD_NVLINK_IS_GPU_DEGRADED
|
||||
@@ -2913,14 +2923,14 @@ typedef struct NV2080_CTRL_NVLINK_INBAND_SEND_DATA_PARAMS {
|
||||
* [In] bIsGpuDegraded
|
||||
* Boolean to track corresponding GPU is degraded or not
|
||||
*/
|
||||
#define NV2080_CTRL_NVLINK_IS_GPU_DEGRADED_PARAMS_MESSAGE_ID (0x40U)
|
||||
#define NV2080_CTRL_NVLINK_IS_GPU_DEGRADED_PARAMS_MESSAGE_ID (0x41U)
|
||||
|
||||
typedef struct NV2080_CTRL_NVLINK_IS_GPU_DEGRADED_PARAMS {
|
||||
NvU32 linkId;
|
||||
NvBool bIsGpuDegraded;
|
||||
} NV2080_CTRL_NVLINK_IS_GPU_DEGRADED_PARAMS;
|
||||
|
||||
#define NV2080_CTRL_CMD_NVLINK_IS_GPU_DEGRADED (0x20803040U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_IS_GPU_DEGRADED_PARAMS_MESSAGE_ID" */
|
||||
#define NV2080_CTRL_CMD_NVLINK_IS_GPU_DEGRADED (0x20803041U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_IS_GPU_DEGRADED_PARAMS_MESSAGE_ID" */
|
||||
|
||||
/*
|
||||
* NV2080_CTRL_CMD_NVLINK_DIRECT_CONNECT_CHECK
|
||||
@@ -2935,7 +2945,7 @@ typedef struct NV2080_CTRL_NVLINK_IS_GPU_DEGRADED_PARAMS {
|
||||
* [out] bridgePresenceMask
|
||||
* Bit mask of NVLink bridges's presence
|
||||
*/
|
||||
#define NV2080_CTRL_NVLINK_DIRECT_CONNECT_CHECK_PARAMS_MESSAGE_ID (0x41U)
|
||||
#define NV2080_CTRL_NVLINK_DIRECT_CONNECT_CHECK_PARAMS_MESSAGE_ID (0x42U)
|
||||
|
||||
typedef struct NV2080_CTRL_NVLINK_DIRECT_CONNECT_CHECK_PARAMS {
|
||||
NvBool bIsEnoughNvLink;
|
||||
@@ -2943,7 +2953,7 @@ typedef struct NV2080_CTRL_NVLINK_DIRECT_CONNECT_CHECK_PARAMS {
|
||||
NvU32 bridgePresenceMask;
|
||||
} NV2080_CTRL_NVLINK_DIRECT_CONNECT_CHECK_PARAMS;
|
||||
|
||||
#define NV2080_CTRL_CMD_NVLINK_DIRECT_CONNECT_CHECK (0x20803041U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_DIRECT_CONNECT_CHECK_PARAMS_MESSAGE_ID" */
|
||||
#define NV2080_CTRL_CMD_NVLINK_DIRECT_CONNECT_CHECK (0x20803042U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_DIRECT_CONNECT_CHECK_PARAMS_MESSAGE_ID" */
|
||||
|
||||
/*
|
||||
* NV2080_CTRL_CMD_NVLINK_POST_FAULT_UP
|
||||
@@ -2953,13 +2963,13 @@ typedef struct NV2080_CTRL_NVLINK_DIRECT_CONNECT_CHECK_PARAMS {
|
||||
* [out] linkId
|
||||
* Link number which the sequence should be triggered
|
||||
*/
|
||||
#define NV2080_CTRL_NVLINK_POST_FAULT_UP_PARAMS_MESSAGE_ID (0x42U)
|
||||
#define NV2080_CTRL_NVLINK_POST_FAULT_UP_PARAMS_MESSAGE_ID (0x43U)
|
||||
|
||||
typedef struct NV2080_CTRL_NVLINK_POST_FAULT_UP_PARAMS {
|
||||
NvU32 linkId;
|
||||
} NV2080_CTRL_NVLINK_POST_FAULT_UP_PARAMS;
|
||||
|
||||
#define NV2080_CTRL_CMD_NVLINK_POST_FAULT_UP (0x20803042U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_POST_FAULT_UP_PARAMS_MESSAGE_ID" */
|
||||
#define NV2080_CTRL_CMD_NVLINK_POST_FAULT_UP (0x20803043U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_POST_FAULT_UP_PARAMS_MESSAGE_ID" */
|
||||
|
||||
|
||||
/* _ctrl2080nvlink_h_ */
|
||||
|
||||
Reference in New Issue
Block a user