From: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
To: <broonie@kernel.org>
Cc: <alsa-devel@alsa-project.org>, <lgirdwood@gmail.com>,
<perex@perex.cz>, <tiwai@suse.com>,
<yung-chuan.liao@linux.intel.com>, <Basavaraj.Hiregoudar@amd.com>,
<Sunil-kumar.Dommati@amd.com>, <venkataprasad.potturu@amd.com>,
<Syed.SabaKareem@amd.com>, <Mario.Limonciello@amd.com>,
<Richard.Gong@amd.com>, <Vijendar.Mukunda@amd.com>,
<Poojitha.N@amd.com>, <linux-sound@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<sound-open-firmware@alsa-project.org>
Subject: [PATCH v2 07/10] ASoC: amd: acp: add acp-mach-common.h for shared machine driver types
Date: Wed, 14 Oct 2026 15:29:15 +0530 [thread overview]
Message-ID: <20261014100902.1215212-8-Vijendar.Mukunda@amd.com> (raw)
In-Reply-To: <20261014100902.1215212-1-Vijendar.Mukunda@amd.com>
ACP7.B/7.F platforms expose a PDM controller selection via the
acp-audio-ep-port ACPI _DSD property. struct amd_pdm_pdata carries
this selection and is required by multiple machine driver variants -
the legacy (non-DSP) and SOF stacks - for both I2S and SoundWire
paths.
Currently the struct lives in soc_amd_sdw_common.h, which is
SoundWire-specific, making it unavailable to I2S machine drivers
without an inappropriate header dependency.
Add acp-mach-common.h as a minimal header for types shared across all
AMD ACP machine drivers. Move struct amd_pdm_pdata there and retain
an #include of it in soc_amd_sdw_common.h so that no call sites
require modification.
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
sound/soc/amd/acp/acp-mach-common.h | 25 +++++++++++++++++++++++++
sound/soc/amd/acp/soc_amd_sdw_common.h | 14 +-------------
2 files changed, 26 insertions(+), 13 deletions(-)
create mode 100644 sound/soc/amd/acp/acp-mach-common.h
diff --git a/sound/soc/amd/acp/acp-mach-common.h b/sound/soc/amd/acp/acp-mach-common.h
new file mode 100644
index 0000000000000..a2cb25be6bf8f
--- /dev/null
+++ b/sound/soc/amd/acp/acp-mach-common.h
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0-only
+ * Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved
+ */
+/*
+ * acp-mach-common.h - Structures shared across all AMD ACP machine drivers
+ * (I2S, SoundWire, and SOF paths).
+ */
+
+#ifndef __ACP_MACH_COMMON_H
+#define __ACP_MACH_COMMON_H
+
+/**
+ * struct amd_pdm_pdata - PDM controller platform data passed via mach->pdata
+ * @pdm_sel: active PDM controller (ACP7X_PDM_DMIC0 or ACP7X_PDM_DMIC1),
+ * non-zero when a PDM controller was identified via ACPI _DSD for
+ * ACP7.B/7.F platforms.
+ *
+ * Passed via mach->pdata by machine select logic to both I2S and SoundWire
+ * machine drivers so each can configure the correct DMIC DAI link.
+ */
+struct amd_pdm_pdata {
+ unsigned int pdm_sel;
+};
+
+#endif /* __ACP_MACH_COMMON_H */
diff --git a/sound/soc/amd/acp/soc_amd_sdw_common.h b/sound/soc/amd/acp/soc_amd_sdw_common.h
index 17e4e97fb3d1d..034c9ab6e4ea6 100644
--- a/sound/soc/amd/acp/soc_amd_sdw_common.h
+++ b/sound/soc/amd/acp/soc_amd_sdw_common.h
@@ -13,6 +13,7 @@
#include <linux/types.h>
#include <sound/soc.h>
#include <sound/soc_sdw_utils.h>
+#include "acp-mach-common.h"
#define ACP63_SDW_MAX_CPU_DAIS 8
#define ACP63_SDW_MAX_LINKS 2
@@ -23,19 +24,6 @@
#define ACP71_PCI_REV 0x71
#define ACP72_PCI_REV 0x72
-/**
- * struct amd_pdm_pdata - platform data passed via mach->pdata to machine driver
- * @pdm_sel: active PDM controller (ACP7X_PDM_DMIC0 or ACP7X_PDM_DMIC1),
- * non-zero when a PDM controller was identified via ACPI _DSD
- *
- * Carries the PDM controller selection for ACP7.B/7.F platforms, derived
- * from the acp-audio-ep-port ACPI _DSD property and passed via mach->pdata
- * to the machine driver.
- */
-struct amd_pdm_pdata {
- unsigned int pdm_sel;
-};
-
#define SOC_JACK_JDSRC(quirk) ((quirk) & GENMASK(3, 0))
#define ASOC_SDW_FOUR_SPK BIT(4)
#define ASOC_SDW_ACP_DMIC BIT(5)
--
2.48.1
next prev parent reply other threads:[~2026-10-14 10:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-14 9:59 [PATCH v2 00/10] ASoC: SOF/amd: ACP7.B support and ASP carveout firmware loading Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 01/10] ASoC: SOF: amd: rename acp7x machine table and descriptor to acp7f Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 02/10] ASoC: SOF: amd: select descriptor per PCI revision in acp7x probe Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 03/10] ASoC: amd: add I2S machine table for ACP7.B Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 04/10] ASoC: SOF: amd: add ACP7.B chip descriptor and wire per-revision probe Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 05/10] ASoC: SOF: amd: Propagate PCI subsystem Vendor and Device IDs Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 06/10] ASoC: SOF: amd: consolidate local variable declarations Vijendar Mukunda
2026-10-14 9:59 ` Vijendar Mukunda [this message]
2026-10-14 9:59 ` [PATCH v2 08/10] ASoC: amd: acp: move ACP7X_PDM_DMIC0/1 to acp-mach-common.h Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 09/10] ASoC: SOF: amd: propagate pdm_sel to SDW machine driver via mach->pdata Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 10/10] ASoC: SOF: amd: add ASP carveout firmware loading for ACP7.B/7.F Vijendar Mukunda
2026-10-14 10:44 ` [PATCH v2 00/10] ASoC: SOF/amd: ACP7.B support and ASP carveout firmware loading Mark Brown
2026-10-14 11:51 ` Mukunda,Vijendar
2026-10-14 11:55 ` Mark Brown
2026-10-14 12:10 ` Mukunda,Vijendar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261014100902.1215212-8-Vijendar.Mukunda@amd.com \
--to=vijendar.mukunda@amd.com \
--cc=Basavaraj.Hiregoudar@amd.com \
--cc=Mario.Limonciello@amd.com \
--cc=Poojitha.N@amd.com \
--cc=Richard.Gong@amd.com \
--cc=Sunil-kumar.Dommati@amd.com \
--cc=Syed.SabaKareem@amd.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=sound-open-firmware@alsa-project.org \
--cc=tiwai@suse.com \
--cc=venkataprasad.potturu@amd.com \
--cc=yung-chuan.liao@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®