distribution/packages/jelos/profile.d/99-freqfunctions

51 lines
863 B
Text
Raw Normal View History

2022-02-05 14:23:32 +00:00
#!/bin/sh
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
. /etc/os-release
set_gov() {
for POLICY in ${CPU_FREQ[@]}
do
echo $1 >${POLICY} 2>/dev/null
done
for HANDLE in ${GPU_FREQ} ${DMC_FREQ}
2022-02-05 14:23:32 +00:00
do
echo $1 >${HANDLE} 2>/dev/null || echo dmc_$1 >${HANDLE} 2>/dev/null
done
}
enable_cores() {
for CORE in ${1}
do
echo 1 >/sys/devices/system/cpu/cpu${CORE}
done
}
disable_cores() {
for CORE in ${FAST_CORES}
do
echo 0 >/sys/devices/system/cpu/cpu${CORE}
done
}
2022-02-05 14:23:32 +00:00
maxperf() {
enable_cores "${FAST_CORES}"
disable_cores "${SLOW_CORES}"
2022-02-05 14:23:32 +00:00
set_gov performance
}
normperf() {
enable_cores "${SLOW_CORES}"
disable_cores "${FAST_CORES}"
2022-02-05 14:23:32 +00:00
set_gov ondemand
}
powersave() {
enable_cores "${SLOW_CORES}"
disable_cores "${FAST_CORES}"
2022-02-05 14:23:32 +00:00
set_gov powersave
}