summaryrefslogtreecommitdiff
path: root/alsa-info
diff options
context:
space:
mode:
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>2017-01-09 18:32:24 -0600
committerTakashi Iwai <tiwai@suse.de>2017-01-10 09:09:57 +0100
commit1fefc1440276f3a91649650d1dd9bcbb28bab7bd (patch)
treea8b030af4aa0c2897401beb8e6b1794d93fc5ae6 /alsa-info
parent541c7a6460835d6fa982253caf06bc971e2b9279 (diff)
downloadalsa-utils-1fefc1440276f3a91649650d1dd9bcbb28bab7bd.tar.gz
alsa-info: add ACPI device status
BIOS vendors typically reuse the same definitions between different platforms and expose the relevant hardware by changing the value of the _STA method. For example on the Asus T100HA, there are 3 HID values for audio codecs in the DSDT table but two have a zero status and will be ignored by the ACPI subsystem. $ more /sys/bus/acpi/devices/10EC*/status :::::::::::::: /sys/bus/acpi/devices/10EC3270:00/status :::::::::::::: 15 :::::::::::::: /sys/bus/acpi/devices/10EC5640:00/status :::::::::::::: 0 :::::::::::::: /sys/bus/acpi/devices/10EC5648:00/status :::::::::::::: 0 This information is very useful to figure out which HIDs/quirks need to be supported. Add log to alsa-info.sh to only expose non-zero results of the ACPI _STA method, e.g. !!ACPI Device Status Information !!--------------- /sys/bus/acpi/devices/10EC3270:00/status 15 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'alsa-info')
-rwxr-xr-xalsa-info/alsa-info.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/alsa-info/alsa-info.sh b/alsa-info/alsa-info.sh
index 9684c6f..cda4125 100755
--- a/alsa-info/alsa-info.sh
+++ b/alsa-info/alsa-info.sh
@@ -441,6 +441,16 @@ elif [ -x $DMIDECODE ]; then
DMI_BOARD_NAME=$($DMIDECODE -s baseboard-product-name 2>/dev/null)
fi
+# Check for ACPI device status
+if [ -d /sys/bus/acpi/devices ]; then
+ for f in /sys/bus/acpi/devices/*/status; do
+ ACPI_STATUS=$(cat $f 2>/dev/null);
+ if [[ "$ACPI_STATUS" -ne 0 ]]; then
+ echo $f $'\t' $ACPI_STATUS >>$TEMPDIR/acpidevicestatus.tmp;
+ fi
+ done
+fi
+
cat /proc/asound/modules 2>/dev/null|awk {'print $2'}>$TEMPDIR/alsamodules.tmp
cat /proc/asound/cards >$TEMPDIR/alsacards.tmp
if [[ ! -z "$LSPCI" ]]; then
@@ -487,6 +497,12 @@ echo "Board Vendor: $DMI_BOARD_VENDOR" >> $FILE
echo "Board Name: $DMI_BOARD_NAME" >> $FILE
echo "" >> $FILE
echo "" >> $FILE
+echo "!!ACPI Device Status Information" >> $FILE
+echo "!!---------------" >> $FILE
+echo "" >> $FILE
+cat $TEMPDIR/acpidevicestatus.tmp >> $FILE
+echo "" >> $FILE
+echo "" >> $FILE
echo "!!Kernel Information" >> $FILE
echo "!!------------------" >> $FILE
echo "" >> $FILE