Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/pm: update SMU IP v13.0.4 driver interface version

Update the SMU driver interface version to V7.

Signed-off-by: Tim Huang <tim.huang@amd.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org # 6.0.x
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Tim Huang and committed by
Alex Deucher
853fdb49 5fa99373

+15 -2
+15 -2
drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_4.h
··· 27 27 // *** IMPORTANT *** 28 28 // SMU TEAM: Always increment the interface version if 29 29 // any structure is changed in this file 30 - #define PMFW_DRIVER_IF_VERSION 5 30 + #define PMFW_DRIVER_IF_VERSION 7 31 31 32 32 typedef struct { 33 33 int32_t value; ··· 163 163 uint16_t DclkFrequency; //[MHz] 164 164 uint16_t MemclkFrequency; //[MHz] 165 165 uint16_t spare; //[centi] 166 - uint16_t UvdActivity; //[centi] 167 166 uint16_t GfxActivity; //[centi] 167 + uint16_t UvdActivity; //[centi] 168 168 169 169 uint16_t Voltage[2]; //[mV] indices: VDDCR_VDD, VDDCR_SOC 170 170 uint16_t Current[2]; //[mA] indices: VDDCR_VDD, VDDCR_SOC ··· 199 199 uint16_t DeviceState; 200 200 uint16_t CurTemp; //[centi-Celsius] 201 201 uint16_t spare2; 202 + 203 + uint16_t AverageGfxclkFrequency; 204 + uint16_t AverageFclkFrequency; 205 + uint16_t AverageGfxActivity; 206 + uint16_t AverageSocclkFrequency; 207 + uint16_t AverageVclkFrequency; 208 + uint16_t AverageVcnActivity; 209 + uint16_t AverageDRAMReads; //Filtered DF Bandwidth::DRAM Reads 210 + uint16_t AverageDRAMWrites; //Filtered DF Bandwidth::DRAM Writes 211 + uint16_t AverageSocketPower; //Filtered value of CurrentSocketPower 212 + uint16_t AverageCorePower; //Filtered of [sum of CorePower[8]]) 213 + uint16_t AverageCoreC0Residency[8]; //Filtered of [average C0 residency % per core] 214 + 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. 202 215 } SmuMetrics_t; 203 216 204 217 typedef struct {