mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-03-03 12:20:11 +00:00
550.40.07
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2014-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2014-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
@@ -31,6 +31,7 @@
|
||||
//
|
||||
|
||||
#include "ctrl/ctrl2080/ctrl2080base.h"
|
||||
#include "nvcfg_sdk.h"
|
||||
|
||||
/* NV20_SUBDEVICE_XX bus control commands and parameters */
|
||||
|
||||
@@ -809,6 +810,8 @@ typedef struct NV2080_CTRL_NVLINK_CLEAR_COUNTERS_PARAMS {
|
||||
NV_DECLARE_ALIGNED(NvU64 linkMask, 8);
|
||||
} NV2080_CTRL_NVLINK_CLEAR_COUNTERS_PARAMS;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* NV2080_CTRL_CMD_NVLINK_INJECT_ERROR
|
||||
* This command causes all the same actions to occur as if the related
|
||||
@@ -820,7 +823,7 @@ typedef struct NV2080_CTRL_NVLINK_CLEAR_COUNTERS_PARAMS {
|
||||
* This parameter specifies that the error should be fatal.
|
||||
*
|
||||
*/
|
||||
#define NV2080_CTRL_CMD_NVLINK_INJECT_ERROR (0x20803006U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_INJECT_ERROR_PARAMS_MESSAGE_ID" */
|
||||
#define NV2080_CTRL_CMD_NVLINK_INJECT_ERROR (0x20803006U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_INJECT_ERROR_PARAMS_MESSAGE_ID" */
|
||||
|
||||
#define NV2080_CTRL_NVLINK_INJECT_ERROR_PARAMS_MESSAGE_ID (0x6U)
|
||||
|
||||
@@ -1655,13 +1658,23 @@ typedef struct NV2080_CTRL_NVLINK_ENABLE_NVLINK_PEER_PARAMS {
|
||||
NvBool bEnable;
|
||||
} NV2080_CTRL_NVLINK_ENABLE_NVLINK_PEER_PARAMS;
|
||||
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_COUNT_TX_NVHS 0U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_COUNT_TX_EIGHTH 1U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_COUNT_TX_OTHER 2U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_NUM_TX_LP_ENTER 3U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_NUM_TX_LP_EXIT 4U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_COUNT_TX_SLEEP 5U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_MAX_COUNTERS 6U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_COUNT_TX_NVHS 0U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_COUNT_TX_EIGHTH 1U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_COUNT_TX_OTHER 2U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_NUM_TX_LP_ENTER 3U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_NUM_TX_LP_EXIT 4U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_COUNT_TX_SLEEP 5U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_HS_TIME 6U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_LOCAL_FULL_BW_EXIT_TIME 7U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_LOCAL_LP_ENTRY_TIME 8U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_LOCAL_LP_EXIT_TIME 9U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_LOCAL_FULL_BW_ENTRY_TIME 10U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_REMOTE_FULL_BW_EXIT_TIME 11U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_REMOTE_LP_ENTRY_TIME 12U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_REMOTE_LP_EXIT_TIME 13U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_REMOTE_FULL_BW_ENTRY_TIME 14U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_OTHER_STATE_TIME 15U
|
||||
#define NV2080_CTRL_NVLINK_GET_LP_COUNTERS_MAX_COUNTERS 16U
|
||||
|
||||
/*
|
||||
* NV2080_CTRL_CMD_NVLINK_GET_LP_COUNTERS
|
||||
@@ -1694,6 +1707,8 @@ typedef struct NV2080_CTRL_NVLINK_GET_LP_COUNTERS_PARAMS {
|
||||
|
||||
#define NV2080_CTRL_CMD_NVLINK_GET_LP_COUNTERS (0x20803018U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_GET_LP_COUNTERS_PARAMS_MESSAGE_ID" */
|
||||
|
||||
#define NV2080_CTRL_CMD_NVLINK_CLEAR_LP_COUNTERS (0x20803052U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8 | 0x52)" */
|
||||
|
||||
/*
|
||||
* NVLINK Link states
|
||||
* These should ALWAYS match the nvlink core library defines in nvlink.h
|
||||
@@ -2830,6 +2845,7 @@ typedef struct NV2080_CTRL_NVLINK_PROCESS_INIT_DISABLED_LINKS_PARAMS {
|
||||
* cmd [IN] enum identifying the EOM related command for the driver to process
|
||||
* link [IN] linkId
|
||||
* params [IN] NvU32 word that is written into NV_PMINION_SCRATCH_SWRW_0 before calling CONFIGEOM dlcmd
|
||||
* measurements [OUT] output of EOM
|
||||
*
|
||||
* Params Packing is specified in Minion IAS
|
||||
*/
|
||||
@@ -2841,27 +2857,37 @@ typedef enum NV2080_CTRL_CMD_NVLINK_EOM_CONTROL_PARAMS_COMMAND {
|
||||
NVLINK_EOM_CONTROL_FULL_EOM_SEQUENCE = 3,
|
||||
} NV2080_CTRL_CMD_NVLINK_EOM_CONTROL_PARAMS_COMMAND;
|
||||
|
||||
typedef struct NV2080_CTRL_NVLINK_EOM_MEASUREMENT {
|
||||
NvU8 upper;
|
||||
NvU8 middle;
|
||||
NvU8 lower;
|
||||
NvU8 composite;
|
||||
} NV2080_CTRL_NVLINK_EOM_MEASUREMENT;
|
||||
|
||||
#define NV2080_CTRL_NVLINK_EOM_CONTROL_PARAMS_MESSAGE_ID (0x3cU)
|
||||
|
||||
typedef struct NV2080_CTRL_NVLINK_EOM_CONTROL_PARAMS {
|
||||
NV2080_CTRL_CMD_NVLINK_EOM_CONTROL_PARAMS_COMMAND cmd;
|
||||
NvU32 linkId;
|
||||
NvU32 params;
|
||||
NV2080_CTRL_NVLINK_EOM_MEASUREMENT measurements[NV2080_CTRL_NVLINK_MAX_LANES];
|
||||
} NV2080_CTRL_NVLINK_EOM_CONTROL_PARAMS;
|
||||
|
||||
#define NV2080_CTRL_CMD_NVLINK_EOM_CONTROL (0x2080303c) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_EOM_CONTROL_PARAMS_MESSAGE_ID" */
|
||||
#define NV2080_CTRL_CMD_NVLINK_EOM_CONTROL (0x2080303c) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_EOM_CONTROL_PARAMS_MESSAGE_ID" */
|
||||
|
||||
/*!
|
||||
* Inband Recieved Data
|
||||
* Inband Received Data
|
||||
*/
|
||||
#define NV2080_CTRL_NVLINK_INBAND_MAX_MSG_SIZE 4096
|
||||
#define NV2080_CTRL_NVLINK_INBAND_MAX_DATA_SIZE 5120
|
||||
#define NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_PARAMS_MESSAGE_ID (0x3dU)
|
||||
|
||||
typedef struct NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_PARAMS {
|
||||
NvU8 data[NV2080_CTRL_NVLINK_INBAND_MAX_MSG_SIZE];
|
||||
NvU8 data[NV2080_CTRL_NVLINK_INBAND_MAX_DATA_SIZE];
|
||||
NvU32 dataSize;
|
||||
} NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_PARAMS;
|
||||
|
||||
#define NV2080_CTRL_CMD_READ_NVLINK_INBAND_RESPONSE (0x2080303d) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_INBAND_RECEIVED_DATA_PARAMS_MESSAGE_ID" */
|
||||
|
||||
/*
|
||||
* NV2080_CTRL_CMD_NVLINK_SET_L1_THRESHOLD
|
||||
*
|
||||
@@ -2909,7 +2935,7 @@ typedef struct NV2080_CTRL_NVLINK_GET_L1_THRESHOLD_PARAMS {
|
||||
#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];
|
||||
NvU8 buffer[NV2080_CTRL_NVLINK_INBAND_MAX_DATA_SIZE];
|
||||
NvU32 dataSize;
|
||||
} NV2080_CTRL_NVLINK_INBAND_SEND_DATA_PARAMS;
|
||||
|
||||
@@ -3074,5 +3100,18 @@ typedef struct NV2080_CTRL_NVLINK_IS_REDUCED_CONFIG_PARAMS {
|
||||
#define NV2080_CTRL_CMD_NVLINK_IS_REDUCED_CONFIG (0x20803046U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | NV2080_CTRL_NVLINK_IS_REDUCED_CONFIG_PARAMS_MESSAGE_ID" */
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
*
|
||||
* NV2080_CTRL_CMD_NVLINK_ENABLE_LINKS
|
||||
*
|
||||
* Nvlink Fatal Error Recovery
|
||||
* This command accepts no parameters.
|
||||
*
|
||||
*/
|
||||
|
||||
#define NV2080_CTRL_CMD_NVLINK_FATAL_ERROR_RECOVERY (0x20803048U) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_NVLINK_INTERFACE_ID << 8) | 0x48" */
|
||||
|
||||
|
||||
/* _ctrl2080nvlink_h_ */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user