RE: [PATCH v2] drm/amd/pm: Vangogh: Add new gpu_metrics_v2_4 to acquire gpu_metrics
[AMD Official Use Only - General] Hi Wenyou, Could you merge the patch? Thanks, Richard -Original Message- From: Quan, Evan Sent: Tuesday, July 18, 2023 12:03 AM To: Yang, WenYou ; Deucher, Alexander ; Limonciello, Mario ; Koenig, Christian ; Pan, Xinhui Cc: Yuan, Perry ; Liang, Richard qi ; amd-gfx@lists.freedesktop.org; dri-de...@lists.freedesktop.org; linux-ker...@vger.kernel.org Subject: RE: [PATCH v2] drm/amd/pm: Vangogh: Add new gpu_metrics_v2_4 to acquire gpu_metrics [AMD Official Use Only - General] Hi Wenyou, I think you already got the greenlight(RB from Mario and ACK from me) to land the change. Go ahead please. Evan > -Original Message- > From: Yang, WenYou > Sent: Thursday, July 13, 2023 8:56 AM > To: Yang, WenYou ; Deucher, Alexander > ; Limonciello, Mario > ; Koenig, Christian > ; Pan, Xinhui ; Quan, > Evan > Cc: Yuan, Perry ; Liang, Richard qi > ; amd-gfx@lists.freedesktop.org; dri- > de...@lists.freedesktop.org; linux-ker...@vger.kernel.org > Subject: RE: [PATCH v2] drm/amd/pm: Vangogh: Add new gpu_metrics_v2_4 > to acquire gpu_metrics > > [AMD Official Use Only - General] > > Any comments? Any advice? > > Best Regards, > Wenyou > > > -Original Message- > > From: Wenyou Yang > > Sent: Wednesday, June 21, 2023 2:32 PM > > To: Deucher, Alexander ; Limonciello, > > Mario ; Koenig, Christian > > ; Pan, Xinhui ; Quan, > > Evan > > Cc: Yuan, Perry ; Liang, Richard qi > > ; amd-gfx@lists.freedesktop.org; dri- > > de...@lists.freedesktop.org; linux-ker...@vger.kernel.org; Yang, > > WenYou > > Subject: [PATCH v2] drm/amd/pm: Vangogh: Add new gpu_metrics_v2_4 to > > acquire gpu_metrics > > > > To acquire the voltage and current info from gpu_metrics interface, > > but > > gpu_metrics_v2_3 doesn't contain them, and to be backward > > compatible, add new gpu_metrics_v2_4 structure. > > > > Reviewed-by: Mario Limonciello > > Acked-by: Evan Quan > > Signed-off-by: Wenyou Yang > > --- > > .../gpu/drm/amd/include/kgd_pp_interface.h| 69 +++ > > .../gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 109 > - > > - > > drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c| 3 + > > 3 files changed, 172 insertions(+), 9 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h > > b/drivers/gpu/drm/amd/include/kgd_pp_interface.h > > index 9f542f6e19ed..90989405eddc 100644 > > --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h > > +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h > > @@ -892,4 +892,73 @@ struct gpu_metrics_v2_3 { > > uint16_taverage_temperature_core[8]; // > > average CPU core temperature on APUs > > uint16_taverage_temperature_l3[2]; > > }; > > + > > +struct gpu_metrics_v2_4 { > > + struct metrics_table_header common_header; > > + > > + /* Temperature (unit: centi-Celsius) */ > > + uint16_ttemperature_gfx; > > + uint16_ttemperature_soc; > > + uint16_ttemperature_core[8]; > > + uint16_ttemperature_l3[2]; > > + > > + /* Utilization (unit: centi) */ > > + uint16_taverage_gfx_activity; > > + uint16_taverage_mm_activity; > > + > > + /* Driver attached timestamp (in ns) */ > > + uint64_tsystem_clock_counter; > > + > > + /* Power/Energy (unit: mW) */ > > + uint16_taverage_socket_power; > > + uint16_taverage_cpu_power; > > + uint16_taverage_soc_power; > > + uint16_taverage_gfx_power; > > + uint16_taverage_core_power[8]; > > + > > + /* Average clocks (unit: MHz) */ > > + uint16_taverage_gfxclk_frequency; > > + uint16_taverage_socclk_frequency; > > + uint16_taverage_uclk_frequency; > > + uint16_taverage_fclk_frequency; > > + uint16_taverage_vclk_frequency; > > + uint16_taverage_dclk_frequency; > > + > > + /* Current clocks (unit: MHz) */ > > + uint16_tcurrent_gfxclk; > > + uint16_tcurrent_socclk; > > + uint16_tcurr
RE: [PATCH v2] drm/amd/pm: Vangogh: Add new gpu_metrics_v2_4 to acquire gpu_metrics
[AMD Official Use Only - General] Hi Wenyou, I think you already got the greenlight(RB from Mario and ACK from me) to land the change. Go ahead please. Evan > -Original Message- > From: Yang, WenYou > Sent: Thursday, July 13, 2023 8:56 AM > To: Yang, WenYou ; Deucher, Alexander > ; Limonciello, Mario > ; Koenig, Christian > ; Pan, Xinhui ; Quan, > Evan > Cc: Yuan, Perry ; Liang, Richard qi > ; amd-gfx@lists.freedesktop.org; dri- > de...@lists.freedesktop.org; linux-ker...@vger.kernel.org > Subject: RE: [PATCH v2] drm/amd/pm: Vangogh: Add new gpu_metrics_v2_4 > to acquire gpu_metrics > > [AMD Official Use Only - General] > > Any comments? Any advice? > > Best Regards, > Wenyou > > > -Original Message- > > From: Wenyou Yang > > Sent: Wednesday, June 21, 2023 2:32 PM > > To: Deucher, Alexander ; Limonciello, Mario > > ; Koenig, Christian > > ; Pan, Xinhui ; Quan, > > Evan > > Cc: Yuan, Perry ; Liang, Richard qi > > ; amd-gfx@lists.freedesktop.org; dri- > > de...@lists.freedesktop.org; linux-ker...@vger.kernel.org; Yang, > > WenYou > > Subject: [PATCH v2] drm/amd/pm: Vangogh: Add new gpu_metrics_v2_4 to > > acquire gpu_metrics > > > > To acquire the voltage and current info from gpu_metrics interface, > > but > > gpu_metrics_v2_3 doesn't contain them, and to be backward compatible, > > add new gpu_metrics_v2_4 structure. > > > > Reviewed-by: Mario Limonciello > > Acked-by: Evan Quan > > Signed-off-by: Wenyou Yang > > --- > > .../gpu/drm/amd/include/kgd_pp_interface.h| 69 +++ > > .../gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 109 > - > > - > > drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c| 3 + > > 3 files changed, 172 insertions(+), 9 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h > > b/drivers/gpu/drm/amd/include/kgd_pp_interface.h > > index 9f542f6e19ed..90989405eddc 100644 > > --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h > > +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h > > @@ -892,4 +892,73 @@ struct gpu_metrics_v2_3 { > > uint16_taverage_temperature_core[8]; // > > average CPU core temperature on APUs > > uint16_taverage_temperature_l3[2]; > > }; > > + > > +struct gpu_metrics_v2_4 { > > + struct metrics_table_header common_header; > > + > > + /* Temperature (unit: centi-Celsius) */ > > + uint16_ttemperature_gfx; > > + uint16_ttemperature_soc; > > + uint16_ttemperature_core[8]; > > + uint16_ttemperature_l3[2]; > > + > > + /* Utilization (unit: centi) */ > > + uint16_taverage_gfx_activity; > > + uint16_taverage_mm_activity; > > + > > + /* Driver attached timestamp (in ns) */ > > + uint64_tsystem_clock_counter; > > + > > + /* Power/Energy (unit: mW) */ > > + uint16_taverage_socket_power; > > + uint16_taverage_cpu_power; > > + uint16_taverage_soc_power; > > + uint16_taverage_gfx_power; > > + uint16_taverage_core_power[8]; > > + > > + /* Average clocks (unit: MHz) */ > > + uint16_taverage_gfxclk_frequency; > > + uint16_taverage_socclk_frequency; > > + uint16_taverage_uclk_frequency; > > + uint16_taverage_fclk_frequency; > > + uint16_taverage_vclk_frequency; > > + uint16_taverage_dclk_frequency; > > + > > + /* Current clocks (unit: MHz) */ > > + uint16_tcurrent_gfxclk; > > + uint16_tcurrent_socclk; > > + uint16_tcurrent_uclk; > > + uint16_tcurrent_fclk; > > + uint16_tcurrent_vclk; > > + uint16_tcurrent_dclk; > > + uint16_tcurrent_coreclk[8]; > > + uint16_tcurrent_l3clk[2]; > > + > > + /* Throttle status (ASIC dependent) */ > > + uint32_tthrottle_status; > > + > > + /*
RE: [PATCH v2] drm/amd/pm: Vangogh: Add new gpu_metrics_v2_4 to acquire gpu_metrics
[AMD Official Use Only - General] Any comments? Any advice? Best Regards, Wenyou > -Original Message- > From: Wenyou Yang > Sent: Wednesday, June 21, 2023 2:32 PM > To: Deucher, Alexander ; Limonciello, Mario > ; Koenig, Christian ; > Pan, Xinhui ; Quan, Evan > Cc: Yuan, Perry ; Liang, Richard qi > ; amd-gfx@lists.freedesktop.org; dri- > de...@lists.freedesktop.org; linux-ker...@vger.kernel.org; Yang, WenYou > > Subject: [PATCH v2] drm/amd/pm: Vangogh: Add new gpu_metrics_v2_4 to > acquire gpu_metrics > > To acquire the voltage and current info from gpu_metrics interface, but > gpu_metrics_v2_3 doesn't contain them, and to be backward compatible, add > new gpu_metrics_v2_4 structure. > > Reviewed-by: Mario Limonciello > Acked-by: Evan Quan > Signed-off-by: Wenyou Yang > --- > .../gpu/drm/amd/include/kgd_pp_interface.h| 69 +++ > .../gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 109 - > - > drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c| 3 + > 3 files changed, 172 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h > b/drivers/gpu/drm/amd/include/kgd_pp_interface.h > index 9f542f6e19ed..90989405eddc 100644 > --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h > +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h > @@ -892,4 +892,73 @@ struct gpu_metrics_v2_3 { > uint16_taverage_temperature_core[8]; // > average CPU core temperature on APUs > uint16_taverage_temperature_l3[2]; > }; > + > +struct gpu_metrics_v2_4 { > + struct metrics_table_header common_header; > + > + /* Temperature (unit: centi-Celsius) */ > + uint16_ttemperature_gfx; > + uint16_ttemperature_soc; > + uint16_ttemperature_core[8]; > + uint16_ttemperature_l3[2]; > + > + /* Utilization (unit: centi) */ > + uint16_taverage_gfx_activity; > + uint16_taverage_mm_activity; > + > + /* Driver attached timestamp (in ns) */ > + uint64_tsystem_clock_counter; > + > + /* Power/Energy (unit: mW) */ > + uint16_taverage_socket_power; > + uint16_taverage_cpu_power; > + uint16_taverage_soc_power; > + uint16_taverage_gfx_power; > + uint16_taverage_core_power[8]; > + > + /* Average clocks (unit: MHz) */ > + uint16_taverage_gfxclk_frequency; > + uint16_taverage_socclk_frequency; > + uint16_taverage_uclk_frequency; > + uint16_taverage_fclk_frequency; > + uint16_taverage_vclk_frequency; > + uint16_taverage_dclk_frequency; > + > + /* Current clocks (unit: MHz) */ > + uint16_tcurrent_gfxclk; > + uint16_tcurrent_socclk; > + uint16_tcurrent_uclk; > + uint16_tcurrent_fclk; > + uint16_tcurrent_vclk; > + uint16_tcurrent_dclk; > + uint16_tcurrent_coreclk[8]; > + uint16_tcurrent_l3clk[2]; > + > + /* Throttle status (ASIC dependent) */ > + uint32_tthrottle_status; > + > + /* Fans */ > + uint16_tfan_pwm; > + > + uint16_tpadding[3]; > + > + /* Throttle status (ASIC independent) */ > + uint64_tindep_throttle_status; > + > + /* Average Temperature (unit: centi-Celsius) */ > + uint16_taverage_temperature_gfx; > + uint16_taverage_temperature_soc; > + uint16_taverage_temperature_core[8]; > + uint16_taverage_temperature_l3[2]; > + > + /* Power/Voltage (unit: mV) */ > + uint16_taverage_cpu_voltage; > + uint16_taverage_soc_voltage; > + uint16_taverage_gfx_voltage; > + > + /* Power/Current (unit: mA) */ > + uint16_taverage_cpu_current; > + uint16_taverage_soc_current; > + uint16_taverage_gfx_current; > +}; > #endif > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c > b/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c > index 067b4e0b026c..185d0b50ee8e 100644 > --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c > @@ -1854,6 +1854,86 @@ static ssize_t vangogh_get_gpu_metrics_v2_3(struct > smu_context *smu, >