mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 22:52:19 +02:00
drm/amd/pm: Update pmfw header for smu_v13_0_12
Update pmfw header for smu_v13_0_12 with system temperature metrics table Signed-off-by: Asad Kamal <asad.kamal@amd.com> Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
775c7e8e4d
commit
793ff2bafe
|
|
@ -135,7 +135,63 @@ typedef enum {
|
|||
GFX_DVM_MARGIN_COUNT
|
||||
} GFX_DVM_MARGIN_e;
|
||||
|
||||
#define SMU_METRICS_TABLE_VERSION 0x13
|
||||
typedef enum{
|
||||
SYSTEM_TEMP_UBB_FPGA,
|
||||
SYSTEM_TEMP_UBB_FRONT,
|
||||
SYSTEM_TEMP_UBB_BACK,
|
||||
SYSTEM_TEMP_UBB_OAM7,
|
||||
SYSTEM_TEMP_UBB_IBC,
|
||||
SYSTEM_TEMP_UBB_UFPGA,
|
||||
SYSTEM_TEMP_UBB_OAM1,
|
||||
SYSTEM_TEMP_OAM_0_1_HSC,
|
||||
SYSTEM_TEMP_OAM_2_3_HSC,
|
||||
SYSTEM_TEMP_OAM_4_5_HSC,
|
||||
SYSTEM_TEMP_OAM_6_7_HSC,
|
||||
SYSTEM_TEMP_UBB_FPGA_0V72_VR,
|
||||
SYSTEM_TEMP_UBB_FPGA_3V3_VR,
|
||||
SYSTEM_TEMP_RETIMER_0_1_2_3_1V2_VR,
|
||||
SYSTEM_TEMP_RETIMER_4_5_6_7_1V2_VR,
|
||||
SYSTEM_TEMP_RETIMER_0_1_0V9_VR,
|
||||
SYSTEM_TEMP_RETIMER_4_5_0V9_VR,
|
||||
SYSTEM_TEMP_RETIMER_2_3_0V9_VR,
|
||||
SYSTEM_TEMP_RETIMER_6_7_0V9_VR,
|
||||
SYSTEM_TEMP_OAM_0_1_2_3_3V3_VR,
|
||||
SYSTEM_TEMP_OAM_4_5_6_7_3V3_VR,
|
||||
SYSTEM_TEMP_IBC_HSC,
|
||||
SYSTEM_TEMP_IBC,
|
||||
SYSTEM_TEMP_MAX_ENTRIES = 32
|
||||
} SYSTEM_TEMP_e;
|
||||
|
||||
typedef enum{
|
||||
NODE_TEMP_RETIMER,
|
||||
NODE_TEMP_IBC_TEMP,
|
||||
NODE_TEMP_IBC_2_TEMP,
|
||||
NODE_TEMP_VDD18_VR_TEMP,
|
||||
NODE_TEMP_04_HBM_B_VR_TEMP,
|
||||
NODE_TEMP_04_HBM_D_VR_TEMP,
|
||||
NODE_TEMP_MAX_TEMP_ENTRIES = 12
|
||||
} NODE_TEMP_e;
|
||||
|
||||
typedef enum {
|
||||
SVI_VDDCR_VDD0_TEMP,
|
||||
SVI_VDDCR_VDD1_TEMP,
|
||||
SVI_VDDCR_VDD2_TEMP,
|
||||
SVI_VDDCR_VDD3_TEMP,
|
||||
SVI_VDDCR_SOC_A_TEMP,
|
||||
SVI_VDDCR_SOC_C_TEMP,
|
||||
SVI_VDDCR_SOCIO_A_TEMP,
|
||||
SVI_VDDCR_SOCIO_C_TEMP,
|
||||
SVI_VDD_085_HBM_TEMP,
|
||||
SVI_VDDCR_11_HBM_B_TEMP,
|
||||
SVI_VDDCR_11_HBM_D_TEMP,
|
||||
SVI_VDD_USR_TEMP,
|
||||
SVI_VDDIO_11_E32_TEMP,
|
||||
SVI_MAX_TEMP_ENTRIES, // 13
|
||||
} SVI_TEMP_e;
|
||||
|
||||
#define SMU_METRICS_TABLE_VERSION 0x14
|
||||
|
||||
#define SMU_SYSTEM_METRICS_TABLE_VERSION 0x0
|
||||
|
||||
typedef struct __attribute__((packed, aligned(4))) {
|
||||
uint64_t AccumulationCounter;
|
||||
|
|
@ -231,11 +287,27 @@ typedef struct __attribute__((packed, aligned(4))) {
|
|||
uint64_t GfxclkBelowHostLimitThmAcc[8];
|
||||
uint64_t GfxclkBelowHostLimitTotalAcc[8];
|
||||
uint64_t GfxclkLowUtilizationAcc[8];
|
||||
|
||||
uint32_t AidTemperature[4];
|
||||
uint32_t XcdTemperature[8];
|
||||
uint32_t HbmTemperature[8];
|
||||
} MetricsTable_t;
|
||||
|
||||
#define SMU_VF_METRICS_TABLE_MASK (1 << 31)
|
||||
#define SMU_VF_METRICS_TABLE_VERSION (0x6 | SMU_VF_METRICS_TABLE_MASK)
|
||||
|
||||
#pragma pack(push, 4)
|
||||
typedef struct {
|
||||
uint64_t AccumulationCounter; // Last update timestamp
|
||||
uint16_t LabelVersion; // Defaults to 0.
|
||||
uint16_t NodeIdentifier; // Unique identifier to each node on system.
|
||||
int16_t SystemTemperatures[SYSTEM_TEMP_MAX_ENTRIES]; // Signed integer temperature value in Celsius, unused fields are set to 0xFFFF
|
||||
int16_t NodeTemperatures[NODE_TEMP_MAX_TEMP_ENTRIES]; // Signed integer temperature value in Celsius, unused fields are set to 0xFFFF
|
||||
int16_t VrTemperatures[SVI_MAX_TEMP_ENTRIES]; // Signed integer temperature value in Celsius
|
||||
int16_t spare[3];
|
||||
} SystemMetricsTable_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct __attribute__((packed, aligned(4))) {
|
||||
uint32_t AccumulationCounter;
|
||||
uint32_t InstGfxclk_TargFreq;
|
||||
|
|
|
|||
|
|
@ -116,7 +116,11 @@
|
|||
#define PPSMC_MSG_DumpErrorRecord 0x57
|
||||
#define PPSMC_MSG_EraseRasTable 0x58
|
||||
#define PPSMC_MSG_GetStaticMetricsTable 0x59
|
||||
#define PPSMC_Message_Count 0x5A
|
||||
#define PPSMC_MSG_ResetVfArbitersByIndex 0x5A
|
||||
#define PPSMC_MSG_GetBadPageSeverity 0x5B
|
||||
#define PPSMC_MSG_GetSystemMetricsTable 0x5C
|
||||
#define PPSMC_MSG_GetSystemMetricsVersion 0x5D
|
||||
#define PPSMC_Message_Count 0x5E
|
||||
|
||||
//PPSMC Reset Types for driver msg argument
|
||||
#define PPSMC_RESET_TYPE_DRIVER_MODE_1_RESET 0x1
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user