From 523b702313a4cd20a93daa2a465ecd543070e0cc Mon Sep 17 00:00:00 2001 From: tanner Date: Sun, 16 May 2010 18:39:42 +0200 Subject: [PATCH] settings 0.9 --- kernel-power-settings/debian/changelog | 8 ++++++ kernel-power-settings/debian/control | 2 +- kernel-power-settings/kernel-config | 45 ++++++++++++++++++++++---------- 3 files changed, 40 insertions(+), 15 deletions(-) diff --git a/kernel-power-settings/debian/changelog b/kernel-power-settings/debian/changelog index 04d2dee..25aae1e 100644 --- a/kernel-power-settings/debian/changelog +++ b/kernel-power-settings/debian/changelog @@ -1,3 +1,11 @@ +kernel-power-settings (0.9) fremantle; urgency=low + + * initial support for other governors, use avoid_frequencies only for ondemand + * powersave_bias for ondemand + * control: typo + + -- Thomas Tanner Sun, 16 May 2010 18:38:19 +0200 + kernel-power-settings (0.8) fremantle; urgency=low * kernel-config: dont allow locking to 0 freq, remove debug msgs, diff --git a/kernel-power-settings/debian/control b/kernel-power-settings/debian/control index c77a8ac..5ce0910 100644 --- a/kernel-power-settings/debian/control +++ b/kernel-power-settings/debian/control @@ -20,7 +20,7 @@ Description: Tools for the customization of kernel settings The command /usr/sbin/kernel-config can be used to load, save and show CPU frequency, voltage and DSP settings. It can also set defaults which are loaded during boot. - Different profiles can be stored in user directory. + Different profiles can be stored in the user's home directory. . This package contains boot options to enable file system checks of /home before mounting or to start a SSH server with USB networking. diff --git a/kernel-power-settings/kernel-config b/kernel-power-settings/kernel-config index 96b9325..6ae7eaa 100755 --- a/kernel-power-settings/kernel-config +++ b/kernel-power-settings/kernel-config @@ -2,7 +2,7 @@ # kernel configuration script for power user kernel # (c) Copyright 2010 by Thomas Tanner # licensed under GPLv3 -# version 0.2 (7. May 2010) +# version 0.3 (16. May 2010) if test $# -eq 0; then echo "$0 command [options]" @@ -25,10 +25,10 @@ fi cfr=/sys/devices/system/cpu/cpu0/cpufreq cfd=$cfr/ondemand +cfc=$cfr/conservative pwr=/sys/power -echo ondemand > $cfr/scaling_governor -if test -f $cfd/avoid_frequencies -a -f $pwr/vdd1_opps_vsel -a -f $pwr/dsp_opps_rate; then : +if test -f $pwr/vdd1_opps_vsel -a -f $pwr/dsp_opps_rate; then : else echo This kernel version `uname -r` is not supported echo Please make sure that kernel-power is installed and running. @@ -71,7 +71,9 @@ show|save|savedef) minfreq=$((`cat $cfr/scaling_min_freq`/1000)) maxfreq=$((`cat $cfr/scaling_max_freq`/1000)) test $maxfreq = 599 && maxfreq=600 - avoid=`cat $cfd/avoid_frequencies` + gov=`cat $cfr/scaling_governor` + avoid= + test $gov = ondemand && avoid=`cat $cfd/avoid_frequencies` freqs= for f in 0 $allfreq; do popvsel $vsel @@ -93,9 +95,15 @@ show|save|savedef) echo echo "active frequencies: $freqs" echo "SmartReflex" "VDD1=`cat $pwr/sr_vdd1_autocomp`, VDD2=`cat $pwr/sr_vdd2_autocomp`" - echo -n "ondemand: ignore nice load=" `cat $cfd/ignore_nice_load` - echo -n ", up threshold=" `cat $cfd/up_threshold` - echo ", sampling rate=" `cat $cfd/sampling_rate` + echo -n "governor $gov:" + if test $gov = ondemand; then + echo -n " ignore nice load=" `cat $cfd/ignore_nice_load` + echo -n ", up threshold=" `cat $cfd/up_threshold` + echo -n ", sampling rate=" `cat $cfd/sampling_rate` + echo ", powersave bias=" `cat $cfd/powersave_bias` + else + echo + fi else test $cmd = save && arg=$1 if test -z "$arg"; then @@ -120,9 +128,13 @@ show|save|savedef) echo "FREQS=\"$freqs\"" >> $arg echo "SMARTREFLEX_VDD1=`cat $pwr/sr_vdd1_autocomp`" >> $arg echo "SMARTREFLEX_VDD2=`cat $pwr/sr_vdd2_autocomp`" >> $arg - echo "IGNORE_NICE_LOAD=`cat $cfd/ignore_nice_load`" >> $arg - echo "UP_THRESHOLD=`cat $cfd/up_threshold`" >> $arg - echo "SAMPLING_RATE=`cat $cfd/sampling_rate`" >> $arg + echo "GOVERNOR=$gov" >> $arg + if test $gov = ondemand; then + echo "IGNORE_NICE_LOAD=`cat $cfd/ignore_nice_load`" >> $arg + echo "UP_THRESHOLD=`cat $cfd/up_threshold`" >> $arg + echo "SAMPLING_RATE=`cat $cfd/sampling_rate`" >> $arg + echo "POWERSAVE_BIAS=`cat $cfd/powersave_bias`" >> $arg + fi fi ;; load|loaddef) @@ -197,6 +209,7 @@ load|loaddef) vsel=$tvsel rate=$trate done + test -z "$GOVERNOR" && GOVERNOR=ondemand test -n "$MINFREQ" && minfreq=$MINFREQ test -n "$MAXFREQ" && maxfreq=$MAXFREQ test "$minfreq" -gt 100000 && minfreq=$((minfreq/1000)) @@ -211,7 +224,14 @@ load|loaddef) *) avoid="$avoid $f" ;; esac done - echo $avoid > $cfd/avoid_frequencies + echo $GOVERNOR > $cfr/scaling_governor + if test $GOVERNOR = ondemand; then + echo $avoid > $cfd/avoid_frequencies + test -n "$IGNORE_NICE_LOAD" && echo $IGNORE_NICE_LOAD > $cfd/ignore_nice_load + test -n "$UP_THRESHOLD" && echo $UP_THRESHOLD > $cfd/up_threshold + test -n "$SAMPLING_RATE" && echo $SAMPLING_RATE > $cfd/sampling_rate + test -n "$POWERSAVE_BIAS" && echo $POWERSAVE_BIAS > $cfd/powersave_bias + fi echo $vsel > $pwr/vdd1_opps_vsel echo $rate > $pwr/dsp_opps_rate test $maxfreq = 600 && maxfreq=599 @@ -220,9 +240,6 @@ load|loaddef) echo $((maxfreq*1000)) > $cfr/scaling_max_freq test -n "$SMARTREFLEX_VDD1" && echo $SMARTREFLEX_VDD1 > $pwr/sr_vdd1_autocomp test -n "$SMARTREFLEX_VDD2" && echo $SMARTREFLEX_VDD2 > $pwr/sr_vdd2_autocomp - test -n "$IGNORE_NICE_LOAD" && echo $IGNORE_NICE_LOAD > $cfd/ignore_nice_load - test -n "$UP_THRESHOLD" && echo $UP_THRESHOLD > $cfd/up_threshold - test -n "$SAMPLING_RATE" && echo $SAMPLING_RATE > $cfd/sampling_rate echo "successfully loaded." ;; default) -- 1.7.9.5