diff options
author | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 2017-01-09 18:32:24 -0600 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2017-01-10 09:09:57 +0100 |
commit | 1fefc1440276f3a91649650d1dd9bcbb28bab7bd (patch) | |
tree | a8b030af4aa0c2897401beb8e6b1794d93fc5ae6 /alsa-info | |
parent | 541c7a6460835d6fa982253caf06bc971e2b9279 (diff) | |
download | alsa-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-x | alsa-info/alsa-info.sh | 16 |
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 |