|
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,8 +163,8 @@ typedef struct {
|
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,6 +199,19 @@ typedef struct {
|
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 {
|
|
0 commit comments