You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
drm/amd/swsmu: update smu v14_0_0 header files and metrics table
Update driver if, pmfw and ppsmc header files.
Add new gpu_metrics_v3_0 for metrics table updated in driver if
and reserve legacy metrics table to maintain backward compatibility.
---
v1:
Update header files and add gpu_metrics_v3_0.
v2:
Update smu_types.h, smu headers and drop smu_cmn_get_smc_version in smu v14_0_0.
Signed-off-by: Li Ma <[email protected]>
Reviewed-by: Yifan Zhang <[email protected]>
Reviewed-by: Kenneth Feng <[email protected]>
Acked-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
uint16_tIpuPower; //Time filtered IPU power [W] [Q8.8]
176
+
uint32_tApuPower; //Time filtered APU power [W] [Q24.8]
177
+
uint32_tdGpuPower; //Time filtered dGPU power [W] [Q24.8]
178
+
uint32_tAverageSocketPower; //Time filtered power used for PPT/STAPM [APU+dGPU] [W] [Q24.8]
179
+
uint32_tAverageCorePower; //Time filtered sum of core power across all cores in the socket [W] [Q24.8]
180
+
uint32_tFilterAlphaValue; //Metrics table alpha filter time constant [us]
181
+
uint32_tMetricsCounter; //Counter that is incremented on every metrics table update [PM_TIMER cycles]
182
+
} SmuMetrics_t;
169
183
170
184
typedefstruct {
171
185
uint16_tGfxclkFrequency; //[MHz]
@@ -212,7 +226,6 @@ typedef struct {
212
226
uint16_tCurTemp; //[centi-Celsius]
213
227
uint16_tFilterAlphaValue; //[m]
214
228
215
-
//PMFW-8735
216
229
uint16_tAverageGfxclkFrequency;
217
230
uint16_tAverageFclkFrequency;
218
231
uint16_tAverageGfxActivity;
@@ -224,20 +237,9 @@ typedef struct {
224
237
uint16_tAverageSocketPower; //Filtered value of CurrentSocketPower
225
238
uint16_tAverageCorePower[2]; //Filtered of [sum of CorePower[8] per ccx])
226
239
uint16_tAverageCoreC0Residency[16]; //Filtered of [average C0 residency % per core]
227
-
uint16_tspare3;
240
+
uint16_tspare1;
228
241
uint32_tMetricsCounter; //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.
229
-
} SmuMetrics_t;
230
-
231
-
typedefstruct {
232
-
uint16_tStapmMaxPlatformLimit; //[W]
233
-
uint16_tStapmMinPlatformLimit; //[W]
234
-
uint16_tFastPptMaxPlatformLimit; //[W]
235
-
uint16_tFastPptMinPlatformLimit; //[W]
236
-
uint16_tSlowPptMaxPlatformLimit; //[W]
237
-
uint16_tSlowPptMinPlatformLimit; //[W]
238
-
uint16_tSlowPptApuMaxPlatformLimit; //[W]
239
-
uint16_tSlowPptApuMinPlatformLimit; //[W]
240
-
} PmfInfo_t;
242
+
} SmuMetrics_legacy_t;
241
243
242
244
//ISP tile definitions
243
245
typedefenum {
@@ -272,10 +274,9 @@ typedef enum {
272
274
#defineTABLE_CUSTOM_DPM 2 // Called by Driver
273
275
#defineTABLE_BIOS_GPIO_CONFIG 3 // Called by BIOS
274
276
#defineTABLE_DPMCLOCKS 4 // Called by Driver and VBIOS
275
-
#defineTABLE_MOMENTARY_PM 5 // Called by Tools
277
+
#defineTABLE_SPARE05 // Unused
276
278
#defineTABLE_MODERN_STDBY 6 // Called by Tools for Modern Standby Log
277
279
#defineTABLE_SMU_METRICS 7 // Called by Driver and SMF/PMF
278
-
#defineTABLE_INFRASTRUCTURE_LIMITS 8 // Called by SMF/PMF
0 commit comments