mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-04-29 12:28:27 +02:00
ASoC: amd: acp: Fix for enabling DMIC on acp platforms via _DSD entry
[ Upstream commit02e1cf7a35] Add condition check to register ACP PDM sound card by reading _WOV acpi entry. Fixes:09068d624c("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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
748a1118d2
commit
da3ac4cf7f
@@ -13,6 +13,7 @@
|
||||
*/
|
||||
|
||||
#include "amd.h"
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
@@ -445,7 +446,9 @@ void check_acp_config(struct pci_dev *pci, struct acp_chip_info *chip)
|
||||
{
|
||||
struct acpi_device *pdm_dev;
|
||||
const union acpi_object *obj;
|
||||
u32 pdm_addr;
|
||||
acpi_handle handle;
|
||||
acpi_integer dmic_status;
|
||||
u32 pdm_addr, ret;
|
||||
|
||||
switch (chip->acp_rev) {
|
||||
case ACP3X_DEV:
|
||||
@@ -477,6 +480,11 @@ void check_acp_config(struct pci_dev *pci, struct acp_chip_info *chip)
|
||||
obj->integer.value == pdm_addr)
|
||||
chip->is_pdm_dev = true;
|
||||
}
|
||||
|
||||
handle = ACPI_HANDLE(&pci->dev);
|
||||
ret = acpi_evaluate_integer(handle, "_WOV", NULL, &dmic_status);
|
||||
if (!ACPI_FAILURE(ret))
|
||||
chip->is_pdm_dev = dmic_status;
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_NS_GPL(check_acp_config, SND_SOC_ACP_COMMON);
|
||||
|
||||
Reference in New Issue
Block a user