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

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
Loading
Loading
Loading
Loading
+96 −2
Original line number Diff line number Diff line
@@ -843,11 +843,15 @@ typedef struct {
  uint16_t      FanMaximumRpm;
  uint16_t      FanMinimumPwm;
  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      FanZeroRpmEnable;
  uint16_t      Padding;

  uint32_t     MmHubPadding[8]; // SMU internal use  
  uint32_t     MmHubPadding[6]; // SMU internal use

} OverDriveTable_t; 

@@ -880,6 +884,45 @@ typedef struct {
  uint8_t  Padding8_2;
  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
  uint32_t     MmHubPadding[8]; // SMU internal use
} SmuMetrics_t;
@@ -919,10 +962,61 @@ typedef struct {
  uint16_t VcnActivityPercentage ;
  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
  uint32_t     MmHubPadding[8]; // SMU internal use
} 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 {
  uint16_t MinClock; // This is either DCEFCLK or SOCCLK (in MHz)
  uint16_t MaxClock; // This is either DCEFCLK or SOCCLK (in MHz)
+3 −3
Original line number Diff line number Diff line
@@ -27,9 +27,9 @@

#define SMU11_DRIVER_IF_VERSION_INV 0xFFFFFFFF
#define SMU11_DRIVER_IF_VERSION_ARCT 0x17
#define SMU11_DRIVER_IF_VERSION_NV10 0x36
#define SMU11_DRIVER_IF_VERSION_NV12 0x36
#define SMU11_DRIVER_IF_VERSION_NV14 0x36
#define SMU11_DRIVER_IF_VERSION_NV10 0x37
#define SMU11_DRIVER_IF_VERSION_NV12 0x38
#define SMU11_DRIVER_IF_VERSION_NV14 0x38
#define SMU11_DRIVER_IF_VERSION_Sienna_Cichlid 0x3D
#define SMU11_DRIVER_IF_VERSION_Navy_Flounder 0xE
#define SMU11_DRIVER_IF_VERSION_VANGOGH 0x02
+574 −35

File changed.

Preview size limit exceeded, changes collapsed.