Skip to content

Commit 78ea40e

Browse files
libinyangtiwai
authored andcommitted
ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2
In the HDAS ACPI scope, the SoundWire may not be the direct child of HDAS. It needs to go through the ACPI table at max depth of 2 to find the SoundWire device from HDAS. Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Libin Yang <libin.yang@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20211221010817.23636-3-yung-chuan.liao@linux.intel.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
1 parent 385f287 commit 78ea40e

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

sound/hda/intel-sdw-acpi.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,14 @@ int sdw_intel_acpi_scan(acpi_handle *parent_handle,
165165
acpi_status status;
166166

167167
info->handle = NULL;
168+
/*
169+
* In the HDAS ACPI scope, 'SNDW' may be either the child of
170+
* 'HDAS' or the grandchild of 'HDAS'. So let's go through
171+
* the ACPI from 'HDAS' at max depth of 2 to find the 'SNDW'
172+
* device.
173+
*/
168174
status = acpi_walk_namespace(ACPI_TYPE_DEVICE,
169-
parent_handle, 1,
175+
parent_handle, 2,
170176
sdw_intel_acpi_cb,
171177
NULL, info, NULL);
172178
if (ACPI_FAILURE(status) || info->handle == NULL)

0 commit comments

Comments
 (0)