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: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
This commit is contained in:
Родитель
e66d5b6737
Коммит
b03eaf8dba
|
@ -199,3 +199,43 @@ cpufreq_basic_tests()
|
|||
# Test all governors
|
||||
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()
|
|||
printf "Usage: $0 [-h] [-to args]
|
||||
[-h <help>]
|
||||
[-o <output-file-for-dump>]
|
||||
[-t <basic: Basic cpufreq testing>]
|
||||
[-t <basic: Basic cpufreq testing
|
||||
suspend: suspend/resume,
|
||||
hibernate: hibernate/resume>]
|
||||
\n"
|
||||
exit 2
|
||||
}
|
||||
|
@ -61,7 +63,7 @@ parse_arguments()
|
|||
helpme
|
||||
;;
|
||||
|
||||
t) # --func_type (Function to perform: basic (default: basic))
|
||||
t) # --func_type (Function to perform: basic, suspend, hibernate (default: basic))
|
||||
FUNC=$OPTARG
|
||||
;;
|
||||
|
||||
|
@ -91,6 +93,14 @@ do_test()
|
|||
cpufreq_basic_tests
|
||||
;;
|
||||
|
||||
"suspend")
|
||||
do_suspend "suspend" 1
|
||||
;;
|
||||
|
||||
"hibernate")
|
||||
do_suspend "hibernate" 1
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Invalid [-f] function type"
|
||||
helpme
|
||||
|
|
Загрузка…
Ссылка в новой задаче