mirror of https://gitee.com/openkylin/linux.git
ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2
[ Upstream commit 78ea40efb4
]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
cce4769544
commit
919f5678ba
|
@ -165,8 +165,14 @@ int sdw_intel_acpi_scan(acpi_handle *parent_handle,
|
|||
acpi_status status;
|
||||
|
||||
info->handle = NULL;
|
||||
/*
|
||||
* In the HDAS ACPI scope, 'SNDW' may be either the child of
|
||||
* 'HDAS' or the grandchild of 'HDAS'. So let's go through
|
||||
* the ACPI from 'HDAS' at max depth of 2 to find the 'SNDW'
|
||||
* device.
|
||||
*/
|
||||
status = acpi_walk_namespace(ACPI_TYPE_DEVICE,
|
||||
parent_handle, 1,
|
||||
parent_handle, 2,
|
||||
sdw_intel_acpi_cb,
|
||||
NULL, info, NULL);
|
||||
if (ACPI_FAILURE(status) || info->handle == NULL)
|
||||
|
|
Loading…
Reference in New Issue