Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ASoC: amd: acp: Fix for enabling DMIC on acp platforms via _DSD entry

Add condition check to register ACP PDM sound card by reading
_WOV acpi entry.

Fixes: 09068d624c49 ("ASoC: amd: acp: fix for acp platform device creation failure")

Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com>
Link: https://patch.msgid.link/20250310183201.11979-15-venkataprasad.potturu@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Venkata Prasad Potturu and committed by
Mark Brown
02e1cf7a e167e5b2

+9 -1
+9 -1
sound/soc/amd/acp/acp-legacy-common.c
··· 13 13 */ 14 14 15 15 #include "amd.h" 16 + #include <linux/acpi.h> 16 17 #include <linux/pci.h> 17 18 #include <linux/export.h> 18 19 ··· 512 511 { 513 512 struct acpi_device *pdm_dev; 514 513 const union acpi_object *obj; 515 - u32 pdm_addr; 514 + acpi_handle handle; 515 + acpi_integer dmic_status; 516 + u32 pdm_addr, ret; 516 517 517 518 switch (chip->acp_rev) { 518 519 case ACP_RN_PCI_ID: ··· 546 543 obj->integer.value == pdm_addr) 547 544 chip->is_pdm_dev = true; 548 545 } 546 + 547 + handle = ACPI_HANDLE(&pci->dev); 548 + ret = acpi_evaluate_integer(handle, "_WOV", NULL, &dmic_status); 549 + if (!ACPI_FAILURE(ret)) 550 + chip->is_pdm_dev = dmic_status; 549 551 } 550 552 } 551 553 EXPORT_SYMBOL_NS_GPL(check_acp_config, "SND_SOC_ACP_COMMON");