Commit 7d6c13ef authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher

drm/amd/pm: bump Navi1x driver if version and related data structures V2

New changes were involved for the SmuMetrics structure.
Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 3e9e62c7
...@@ -843,11 +843,15 @@ typedef struct { ...@@ -843,11 +843,15 @@ typedef struct {
uint16_t FanMaximumRpm; uint16_t FanMaximumRpm;
uint16_t FanMinimumPwm; uint16_t FanMinimumPwm;
uint16_t FanTargetTemperature; // Degree Celcius uint16_t FanTargetTemperature; // Degree Celcius
uint16_t FanMode;
uint16_t FanMaxPwm;
uint16_t FanMinPwm;
uint16_t FanMaxTemp; // Degree Celcius
uint16_t FanMinTemp; // Degree Celcius
uint16_t MaxOpTemp; // Degree Celcius uint16_t MaxOpTemp; // Degree Celcius
uint16_t FanZeroRpmEnable; uint16_t FanZeroRpmEnable;
uint16_t Padding;
uint32_t MmHubPadding[8]; // SMU internal use uint32_t MmHubPadding[6]; // SMU internal use
} OverDriveTable_t; } OverDriveTable_t;
...@@ -880,6 +884,45 @@ typedef struct { ...@@ -880,6 +884,45 @@ typedef struct {
uint8_t Padding8_2; uint8_t Padding8_2;
uint16_t CurrFanSpeed; uint16_t CurrFanSpeed;
// Padding - ignore
uint32_t MmHubPadding[8]; // SMU internal use
} SmuMetrics_legacy_t;
typedef struct {
uint16_t CurrClock[PPCLK_COUNT];
uint16_t AverageGfxclkFrequencyPostDs;
uint16_t AverageSocclkFrequency;
uint16_t AverageUclkFrequencyPostDs;
uint16_t AverageGfxActivity ;
uint16_t AverageUclkActivity ;
uint8_t CurrSocVoltageOffset ;
uint8_t CurrGfxVoltageOffset ;
uint8_t CurrMemVidOffset ;
uint8_t Padding8 ;
uint16_t AverageSocketPower ;
uint16_t TemperatureEdge ;
uint16_t TemperatureHotspot ;
uint16_t TemperatureMem ;
uint16_t TemperatureVrGfx ;
uint16_t TemperatureVrMem0 ;
uint16_t TemperatureVrMem1 ;
uint16_t TemperatureVrSoc ;
uint16_t TemperatureLiquid0 ;
uint16_t TemperatureLiquid1 ;
uint16_t TemperaturePlx ;
uint16_t Padding16 ;
uint32_t ThrottlerStatus ;
uint8_t LinkDpmLevel;
uint8_t Padding8_2;
uint16_t CurrFanSpeed;
uint16_t AverageGfxclkFrequencyPreDs;
uint16_t AverageUclkFrequencyPreDs;
uint8_t PcieRate;
uint8_t PcieWidth;
uint8_t Padding8_3[2];
// Padding - ignore // Padding - ignore
uint32_t MmHubPadding[8]; // SMU internal use uint32_t MmHubPadding[8]; // SMU internal use
} SmuMetrics_t; } SmuMetrics_t;
...@@ -919,10 +962,61 @@ typedef struct { ...@@ -919,10 +962,61 @@ typedef struct {
uint16_t VcnActivityPercentage ; uint16_t VcnActivityPercentage ;
uint16_t padding16_2; uint16_t padding16_2;
// Padding - ignore
uint32_t MmHubPadding[8]; // SMU internal use
} SmuMetrics_NV12_legacy_t;
typedef struct {
uint16_t CurrClock[PPCLK_COUNT];
uint16_t AverageGfxclkFrequencyPostDs;
uint16_t AverageSocclkFrequency;
uint16_t AverageUclkFrequencyPostDs;
uint16_t AverageGfxActivity ;
uint16_t AverageUclkActivity ;
uint8_t CurrSocVoltageOffset ;
uint8_t CurrGfxVoltageOffset ;
uint8_t CurrMemVidOffset ;
uint8_t Padding8 ;
uint16_t AverageSocketPower ;
uint16_t TemperatureEdge ;
uint16_t TemperatureHotspot ;
uint16_t TemperatureMem ;
uint16_t TemperatureVrGfx ;
uint16_t TemperatureVrMem0 ;
uint16_t TemperatureVrMem1 ;
uint16_t TemperatureVrSoc ;
uint16_t TemperatureLiquid0 ;
uint16_t TemperatureLiquid1 ;
uint16_t TemperaturePlx ;
uint16_t Padding16 ;
uint32_t ThrottlerStatus ;
uint8_t LinkDpmLevel;
uint8_t Padding8_2;
uint16_t CurrFanSpeed;
uint16_t AverageVclkFrequency ;
uint16_t AverageDclkFrequency ;
uint16_t VcnActivityPercentage ;
uint16_t AverageGfxclkFrequencyPreDs;
uint16_t AverageUclkFrequencyPreDs;
uint8_t PcieRate;
uint8_t PcieWidth;
uint32_t Padding32_1;
uint64_t EnergyAccumulator;
// Padding - ignore // Padding - ignore
uint32_t MmHubPadding[8]; // SMU internal use uint32_t MmHubPadding[8]; // SMU internal use
} SmuMetrics_NV12_t; } SmuMetrics_NV12_t;
typedef union SmuMetrics {
SmuMetrics_legacy_t nv10_legacy_metrics;
SmuMetrics_t nv10_metrics;
SmuMetrics_NV12_legacy_t nv12_legacy_metrics;
SmuMetrics_NV12_t nv12_metrics;
} SmuMetrics_NV1X_t;
typedef struct { typedef struct {
uint16_t MinClock; // This is either DCEFCLK or SOCCLK (in MHz) uint16_t MinClock; // This is either DCEFCLK or SOCCLK (in MHz)
uint16_t MaxClock; // This is either DCEFCLK or SOCCLK (in MHz) uint16_t MaxClock; // This is either DCEFCLK or SOCCLK (in MHz)
......
...@@ -27,9 +27,9 @@ ...@@ -27,9 +27,9 @@
#define SMU11_DRIVER_IF_VERSION_INV 0xFFFFFFFF #define SMU11_DRIVER_IF_VERSION_INV 0xFFFFFFFF
#define SMU11_DRIVER_IF_VERSION_ARCT 0x17 #define SMU11_DRIVER_IF_VERSION_ARCT 0x17
#define SMU11_DRIVER_IF_VERSION_NV10 0x36 #define SMU11_DRIVER_IF_VERSION_NV10 0x37
#define SMU11_DRIVER_IF_VERSION_NV12 0x36 #define SMU11_DRIVER_IF_VERSION_NV12 0x38
#define SMU11_DRIVER_IF_VERSION_NV14 0x36 #define SMU11_DRIVER_IF_VERSION_NV14 0x38
#define SMU11_DRIVER_IF_VERSION_Sienna_Cichlid 0x3D #define SMU11_DRIVER_IF_VERSION_Sienna_Cichlid 0x3D
#define SMU11_DRIVER_IF_VERSION_Navy_Flounder 0xE #define SMU11_DRIVER_IF_VERSION_Navy_Flounder 0xE
#define SMU11_DRIVER_IF_VERSION_VANGOGH 0x02 #define SMU11_DRIVER_IF_VERSION_VANGOGH 0x02
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment