mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-04-21 14:59:19 +00:00
520.61.05
This commit is contained in:
@@ -96,6 +96,8 @@
|
||||
#define NV_MSGBOX_CMD_OPCODE_RESERVED_0 0x00000024
|
||||
#define NV_MSGBOX_CMD_OPCODE_RESERVED_1 0x00000025
|
||||
#define NV_MSGBOX_CMD_OPCODE_GET_POWER_HINT_INFO 0x00000026
|
||||
#define NV_MSGBOX_CMD_OPCODE_DYNAMIC_SYSTEM_INFORMATION 0x00000027
|
||||
#define NV_MSGBOX_CMD_OPCODE_GPU_PERFORMANCE_MONITORING 0x00000028
|
||||
|
||||
#define NV_MSGBOX_CMD_ARG1 15:8
|
||||
#define NV_MSGBOX_CMD_ARG1_NULL 0x00000000
|
||||
@@ -105,7 +107,8 @@
|
||||
#define NV_MSGBOX_CMD_ARG1_TEMP_BOARD 0x00000004
|
||||
#define NV_MSGBOX_CMD_ARG1_TEMP_MEMORY 0x00000005
|
||||
#define NV_MSGBOX_CMD_ARG1_TEMP_PWR_SUPPLY 0x00000006
|
||||
#define NV_MSGBOX_CMD_ARG1_TEMP_NUM_SENSORS 7
|
||||
#define NV_MSGBOX_CMD_ARG1_TEMP_T_LIMIT 0x00000007
|
||||
#define NV_MSGBOX_CMD_ARG1_TEMP_NUM_SENSORS 8
|
||||
#define NV_MSGBOX_CMD_ARG1_POWER_TOTAL 0x00000000
|
||||
#define NV_MSGBOX_CMD_ARG1_SMBPBI_POWER 0x00000001
|
||||
/* SysId info type encodings for opcode NV_MSGBOX_CMD_OPCODE_GET_SYS_ID_DATA (0x05) */
|
||||
@@ -318,6 +321,33 @@
|
||||
#define NV_MSGBOX_CMD_ARG1_GET_POWER_HINT_INFO_NUM \
|
||||
(NV_MSGBOX_CMD_ARG1_GET_POWER_HINT_INFO_PROFILES + 1)
|
||||
|
||||
// Arg1 for _GPU_PERFORMANCE_MONITORING
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_ACTION 15:14
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_ACTION_GET_INSTANTANEOUS_METRIC 0x00000000
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_ACTION_GET_SNAPSHOT_METRIC 0x00000001
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_ACTION_CAPTURE_SNAPSHOT 0x00000002
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_ACTION_SET_MULTIPLIER 0x00000003
|
||||
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC 13:8
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_GRAPHICS_ENGINE 0x00000000
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_SM_ACTIVITY 0x00000001
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_SM_OCCUPANCY 0x00000002
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_TENSOR_CORE_ACTIVITY 0x00000003
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_DRAM_USAGE 0x00000004
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_FP64_ACTIVITY 0x00000005
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_FP32_ACTIVITY 0x00000006
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_FP16_ACTIVITY 0x00000007
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_PCIE_TX_BANDWIDTH 0x00000008
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_PCIE_RX_BANDWIDTH 0x00000009
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_NVLINK_RAW_TX_BANDWIDTH 0x0000000A
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_NVLINK_DATA_TX_BANDWIDTH 0x0000000B
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_NVLINK_RAW_RX_BANDWIDTH 0x0000000C
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_NVLINK_DATA_RX_BANDWIDTH 0x0000000D
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_NVDEC_UTILIZATION 0x0000000E
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_NVJPG_UTILIZATION 0x0000000F
|
||||
#define NV_MSGBOX_CMD_ARG1_GPM_METRIC_NVOFA_UTILIZATION 0x00000010
|
||||
|
||||
#define NV_MSGBOX_CMD_ARG1_DYN_SYS_INFO_DRIVER_VERSION_V1 0x00000000
|
||||
|
||||
#define NV_MSGBOX_CMD_ARG2 23:16
|
||||
#define NV_MSGBOX_CMD_ARG2_NULL 0x00000000
|
||||
@@ -409,6 +439,17 @@
|
||||
#define NV_MSGBOX_CMD_ARG2_GET_POWER_HINT_INFO_PROFILES_TOTAL_PAGES \
|
||||
(NV_MSGBOX_CMD_ARG2_GET_POWER_HINT_INFO_PROFILES_PAGE_3 + 1)
|
||||
|
||||
// Arg2 for _GPU_PERFORMANCE_MONITORING
|
||||
#define NV_MSGBOX_CMD_ARG2_GPM_PARTITION 23:16
|
||||
#define NV_MSGBOX_CMD_ARG2_GPM_PARTITION_AGGREGATE 0x000000FF
|
||||
|
||||
#define NV_MSGBOX_CMD_ARG2_GPM_MULTIPLIER 23:16
|
||||
#define NV_MSGBOX_CMD_ARG2_GPM_MULTIPLIER_1X 0x00000001
|
||||
#define NV_MSGBOX_CMD_ARG2_GPM_MULTIPLIER_2X 0x00000002
|
||||
#define NV_MSGBOX_CMD_ARG2_GPM_MULTIPLIER_5X 0x00000005
|
||||
#define NV_MSGBOX_CMD_ARG2_GPM_MULTIPLIER_10X 0x0000000A
|
||||
#define NV_MSGBOX_CMD_ARG2_GPM_MULTIPLIER_100X 0x00000064
|
||||
|
||||
|
||||
#define NV_MSGBOX_CMD_STATUS 28:24
|
||||
#define NV_MSGBOX_CMD_STATUS_NULL 0x00000000
|
||||
@@ -502,6 +543,22 @@
|
||||
*/
|
||||
#define NV_MSGBOX_CMD_NVLINK_INFO_GET_NVLINK_INFO_AVAILABILTY_PAGE_0 0x00000000
|
||||
|
||||
/**
|
||||
* This field is populated as response to the following metrics:
|
||||
* - NV_MSGBOX_CMD_ARG1_GPM_METRIC_DRAM_USAGE
|
||||
* - NV_MSGBOX_CMD_ARG1_GPM_METRIC_PCIE_TX_BANDWIDTH
|
||||
* - NV_MSGBOX_CMD_ARG1_GPM_METRIC_PCIE_RX_BANDWIDTH
|
||||
* - NV_MSGBOX_CMD_ARG1_GPM_METRIC_NVLINK_RAW_TX_BANDWIDTH
|
||||
* - NV_MSGBOX_CMD_ARG1_GPM_METRIC_NVLINK_DATA_TX_BANDWIDTH
|
||||
* - NV_MSGBOX_CMD_ARG1_GPM_METRIC_NVLINK_RAW_RX_BANDWIDTH
|
||||
* - NV_MSGBOX_CMD_ARG1_GPM_METRIC_NVLINK_DATA_RX_BANDWIDTH
|
||||
*/
|
||||
#define NV_MSGBOX_CMD_GPM_DATA_GRANULARITY 2:0
|
||||
#define NV_MSGBOX_CMD_GPM_DATA_GRANULARITY_B 0x00000000
|
||||
#define NV_MSGBOX_CMD_GPM_DATA_GRANULARITY_KIB 0x00000001
|
||||
#define NV_MSGBOX_CMD_GPM_DATA_GRANULARITY_MIB 0x00000002
|
||||
#define NV_MSGBOX_CMD_GPM_DATA_GRANULARITY_GIB 0x00000003
|
||||
|
||||
/* MSGBOX data, capability dword structure */
|
||||
|
||||
#define NV_MSGBOX_DATA_REG 31:0
|
||||
@@ -526,6 +583,9 @@
|
||||
#define NV_MSGBOX_DATA_CAP_0_TEMP_PWR_SUPPLY 6:6
|
||||
#define NV_MSGBOX_DATA_CAP_0_TEMP_PWR_SUPPLY_NOT_AVAILABLE 0x00000000
|
||||
#define NV_MSGBOX_DATA_CAP_0_TEMP_PWR_SUPPLY_AVAILABLE 0x00000001
|
||||
#define NV_MSGBOX_DATA_CAP_0_TEMP_T_LIMIT 7:7
|
||||
#define NV_MSGBOX_DATA_CAP_0_TEMP_T_LIMIT_NOT_AVAILABLE 0x00000000
|
||||
#define NV_MSGBOX_DATA_CAP_0_TEMP_T_LIMIT_AVAILABLE 0x00000001
|
||||
#define NV_MSGBOX_DATA_CAP_0_EXT_TEMP_BITS 11:8
|
||||
#define NV_MSGBOX_DATA_CAP_0_EXT_TEMP_BITS_ZERO 0x00000000
|
||||
#define NV_MSGBOX_DATA_CAP_0_EXT_TEMP_BITS_ADT7473 0x00000002
|
||||
@@ -759,9 +819,15 @@
|
||||
#define NV_MSGBOX_DATA_CAP_4_FAN_CURVE_POINTS_GET_SET 11:11
|
||||
#define NV_MSGBOX_DATA_CAP_4_FAN_CURVE_POINTS_GET_SET_NOT_AVAILABLE 0x00000000
|
||||
#define NV_MSGBOX_DATA_CAP_4_FAN_CURVE_POINTS_GET_SET_AVAILABLE 0x00000001
|
||||
#define NV_MSGBOX_DATA_CAP_4_POWER_HINT 22:22
|
||||
#define NV_MSGBOX_DATA_CAP_4_POWER_HINT_NOT_AVAILABLE 0x00000000
|
||||
#define NV_MSGBOX_DATA_CAP_4_POWER_HINT_AVAILABLE 0x00000001
|
||||
#define NV_MSGBOX_DATA_CAP_4_POWER_HINT 22:22
|
||||
#define NV_MSGBOX_DATA_CAP_4_POWER_HINT_NOT_AVAILABLE 0x00000000
|
||||
#define NV_MSGBOX_DATA_CAP_4_POWER_HINT_AVAILABLE 0x00000001
|
||||
#define NV_MSGBOX_DATA_CAP_4_DRIVER_VERSION_V1 23:23
|
||||
#define NV_MSGBOX_DATA_CAP_4_DRIVER_VERSION_V1_NOT_AVAILABLE 0x00000000
|
||||
#define NV_MSGBOX_DATA_CAP_4_DRIVER_VERSION_V1_AVAILABLE 0x00000001
|
||||
#define NV_MSGBOX_DATA_CAP_4_GPU_PERFORMANCE_MONITORING 24:24
|
||||
#define NV_MSGBOX_DATA_CAP_4_GPU_PERFORMANCE_MONITORING_NOT_AVAILABLE 0x00000000
|
||||
#define NV_MSGBOX_DATA_CAP_4_GPU_PERFORMANCE_MONITORING_AVAILABLE 0x00000001
|
||||
|
||||
/* ECC counters */
|
||||
#define NV_MSGBOX_DATA_ECC_CNT_16BIT_DBE 31:16
|
||||
@@ -1194,6 +1260,8 @@
|
||||
#define NV_MSGBOX_DATA_POWER_HINT_INFO_PROFILES_PAGE_0_CUSTOMER_CUSTOM_7_NOT_AVAILABLE 0
|
||||
#define NV_MSGBOX_DATA_POWER_HINT_INFO_PROFILES_PAGE_0_CUSTOMER_CUSTOM_7_AVAILABLE 1
|
||||
|
||||
#define NV_MSGBOX_DATA_DYN_SYS_INFO_SIZE_DRIVER_VERSION 64
|
||||
|
||||
/* Event types */
|
||||
typedef enum
|
||||
{
|
||||
@@ -1944,6 +2012,27 @@ typedef struct
|
||||
// new param starting from here.
|
||||
} NV_MSGBOX_POWER_HINT_PARAMS;
|
||||
|
||||
/*!
|
||||
* @brief Union of all possible parameter struct. Used to determine the maximum
|
||||
* amount of space parameter blocks can take.
|
||||
*/
|
||||
typedef union {
|
||||
NV_MSGBOX_PMGR_PWR_TGP_LIMIT_CONTROL_PARAMS tgpLimitControl;
|
||||
NV_MSGBOX_THERMAL_FAN_V1_COUNT_PARAMS fanCountV1Get;
|
||||
NV_MSGBOX_THERMAL_FAN_V1_INFO_PARAMS fanCountV1Info;
|
||||
NV_MSGBOX_THERMAL_FAN_V1_STATUS_PARAMS fanCountV1Status;
|
||||
NV_MSGBOX_OVERCLOCKING_LIMIT_CONTROL_PARAMS overclockingLimitControl;
|
||||
NV_MSGBOX_ENERGY_COUNTER_STATUS_PARAMS energyCounterStatus;
|
||||
NV_MSGBOX_VIOLATION_COUNTERS_STATUS_PARAMS violationCountersStatus;
|
||||
NV_MSGBOX_UTILIZATION_RATE_PARAMS utilizationRate;
|
||||
NV_MSGBOX_OOB_CLOCK_LIMIT_CTRL_PARAMS oobClockLimitCtrlParams;
|
||||
NV_MSGBOX_DEVICE_MODE_CONTROL_PARAMS deviceModeControlParams;
|
||||
NV_MSGBOX_TEST_MESSAGE_SEND_PARAMS testMessageSend;
|
||||
NV_MSGBOX_CLOCK_LIMIT_GET_PARAMS clockLimitGet;
|
||||
NV_MSGBOX_THERMAL_FAN_V3_FAN_CURVE_POINTS_PARAMS fanCurvePointsV3;
|
||||
NV_MSGBOX_POWER_HINT_PARAMS powerHintParams;
|
||||
} NV_MSGBOX_ASYNC_REQ_PARAMS_UNION;
|
||||
|
||||
#endif // !NV_MSGBOX_NO_PARAM_STRUCTS
|
||||
|
||||
/* Utility command constructor macros */
|
||||
@@ -2348,9 +2437,24 @@ typedef struct
|
||||
DRF_DEF(_MSGBOX, _CMD, _ARG2_ECC_V5_ERR_BUF_TYPE, _ADDR) \
|
||||
)
|
||||
|
||||
#define NV_MSGBOX_CMD_SET_COPY_DATA(cmd) \
|
||||
( \
|
||||
FLD_SET_DRF(_MSGBOX, _CMD, _COPY_DATA, _ON, (cmd)) \
|
||||
#define NV_MSGBOX_CMD_SET_COPY_DATA(cmd) \
|
||||
( \
|
||||
FLD_SET_DRF(_MSGBOX, _CMD, _COPY_DATA, _ON, (cmd)) \
|
||||
)
|
||||
|
||||
#define NV_MSGBOX_CMD_GPM_GET_METRIC(type, metric, partition) \
|
||||
( \
|
||||
NV_MSGBOX_CMD(_GPU_PERFORMANCE_MONITORING, 0, 0) | \
|
||||
DRF_DEF(_MSGBOX, _CMD, _ARG1_GPM_ACTION, type) | \
|
||||
DRF_DEF(_MSGBOX, _CMD, _ARG1_GPM_METRIC, metric) | \
|
||||
DRF_DEF(_MSGBOX, _CMD, _ARG2_GPM_PARTITION, partition) \
|
||||
)
|
||||
|
||||
#define NV_MSGBOX_CMD_GPM_SET_INTERVAL(interval) \
|
||||
( \
|
||||
NV_MSGBOX_CMD(_GPU_PERFORMANCE_MONITORING, 0, 0) | \
|
||||
DRF_DEF(_MSGBOX, _CMD, _ARG1_GPM_ACTION, _SET_INTERVAL) | \
|
||||
DRF_DEF(_MSGBOX, _CMD, _ARG1_GPM_INTERVAL, (interval)) \
|
||||
)
|
||||
|
||||
#define NV_MSGBOX_GET_CMD_OPCODE(cmd) DRF_VAL(_MSGBOX, _CMD, _OPCODE, (cmd))
|
||||
|
||||
Reference in New Issue
Block a user