mirror of
https://github.com/alsa-project/alsa-utils
synced 2024-12-22 18:16:31 +01:00
alsabat: add system power management S3 test
Support audio pause/resume for playback and capture. The user can pause alsabat playback/capture threads by sending a signal. The patch provides a method for QA to quick test audio during system s3. Signed-off-by: Keqiao, Zhang <keqiao.zhang@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
cadd877da6
commit
7b122fb62a
1 changed files with 34 additions and 0 deletions
|
@ -15,6 +15,10 @@ logdir="tmp"
|
||||||
maxfreq=16547
|
maxfreq=16547
|
||||||
minfreq=17
|
minfreq=17
|
||||||
|
|
||||||
|
# sleep time and pause time
|
||||||
|
sleep_time=5
|
||||||
|
pause_time=2
|
||||||
|
|
||||||
# features passes vs. features all
|
# features passes vs. features all
|
||||||
feature_pass=0
|
feature_pass=0
|
||||||
feature_cnt=0
|
feature_cnt=0
|
||||||
|
@ -48,6 +52,35 @@ feature_test () {
|
||||||
echo "$commands $1" >> $logdir/$((feature_cnt-1)).log
|
echo "$commands $1" >> $logdir/$((feature_cnt-1)).log
|
||||||
}
|
}
|
||||||
|
|
||||||
|
feature_test_power () {
|
||||||
|
echo "============================================"
|
||||||
|
echo "$feature_cnt: ALSA $2"
|
||||||
|
echo "-------------------------------------------"
|
||||||
|
echo "$commands $1 --log=$logdir/$feature_cnt.log"
|
||||||
|
|
||||||
|
# run alsabat in the background
|
||||||
|
nohup $commands $1 > $logdir/$feature_cnt.log 2>&1 &
|
||||||
|
sleep $pause_time
|
||||||
|
pid=`ps -aux |grep alsabat|head -1 |awk -F ' ' '{print $2}'`
|
||||||
|
|
||||||
|
# stop the alsabat thread
|
||||||
|
kill -STOP $pid > /dev/null
|
||||||
|
sleep 4
|
||||||
|
|
||||||
|
# do system S3
|
||||||
|
rtcwake -m mem -s $sleep_time
|
||||||
|
sleep $pause_time
|
||||||
|
|
||||||
|
# resume the alasbat thread to run
|
||||||
|
kill -CONT $pid > /dev/null
|
||||||
|
|
||||||
|
# wait for alsabat to complete the analysis
|
||||||
|
sleep $pause_time
|
||||||
|
cat $logdir/$feature_cnt.log |grep -i "Return value is 0" > /dev/null
|
||||||
|
evaluate_result $?
|
||||||
|
echo "$commands $1" >> $logdir/$((feature_cnt-1)).log
|
||||||
|
}
|
||||||
|
|
||||||
# test items
|
# test items
|
||||||
feature_list_test () {
|
feature_list_test () {
|
||||||
init_counter
|
init_counter
|
||||||
|
@ -87,6 +120,7 @@ feature_list_test () {
|
||||||
"noise detect threshold in SNR(dB)"
|
"noise detect threshold in SNR(dB)"
|
||||||
feature_test "--snr-pc 5" \
|
feature_test "--snr-pc 5" \
|
||||||
"noise detect threshold in noise percentage(%)"
|
"noise detect threshold in noise percentage(%)"
|
||||||
|
feature_test_power "-n5s" "power management: S3 test"
|
||||||
|
|
||||||
print_result
|
print_result
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue