diff --git a/func.d/45-tlp-func-gpu b/func.d/45-tlp-func-gpu index 6c4aae08..52619055 100644 --- a/func.d/45-tlp-func-gpu +++ b/func.d/45-tlp-func-gpu @@ -144,8 +144,9 @@ set_amdgpu_profile () { if [ -f "$gpu/device/power_dpm_force_performance_level" ]; then # Use amdgpu dynamic power management method (DPM) case "$1" in - "$PP_PRF") level=${RADEON_DPM_PERF_LEVEL_ON_AC:-} ;; - "$PP_BAL"|"$PP_SAV") level="${RADEON_DPM_PERF_LEVEL_ON_BAT:-}" ;; + "$PP_PRF") level="${RADEON_DPM_PERF_LEVEL_ON_AC:-}" ;; + "$PP_BAL") level="${RADEON_DPM_PERF_LEVEL_ON_BAT:-}" ;; + "$PP_SAV") level="${RADEON_DPM_PERF_LEVEL_ON_SAV:-$RADEON_DPM_PERF_LEVEL_ON_BAT}" ;; esac if [ -z "$level" ]; then @@ -169,10 +170,15 @@ set_amdgpu_profile () { pwr="${RADEON_DPM_STATE_ON_AC:-}" ;; - "$PP_BAL"|"$PP_SAV") + "$PP_BAL") level="${RADEON_DPM_PERF_LEVEL_ON_BAT:-}" pwr="${RADEON_DPM_STATE_ON_BAT:-}" ;; + + "$PP_SAV") + level="${RADEON_DPM_PERF_LEVEL_ON_SAV:-$RADEON_DPM_PERF_LEVEL_ON_BAT}" + pwr="${RADEON_DPM_STATE_ON_SAV:-$RADEON_DPM_STATE_ON_BAT}" + ;; esac if [ -z "$pwr" ] || [ -z "$level" ]; then diff --git a/tlp.conf.in b/tlp.conf.in index 432fb9d4..1fe2d14c 100644 --- a/tlp.conf.in +++ b/tlp.conf.in @@ -385,6 +385,7 @@ #RADEON_DPM_PERF_LEVEL_ON_AC=auto #RADEON_DPM_PERF_LEVEL_ON_BAT=auto +#RADEON_DPM_PERF_LEVEL_ON_SAV=low # Dynamic power management method (DPM): balanced, battery, performance. # Note: radeon driver only. @@ -392,6 +393,7 @@ #RADEON_DPM_STATE_ON_AC=performance #RADEON_DPM_STATE_ON_BAT=battery +#RADEON_DPM_STATE_ON_SAV=battery # Display panel adaptive backlight modulation (ABM) level: 0(off), 1..4. # Values 1..4 control the maximum brightness reduction allowed by the ABM