aboutsummaryrefslogtreecommitdiff
path: root/cpufreq.sh
diff options
context:
space:
mode:
Diffstat (limited to 'cpufreq.sh')
-rwxr-xr-xcpufreq.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/cpufreq.sh b/cpufreq.sh
index a608d6f..9624b69 100755
--- a/cpufreq.sh
+++ b/cpufreq.sh
@@ -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 ""
+}