Commit b03eaf8d authored by Viresh Kumar's avatar Viresh Kumar Committed by Shuah Khan

selftest: cpufreq: Add suspend/resume/hibernate support

This patch adds support to test basic suspend/resume and hibernation to
the cpufreq selftests.
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarShuah Khan <shuahkh@osg.samsung.com>
parent e66d5b67
...@@ -199,3 +199,43 @@ cpufreq_basic_tests() ...@@ -199,3 +199,43 @@ cpufreq_basic_tests()
# Test all governors # Test all governors
shuffle_governors_for_all_cpus 1 shuffle_governors_for_all_cpus 1
} }
# Suspend/resume
# $1: "suspend" or "hibernate", $2: loop count
do_suspend()
{
printf "** Test: Running ${FUNCNAME[0]}: Trying $1 for $2 loops **\n\n"
# Is the directory available
if [ ! -d $SYSFS/power/ -o ! -f $SYSFS/power/state ]; then
printf "$SYSFS/power/state not available\n"
return 1
fi
if [ $1 = "suspend" ]; then
filename="mem"
elif [ $1 = "hibernate" ]; then
filename="disk"
else
printf "$1 is not a valid option\n"
return 1
fi
if [ -n $filename ]; then
present=$(cat $SYSFS/power/state | grep $filename)
if [ -z "$present" ]; then
printf "Tried to $1 but $filename isn't present in $SYSFS/power/state\n"
return 1;
fi
for i in `seq 1 $2`; do
printf "Starting $1\n"
echo $filename > $SYSFS/power/state
printf "Came out of $1\n"
printf "Do basic tests after finishing $1 to verify cpufreq state\n\n"
cpufreq_basic_tests
done
fi
}
...@@ -15,7 +15,9 @@ helpme() ...@@ -15,7 +15,9 @@ helpme()
printf "Usage: $0 [-h] [-to args] printf "Usage: $0 [-h] [-to args]
[-h <help>] [-h <help>]
[-o <output-file-for-dump>] [-o <output-file-for-dump>]
[-t <basic: Basic cpufreq testing>] [-t <basic: Basic cpufreq testing
suspend: suspend/resume,
hibernate: hibernate/resume>]
\n" \n"
exit 2 exit 2
} }
...@@ -61,7 +63,7 @@ parse_arguments() ...@@ -61,7 +63,7 @@ parse_arguments()
helpme helpme
;; ;;
t) # --func_type (Function to perform: basic (default: basic)) t) # --func_type (Function to perform: basic, suspend, hibernate (default: basic))
FUNC=$OPTARG FUNC=$OPTARG
;; ;;
...@@ -91,6 +93,14 @@ do_test() ...@@ -91,6 +93,14 @@ do_test()
cpufreq_basic_tests cpufreq_basic_tests
;; ;;
"suspend")
do_suspend "suspend" 1
;;
"hibernate")
do_suspend "hibernate" 1
;;
*) *)
echo "Invalid [-f] function type" echo "Invalid [-f] function type"
helpme helpme
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment