diff options
Diffstat (limited to 'cpufreq.sh')
-rwxr-xr-x | cpufreq.sh | 42 |
1 files changed, 42 insertions, 0 deletions
@@ -248,3 +248,45 @@ cpufreq_basic_tests() # Test all frequencies shuffle_frequency_for_all_cpus 2 } + +# Suspend/resume +# $1: "suspend" or "hibernate", $2: loop count +do_suspend() +{ + echo "** Test: Running ${FUNCNAME[0]}: Trying $1 for $2 loops **" + echo "" + + # Is the directory available + if [ ! -d /sys/power/ -o ! -f /sys/power/state ]; then + echo "/sys/power/state not available" + return 1 + fi + + if [ $1 = "suspend" ]; then + filename="mem" + elif [ $1 = "hibernate" ]; then + filename="disk" + fi + + if [ -n $filename ]; then + present=$(cat /sys/power/state | grep $filename) + + if [ -z "$present" ]; then + echo "Tried to $1 but $filename isn't present in /sys/power/state" + return 1; + else + for i in `seq 1 $2`; do + echo "Starting $1" + echo $filename > /sys/power/state + echo "Came out of $1" + + echo "Do basic tests after finishing $1 to verify cpufreq state" + echo "" + cpufreq_basic_tests + done + fi + fi + + echo "------------------------------------------------" + echo "" +} |