alsa-utils/bat/tests/dp_audio_subdevice_number.sh
Focus Luo 0882d92732 alsabat: automation test scripts
This patch includes automated test scripts for linux audio driver
based on alsa-lib interface by using alsabat as test tool.
It supports analog and display(HDMI/DP) audio test.
The package needs the alsa-utils, alsa-lib installed environment.

Signed-off-by: Focus Luo <focus.luo@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-08-23 15:40:03 +02:00

68 lines
1.8 KiB
Bash
Executable file

#!/bin/bash
#/*
# * Copyright (C) 2013-2016 Intel Corporation
# *
# * This program is free software; you can redistribute it and/or modify
# * it under the terms of the GNU General Public License as published by
# * the Free Software Foundation; either version 2 of the License, or
# * (at your option) any later version.
# *
# * This program is distributed in the hope that it will be useful,
# * but WITHOUT ANY WARRANTY; without even the implied warranty of
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# * GNU General Public License for more details.
# *
# */
#set -x
subdevice_number=0
get_subdevice=0
#make sure the DP monitor is connected and active
# To get DisplayPort audio device number
card_number=$(aplay -l | grep "HDMI 1" | cut -b 6)
echo $card_number
if [ "$card_number" = "" ]; then
echo "Can not get Display audio card."
exit 254
fi
audio_card_dir="/proc/asound/card$card_number/"
cd $audio_card_dir
for file in `ls`
do
#To get the ELD info according to the connented monitor with DisplayPort.
if [[ $file == eld* ]]; then
let subdevice_number+=1
cat $file | grep connection_type | grep DisplayPort > /dev/null
if [ $? = 0 ]; then
echo "Get the ELD information according to the connented \
monitor with DisplayPort."
get_subdevice=1
break
fi
fi
done
#failed to get the subdevice number of DisplayPort audio
if [ $get_subdevice == 0 ]; then
exit 77
fi
#the subdevice number of DisplayPort audio is 3
if [ $subdevice_number == 1 ]; then
exit 3
#the subdevice number of DisplayPort audio is 7.
elif [ $subdevice_number == 2 ]; then
exit 7
#the subdevice number of DisplayPort audio is 8
elif [ $subdevice_number == 3 ]; then
exit 8
#default: failed to get the subdevice number of DisplayPort audio
else
exit 77
fi