Skip to content

Commit 02e1cf7

Browse files
Venkata-Prasad-Potturubroonie
authored andcommitted
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: 09068d6 ("ASoC: amd: acp: fix for acp platform device creation failure") Signed-off-by: Venkata Prasad Potturu <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent e167e5b commit 02e1cf7

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

sound/soc/amd/acp/acp-legacy-common.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
*/
1414

1515
#include "amd.h"
16+
#include <linux/acpi.h>
1617
#include <linux/pci.h>
1718
#include <linux/export.h>
1819

@@ -511,7 +512,9 @@ void check_acp_config(struct pci_dev *pci, struct acp_chip_info *chip)
511512
{
512513
struct acpi_device *pdm_dev;
513514
const union acpi_object *obj;
514-
u32 pdm_addr;
515+
acpi_handle handle;
516+
acpi_integer dmic_status;
517+
u32 pdm_addr, ret;
515518

516519
switch (chip->acp_rev) {
517520
case ACP_RN_PCI_ID:
@@ -543,6 +546,11 @@ void check_acp_config(struct pci_dev *pci, struct acp_chip_info *chip)
543546
obj->integer.value == pdm_addr)
544547
chip->is_pdm_dev = true;
545548
}
549+
550+
handle = ACPI_HANDLE(&pci->dev);
551+
ret = acpi_evaluate_integer(handle, "_WOV", NULL, &dmic_status);
552+
if (!ACPI_FAILURE(ret))
553+
chip->is_pdm_dev = dmic_status;
546554
}
547555
}
548556
EXPORT_SYMBOL_NS_GPL(check_acp_config, "SND_SOC_ACP_COMMON");

0 commit comments

Comments
 (0)