Re: [1/2] drm/amd/pm: update SMU IP v13.0.4 driver interface version

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/13/2022 00:46, Tim Huang wrote:
Update the SMU driver interface version to V7.

Signed-off-by: Tim Huang <tim.huang@xxxxxxx>
---
  .../swsmu/inc/pmfw_if/smu13_driver_if_v13_0_4.h | 17 +++++++++++++++--
  1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_4.h b/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_4.h
index ae2d337158f3..f77401709d83 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_4.h
+++ b/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_4.h
@@ -27,7 +27,7 @@
  // *** IMPORTANT ***
  // SMU TEAM: Always increment the interface version if
  // any structure is changed in this file
-#define PMFW_DRIVER_IF_VERSION 5
+#define PMFW_DRIVER_IF_VERSION 7
typedef struct {
    int32_t value;
@@ -163,8 +163,8 @@ typedef struct {
    uint16_t DclkFrequency;               //[MHz]
    uint16_t MemclkFrequency;             //[MHz]
    uint16_t spare;                       //[centi]
-  uint16_t UvdActivity;                 //[centi]
    uint16_t GfxActivity;                 //[centi]
+  uint16_t UvdActivity;                 //[centi]

This is unfortunate, it means that these two flipped based on PMFW driver interface version!

With 13.0.4 in 6.0, this should probably come back.

Cc: stable@xxxxxxxxxxxxxxx #6.0
Reviewed-by: Mario Limonciello <mario.limonciello@xxxxxxx>

uint16_t Voltage[2]; //[mV] indices: VDDCR_VDD, VDDCR_SOC
    uint16_t Current[2];                  //[mA] indices: VDDCR_VDD, VDDCR_SOC
@@ -199,6 +199,19 @@ typedef struct {
    uint16_t DeviceState;
    uint16_t CurTemp;                     //[centi-Celsius]
    uint16_t spare2;
+
+  uint16_t AverageGfxclkFrequency;
+  uint16_t AverageFclkFrequency;
+  uint16_t AverageGfxActivity;
+  uint16_t AverageSocclkFrequency;
+  uint16_t AverageVclkFrequency;
+  uint16_t AverageVcnActivity;
+  uint16_t AverageDRAMReads;          //Filtered DF Bandwidth::DRAM Reads
+  uint16_t AverageDRAMWrites;         //Filtered DF Bandwidth::DRAM Writes
+  uint16_t AverageSocketPower;        //Filtered value of CurrentSocketPower
+  uint16_t AverageCorePower;          //Filtered of [sum of CorePower[8]])
+  uint16_t AverageCoreC0Residency[8]; //Filtered of [average C0 residency %  per core]
+  uint32_t MetricsCounter;            //Counts the # of metrics table parameter reads per update to the metrics table, i.e. if the metrics table update happens every 1 second, this value could be up to 1000 if the smu collected metrics data every cycle, or as low as 0 if the smu was asleep the whole time. Reset to 0 after writing.
  } SmuMetrics_t;
typedef struct {




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux