[PATCH 0/8] amdgpu/pm: Powerplay API for smu
Alex Deucher
alexdeucher at gmail.com
Thu Jan 14 17:48:51 UTC 2021
On Tue, Jan 12, 2021 at 10:28 PM Darren Powell <darren.powell at amd.com> wrote:
>
> === Description ===
> Patches to add the Powerplay API to smu and simplify dpm/pm calling code
>
> * Version 2 Updates
> 0001: updated the structure name to swsmu_pm_funcs
> 0002: No Changes
> 0003: changed error return value of smu_get_fan_control_mode to AMD_FAN_CTRL_NONE
> fixed type in amdgpu_hwmon_get_pwm1_enable() print statement
> fixed indent flagged by checkpatch.pl
> 0004: remove check for error during swsmu amdgpu_dpm_get_pp_num_states() call to match previous powerplay behaviour
> 0005: add comment to highlight assignment that changes uint32_t value to int
> fix errors flagged by checkpatch.pl
> 0006: fix errors flagged by checkpatch
> 0007: fix errors and warnings flagged by checkpatch
> 0008: No Changes
Feel free to pick up the RBs or ABs from the previous review that are
applicable.
Series is:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>
> === Test System ===
> * DESKTOP(AMD FX-8350 + NAVI10(731F/ca), BIOS: F2)
> + ISO(Ubuntu 20.04.1 LTS)
> + Kernel(5.9.0-rc5-custom-pmcallback-00865-gd3b9ec1a13c9)
>
> === Patch Summary ===
> linux: (git://people.freedesktop.org/~agd5f/linux) origin/amd-staging-drm-next @ d3b9ec1a13c9
> + b401b8ff07ca amdgpu/pm: Powerplay API for smu , added get_performance_level
> + 924fb45c2fc9 amdgpu/pm: Powerplay API for smu , changed 6 dpm reset functions to use API
> + 22459821a119 amdgpu/pm: Powerplay API for smu , changed 6 pm hwmon fan functions to use API
> + 9a1dff6ed4a4 amdgpu/pm: Powerplay API for smu , changed 9 pm power functions to use API
> + eeaf9dad054a amdgpu/pm: Powerplay API for smu , changed 5 dpm powergating & sensor functions to use API
> + c10bf38a4250 amdgpu/pm: Powerplay API for smu , changes to clock and profile mode functions
> + 73c150926ef3 amdgpu/pm: Powerplay API for smu , changed 4 dpm functions to use API
> + f840fb27c965 amdgpu/pm: Powerplay API for smu , updates to some pm functions
>
> === Tests ===
> ** 0001
> amdgpu_get_power_dpm_force_performance_level() <- /sys/class/drm/card0/device/power_dpm_force_performance_level
> ** 0002
> amdgpu_dpm_set_mp1_state <- systemctl suspend
> amdgpu_dpm_mode2_reset <- untested: needs Arctic Islands Hardware (VEGAx, RAVEN)
> amdgpu_dpm_switch_power_profile <- untested
> amdgpu_dpm_set_xgmi_pstate <- untested: amdgpu_xgmi_set_pstate():411 pstate switching disabled
> amdgpu_dpm_set_df_cstate <- untested: needs ras enabled hardware
> amdgpu_dpm_enable_mgpu_fan_boost <- untested: needs multi-gpu hardware
> ** 0003
> amdgpu_hwmon_get_pwm1_enable <- /sys/class/drm/card0/device/hwmon/hwmon?/pwm1_enable
> amdgpu_hwmon_set_pwm1_enable <- /sys/class/drm/card0/device/hwmon/hwmon?/pwm1_enable
> amdgpu_hwmon_set_pwm1 <- /sys/class/drm/card0/device/hwmon/hwmon?/pwm1
> amdgpu_hwmon_get_pwm1 <- /sys/class/drm/card0/device/hwmon/hwmon?/pwm1
> amdgpu_hwmon_get_fan1_input <- /sys/class/drm/card0/device/hwmon/hwmon?/fan1_input
> amdgpu_hwmon_get_fan1_target <- /sys/class/drm/card0/device/hwmon/hwmon?/fan1_target
> amdgpu_hwmon_set_fan1_target <- /sys/class/drm/card0/device/hwmon/hwmon?/fan1_target
> amdgpu_hwmon_get_fan1_enable <- /sys/class/drm/card0/device/hwmon/hwmon?/fan1_enable
> amdgpu_hwmon_set_fan1_enable <- /sys/class/drm/card0/device/hwmon/hwmon?/fan1_enable
> ** 0004
> amdgpu_get_power_dpm_state <- /sys/class/drm/card0/device/power_dpm_state
> amdgpu_set_power_dpm_force_performance_level <- /sys/class/drm/card0/device/power_dpm_force_performance_level
> amdgpu_get_pp_num_states <- /sys/class/drm/card0/device/pp_num_states
> amdgpu_get_pp_cur_state <- /sys/class/drm/card0/device/pp_cur_state
> amdgpu_get_pp_table <- /sys/class/drm/card0/device/pp_table
> amdgpu_get_pp_features <- /sys/class/drm/card0/device/pp_features
> amdgpu_hwmon_show_power_cap_max <- /sys/class/drm/card0/device/hwmon/hwmon?/power1_cap_max
> amdgpu_hwmon_show_power_cap <- /sys/class/drm/card0/device/hwmon/hwmon?/power1_cap
> amdgpu_hwmon_set_power_cap <- /sys/class/drm/card0/device/hwmon/hwmon?/power1_cap
> ** 0005
> amdgpu_dpm_baco_enter <- untested: called from runtime.pm
> amdgpu_dpm_baco_exit <- untested: called from runtime.pm
> amdgpu_dpm_is_baco_supported <- untested: needs other Hardware(cik, vi, soc15)
> amdgpu_dpm_baco_reset <- untested: needs other Hardware(cik, vi, soc15)
> ** 0006
> amdgpu_get_pp_dpm_sclk <- /sys/class/drm/card0/device/pp_dpm_sclk
> amdgpu_set_pp_dpm_sclk <- /sys/class/drm/card0/device/pp_dpm_sclk
> amdgpu_get_pp_dpm_mclk <- /sys/class/drm/card0/device/pp_dpm_mclk
> amdgpu_set_pp_dpm_mclk <- /sys/class/drm/card0/device/pp_dpm_mclk
> amdgpu_get_pp_dpm_socclk <- /sys/class/drm/card0/device/pp_dpm_socclk
> amdgpu_set_pp_dpm_socclk <- /sys/class/drm/card0/device/pp_dpm_socclk
> amdgpu_get_pp_dpm_fclk <- /sys/class/drm/card0/device/pp_dpm_fclk
> amdgpu_set_pp_dpm_fclk <- /sys/class/drm/card0/device/pp_dpm_fclk
> amdgpu_get_pp_dpm_dcefclk <- /sys/class/drm/card0/device/pp_dpm_dcefclk
> amdgpu_set_pp_dpm_dcefclk <- /sys/class/drm/card0/device/pp_dpm_dcefclk
> amdgpu_get_pp_dpm_pcie <- /sys/class/drm/card0/device/pp_dpm_pcie
> amdgpu_set_pp_dpm_pcie <- /sys/class/drm/card0/device/pp_dpm_pcie
> amdgpu_get_pp_power_profile_mode <- /sys/class/drm/card0/device/pp_power_profile_mode
> amdgpu_set_pp_power_profile_mode <- /sys/class/drm/card0/device/pp_power_profile_mode
> amdgpu_get_gpu_metrics <- /sys/class/drm/card0/device/gpu_metrics
> ** 0007
> amdgpu_pm_compute_clocks <- untested
> amdgpu_dpm_set_powergating_by_smu <- untested
> amdgpu_dpm_get_mclk <- untested
> amdgpu_dpm_get_sclk <- untested
> ** 0008
> amdgpu_get_pp_od_clk_voltage <- /sys/class/drm/card0/device/pp_od_clk_voltage
> amdgpu_set_pp_od_clk_voltage <- /sys/class/drm/card0/device/pp_od_clk_voltage
> amdgpu_set_pp_table <- /sys/class/drm/card0/device/pp_table
> amdgpu_set_power_dpm_force_performance_level <- /sys/class/drm/card0/device/power_dpm_force_performance_level
>
> === Summary of Untested Functions ===
> ** 0002
> amdgpu_dpm_mode2_reset <- untested: needs Arctic Islands Hardware (VEGAx, RAVEN)
> amdgpu_dpm_switch_power_profile <- untested: called during initialization
> amdgpu_dpm_set_xgmi_pstate <- untested: amdgpu_xgmi_set_pstate():411 pstate switching disabled
> amdgpu_dpm_set_df_cstate <- untested: needs ras enabled hardware
> amdgpu_dpm_enable_mgpu_fan_boost <- untested: needs multi-gpu hardware
> ** 0005
> amdgpu_dpm_baco_enter <- untested: called from runtime.pm
> amdgpu_dpm_baco_exit <- untested: called from runtime.pm
> amdgpu_dpm_is_baco_supported <- untested: needs other Hardware(cik, vi, soc15)
> amdgpu_dpm_baco_reset <- untested: needs other Hardware(cik, vi, soc15)
> ** 0007
> amdgpu_pm_compute_clocks <- untested
> amdgpu_dpm_set_powergating_by_smu <- untested
> amdgpu_dpm_get_mclk <- untested
> amdgpu_dpm_get_sclk <- untested
> ** 0008
> amdgpu_get_pp_od_clk_voltage <- file not found
> amdgpu_set_pp_od_clk_voltage <- file not found
> amdgpu_set_pp_table <- no binary data to test with
>
>
> === Cover Letter ===
> Darren Powell (8):
> amdgpu/pm: Powerplay API for smu , added get_performance_level
> amdgpu/pm: Powerplay API for smu , changed 6 dpm reset functions to
> use API
> amdgpu/pm: Powerplay API for smu , changed 6 pm hwmon fan functions to
> use API
> amdgpu/pm: Powerplay API for smu , changed 9 pm power functions to use
> API
> amdgpu/pm: Powerplay API for smu , changed 5 dpm powergating & sensor
> functions to use API
> amdgpu/pm: Powerplay API for smu , changes to clock and profile mode
> functions
> amdgpu/pm: Powerplay API for smu , changed 4 dpm functions to use API
> amdgpu/pm: Powerplay API for smu , updates to some pm functions
>
> drivers/gpu/drm/amd/pm/amdgpu_dpm.c | 228 +++------
> drivers/gpu/drm/amd/pm/amdgpu_pm.c | 597 +++++-----------------
> drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h | 79 ++-
> drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 358 ++++++++++---
> 4 files changed, 534 insertions(+), 728 deletions(-)
>
> --
> 2.25.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list