settings 0.9 kernel-power-settings-0.9
authortanner <tanner@mach.kyb.local>
Sun, 16 May 2010 16:39:42 +0000 (18:39 +0200)
committertanner <tanner@mach.kyb.local>
Sun, 16 May 2010 16:39:42 +0000 (18:39 +0200)
kernel-power-settings/debian/changelog
kernel-power-settings/debian/control
kernel-power-settings/kernel-config

index 04d2dee..25aae1e 100644 (file)
@@ -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 <maemo@tannerlab.com>  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,
index c77a8ac..5ce0910 100644 (file)
@@ -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.
index 96b9325..6ae7eaa 100755 (executable)
@@ -2,7 +2,7 @@
 # kernel configuration script for power user kernel
 # (c) Copyright 2010 by Thomas Tanner <maemo@tannerlab.com>
 # 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)