Commit 2d7d9f36 authored by Ajit Kumar Pandey's avatar Ajit Kumar Pandey Committed by Mark Brown

ASoC: amd: renoir: Add check for acp configuration flags

We have SOF and generic ACP support enabled for Renoir platforms
on some machines. Since we have same PCI id used for probing, add
check for machine configuration flag to avoid conflict with newer
pci drivers. Such machine flag has been initialized via dmi match
on few Chrome machines. If no flag is specified probe and register
older platform device.
Signed-off-by: default avatarAjit Kumar Pandey <AjitKumar.Pandey@amd.com>
Link: https://lore.kernel.org/r/20220117115854.455995-7-AjitKumar.Pandey@amd.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 611ba05e
...@@ -44,6 +44,7 @@ config SND_SOC_AMD_RV_RT5682_MACH ...@@ -44,6 +44,7 @@ config SND_SOC_AMD_RV_RT5682_MACH
config SND_SOC_AMD_RENOIR config SND_SOC_AMD_RENOIR
tristate "AMD Audio Coprocessor - Renoir support" tristate "AMD Audio Coprocessor - Renoir support"
select SND_AMD_ACP_CONFIG
depends on X86 && PCI depends on X86 && PCI
help help
This option enables ACP support for Renoir platform This option enables ACP support for Renoir platform
......
...@@ -212,10 +212,15 @@ static int snd_rn_acp_probe(struct pci_dev *pci, ...@@ -212,10 +212,15 @@ static int snd_rn_acp_probe(struct pci_dev *pci,
acpi_integer dmic_status; acpi_integer dmic_status;
#endif #endif
const struct dmi_system_id *dmi_id; const struct dmi_system_id *dmi_id;
unsigned int irqflags; unsigned int irqflags, flag;
int ret, index; int ret, index;
u32 addr; u32 addr;
/* Return if acp config flag is defined */
flag = snd_amd_acp_find_config(pci);
if (flag)
return -ENODEV;
/* Renoir device check */ /* Renoir device check */
if (pci->revision != 0x01) if (pci->revision != 0x01)
return -ENODEV; return -ENODEV;
......
...@@ -88,3 +88,6 @@ static inline void rn_writel(u32 val, void __iomem *base_addr) ...@@ -88,3 +88,6 @@ static inline void rn_writel(u32 val, void __iomem *base_addr)
{ {
writel(val, base_addr - ACP_PHY_BASE_ADDRESS); writel(val, base_addr - ACP_PHY_BASE_ADDRESS);
} }
/* Machine configuration */
int snd_amd_acp_find_config(struct pci_dev *pci);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment