@@ -150,97 +150,39 @@ typedef struct {
150150} DpmClocks_t ;
151151
152152typedef 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 ];
182184} SmuMetrics_t ;
183185
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-
244186//ISP tile definitions
245187typedef enum {
246188 TILE_XTILE = 0 , //ONO0
0 commit comments