]> git.ipfire.org Git - ipfire-2.x.git/blame - src/initscripts/packages/cpufreq
core130: update pakfire database after version change
[ipfire-2.x.git] / src / initscripts / packages / cpufreq
CommitLineData
d2c65e37
AF
1#!/bin/sh
2########################################################################
3# Begin $rc_base/init.d/cpufreq
4#
5# Description : Initalisize and startup cpufreq and set a governor
6#
7# Authors : Arne Fitzenreiter - arne_f@ipfire.org
8#
26ca2208 9# Version : 01.01
d2c65e37
AF
10#
11# Notes :
12#
13########################################################################
14
15. /etc/sysconfig/rc
16. ${rc_functions}
17
18case "${1}" in
19 start)
06391e6d 20 boot_mesg -n "Starting cpufreq... "
a041a28d 21
4f3651e6 22 # try cpufreq hardware depend modules
ceffe9bd 23 for i in $(find /lib/modules/$(uname -r)/kernel/drivers/cpufreq \
23a3aec1 24 ! -name speedstep-lib.ko.xz ! -name p4-clockmod.ko.xz ! -name "cpufreq_*" ! -name mperf.ko.xz | sort -d -r); do
03755188
AF
25 module=$(basename $i | cut -d. -f1);
26 modprobe $module > /dev/null 2>&1;
27 if [ ${?} = 0 ]; then
28 boot_mesg -n "$SUCCESS$module$NORMAL "
29 fi
a041a28d
AF
30 done
31 boot_mesg ""
4f3651e6 32
d2c65e37
AF
33 # load cqufreq governors
34 modprobe cpufreq_conservative
35 modprobe cpufreq_ondemand
36 modprobe cpufreq_powersave
37 modprobe cpufreq_userspace
38
1f182999 39 driver=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver 2>/dev/null`
341a7082 40
1f182999
AF
41 case "$driver" in
42 intel_pstate)
43 # pstate use internal gov so skip this setting
1f182999
AF
44 echo_ok;
45 ;;
46 *)
47 CPUCOUNT=`ls /sys/devices/system/cpu/cpu*/cpufreq/affected_cpus 2> /dev/null | wc -l `;
48 let CPUCOUNT-=1
49 # Set the governor to ondemand to test if it works
50 cpufreq-set -g ondemand
51 if [ ${?} = 0 ]; then
1f182999
AF
52 # Set the governor to ondemand for all cpus
53 for i in `seq 0 $CPUCOUNT`;
54 do
55 cpufreq-set -c $i -g ondemand
56 done
57 echo_ok;
58 else
59 echo_failure;
60 fi
61 ;;
62 esac
d2c65e37
AF
63 exit 0;
64 ;;
65 *)
66 echo "Usage: ${0} {start}"
67 exit 1
68 ;;
69esac
70
71# End $rc_base/init.d/cpufreq
03755188
AF
72
73