#!/usr/bin/env bash
#
# Tell speedshift whether to maximize CPU performance (100) or energy
# efficiency (0). If set to 101 this will enable turboboost.
set -euo pipefail
IFS=$'\n\t'
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

perc=$1

if [ "$perc" -gt 100 ]; then
    echo 0 | tee /sys/devices/system/cpu/intel_pstate/no_turbo
else
    echo 1 | tee /sys/devices/system/cpu/intel_pstate/no_turbo
fi

if [ "$perc" -ge 80 ]; then
    echo "performance" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
elif [ "$perc" -ge 60 ]; then
    echo "balance_performance" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
elif [ "$perc" -ge 40 ]; then
    echo "default" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
elif [ "$perc" -ge 20 ]; then
    echo "balance_power" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
else
    echo "power" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
fi
