@@ -150,97 +150,39 @@ typedef struct {
150
150
} DpmClocks_t ;
151
151
152
152
typedef struct {
153
- uint16_t CoreFrequency [16 ]; //Target core frequency [MHz]
154
- uint16_t CorePower [16 ]; //CAC calculated core power [W] [Q8.8]
155
- uint16_t CoreTemperature [16 ]; //TSEN measured core temperature [C] [Q8.8]
156
- uint16_t GfxTemperature ; //TSEN measured GFX temperature [C] [Q8.8]
157
- uint16_t SocTemperature ; //TSEN measured SOC temperature [C] [Q8.8]
158
- uint16_t StapmOpnLimit ; //Maximum IRM defined STAPM power limit [W] [Q8.8]
159
- uint16_t StapmCurrentLimit ; //Time filtered STAPM power limit [W] [Q8.8]
160
- uint16_t InfrastructureCpuMaxFreq ; //CCLK frequency limit enforced on classic cores [MHz]
161
- uint16_t InfrastructureGfxMaxFreq ; //GFXCLK frequency limit enforced on GFX [MHz]
162
- uint16_t SkinTemp ; //Maximum skin temperature reported by APU and HS2 chassis sensors [C] [Q8.8]
163
- uint16_t AverageGfxclkFrequency ; //Time filtered target GFXCLK frequency [MHz]
164
- uint16_t AverageFclkFrequency ; //Time filtered target FCLK frequency [MHz]
165
- uint16_t AverageGfxActivity ; //Time filtered GFX busy % [0-100] [Q8.8]
166
- uint16_t AverageSocclkFrequency ; //Time filtered target SOCCLK frequency [MHz]
167
- uint16_t AverageVclkFrequency ; //Time filtered target VCLK frequency [MHz]
168
- uint16_t AverageVcnActivity ; //Time filtered VCN busy % [0-100] [Q8.8]
169
- uint16_t AverageVpeclkFrequency ; //Time filtered target VPECLK frequency [MHz]
170
- uint16_t AverageIpuclkFrequency ; //Time filtered target IPUCLK frequency [MHz]
171
- uint16_t AverageIpuBusy [8 ]; //Time filtered IPU per-column busy % [0-100] [Q8.8]
172
- uint16_t AverageDRAMReads ; //Time filtered DRAM read bandwidth [GB/sec] [Q8.8]
173
- uint16_t AverageDRAMWrites ; //Time filtered DRAM write bandwidth [GB/sec] [Q8.8]
174
- uint16_t AverageCoreC0Residency [16 ]; //Time filtered per-core C0 residency % [0-100] [Q8.8]
175
- uint16_t IpuPower ; //Time filtered IPU power [W] [Q8.8]
176
- uint32_t ApuPower ; //Time filtered APU power [W] [Q24.8]
177
- uint32_t dGpuPower ; //Time filtered dGPU power [W] [Q24.8]
178
- uint32_t AverageSocketPower ; //Time filtered power used for PPT/STAPM [APU+dGPU] [W] [Q24.8]
179
- uint32_t AverageCorePower ; //Time filtered sum of core power across all cores in the socket [W] [Q24.8]
180
- uint32_t FilterAlphaValue ; //Metrics table alpha filter time constant [us]
181
- uint32_t MetricsCounter ; //Counter that is incremented on every metrics table update [PM_TIMER cycles]
153
+ uint16_t CoreFrequency [16 ]; //Target core frequency [MHz]
154
+ uint16_t CorePower [16 ]; //CAC calculated core power [mW]
155
+ uint16_t CoreTemperature [16 ]; //TSEN measured core temperature [centi-C]
156
+ uint16_t GfxTemperature ; //TSEN measured GFX temperature [centi-C]
157
+ uint16_t SocTemperature ; //TSEN measured SOC temperature [centi-C]
158
+ uint16_t StapmOpnLimit ; //Maximum IRM defined STAPM power limit [mW]
159
+ uint16_t StapmCurrentLimit ; //Time filtered STAPM power limit [mW]
160
+ uint16_t InfrastructureCpuMaxFreq ; //CCLK frequency limit enforced on classic cores [MHz]
161
+ uint16_t InfrastructureGfxMaxFreq ; //GFXCLK frequency limit enforced on GFX [MHz]
162
+ uint16_t SkinTemp ; //Maximum skin temperature reported by APU and HS2 chassis sensors [centi-C]
163
+ uint16_t GfxclkFrequency ; //Time filtered target GFXCLK frequency [MHz]
164
+ uint16_t FclkFrequency ; //Time filtered target FCLK frequency [MHz]
165
+ uint16_t GfxActivity ; //Time filtered GFX busy % [0-100]
166
+ uint16_t SocclkFrequency ; //Time filtered target SOCCLK frequency [MHz]
167
+ uint16_t VclkFrequency ; //Time filtered target VCLK frequency [MHz]
168
+ uint16_t VcnActivity ; //Time filtered VCN busy % [0-100]
169
+ uint16_t VpeclkFrequency ; //Time filtered target VPECLK frequency [MHz]
170
+ uint16_t IpuclkFrequency ; //Time filtered target IPUCLK frequency [MHz]
171
+ uint16_t IpuBusy [8 ]; //Time filtered IPU per-column busy % [0-100]
172
+ uint16_t DRAMReads ; //Time filtered DRAM read bandwidth [MB/sec]
173
+ uint16_t DRAMWrites ; //Time filtered DRAM write bandwidth [MB/sec]
174
+ uint16_t CoreC0Residency [16 ]; //Time filtered per-core C0 residency % [0-100]
175
+ uint16_t IpuPower ; //Time filtered IPU power [mW]
176
+ uint32_t ApuPower ; //Time filtered APU power [mW]
177
+ uint32_t GfxPower ; //Time filtered GFX power [mW]
178
+ uint32_t dGpuPower ; //Time filtered dGPU power [mW]
179
+ uint32_t SocketPower ; //Time filtered power used for PPT/STAPM [APU+dGPU] [mW]
180
+ uint32_t AllCorePower ; //Time filtered sum of core power across all cores in the socket [mW]
181
+ uint32_t FilterAlphaValue ; //Metrics table alpha filter time constant [us]
182
+ uint32_t MetricsCounter ; //Counter that is incremented on every metrics table update [PM_TIMER cycles]
183
+ uint32_t spare [16 ];
182
184
} SmuMetrics_t ;
183
185
184
- typedef struct {
185
- uint16_t GfxclkFrequency ; //[MHz]
186
- uint16_t SocclkFrequency ; //[MHz]
187
- uint16_t VclkFrequency ; //[MHz]
188
- uint16_t DclkFrequency ; //[MHz]
189
- uint16_t MemclkFrequency ; //[MHz]
190
- uint16_t spare ;
191
- uint16_t UvdActivity ; //[centi]
192
- uint16_t GfxActivity ; //[centi]
193
-
194
- uint16_t Voltage [2 ]; //[mV] indices: VDDCR_VDD, VDDCR_SOC
195
- uint16_t Current [2 ]; //[mA] indices: VDDCR_VDD, VDDCR_SOC
196
- uint16_t Power [2 ]; //[mW] indices: VDDCR_VDD, VDDCR_SOC
197
-
198
- uint16_t CoreFrequency [8 ]; //[MHz]
199
- uint16_t CorePower [8 ]; //[mW]
200
- uint16_t CoreTemperature [8 ]; //[centi-Celsius]
201
- uint16_t L3Frequency [2 ]; //[MHz]
202
- uint16_t L3Temperature [2 ]; //[centi-Celsius]
203
-
204
- uint16_t spare2 [24 ];
205
-
206
- uint16_t GfxTemperature ; //[centi-Celsius]
207
- uint16_t SocTemperature ; //[centi-Celsius]
208
- uint16_t ThrottlerStatus ;
209
-
210
- uint16_t CurrentSocketPower ; //[mW]
211
- uint16_t StapmOpnLimit ; //[W]
212
- uint16_t StapmCurrentLimit ; //[W]
213
- uint32_t ApuPower ; //[mW]
214
- uint32_t dGpuPower ; //[mW]
215
-
216
- uint16_t VddTdcValue ; //[mA]
217
- uint16_t SocTdcValue ; //[mA]
218
- uint16_t VddEdcValue ; //[mA]
219
- uint16_t SocEdcValue ; //[mA]
220
-
221
- uint16_t InfrastructureCpuMaxFreq ; //[MHz]
222
- uint16_t InfrastructureGfxMaxFreq ; //[MHz]
223
-
224
- uint16_t SkinTemp ;
225
- uint16_t DeviceState ;
226
- uint16_t CurTemp ; //[centi-Celsius]
227
- uint16_t FilterAlphaValue ; //[m]
228
-
229
- uint16_t AverageGfxclkFrequency ;
230
- uint16_t AverageFclkFrequency ;
231
- uint16_t AverageGfxActivity ;
232
- uint16_t AverageSocclkFrequency ;
233
- uint16_t AverageVclkFrequency ;
234
- uint16_t AverageVcnActivity ;
235
- uint16_t AverageDRAMReads ; //Filtered DF Bandwidth::DRAM Reads
236
- uint16_t AverageDRAMWrites ; //Filtered DF Bandwidth::DRAM Writes
237
- uint16_t AverageSocketPower ; //Filtered value of CurrentSocketPower
238
- uint16_t AverageCorePower [2 ]; //Filtered of [sum of CorePower[8] per ccx])
239
- uint16_t AverageCoreC0Residency [16 ]; //Filtered of [average C0 residency % per core]
240
- uint16_t spare1 ;
241
- 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.
242
- } SmuMetrics_legacy_t ;
243
-
244
186
//ISP tile definitions
245
187
typedef enum {
246
188
TILE_XTILE = 0 , //ONO0
0 commit comments