Skip to contentSkip to conversation

ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series

PATCH In review Vijendar Mukunda 3 participants 5 messages Nov 6

Subsystems (3)
lore
Share & tools
lore

Vijendar Mukunda

author maintainer
#0 lore raw

cover ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series

These two patches address nit-picks raised in review of the ACP7.B/7.F SoundWire machine driver series posted at:

https://lore.kernel.org/all/[email protected]/

These patches were previously posted as replies to the original series. Posting them now as a standalone series to keep the dependency clear and avoid threading new patches under the existing review.

Patch 1 renames three static adr_device arrays in amd-acp7x-acpi-match.c to reflect their endpoint set rather than their structural role, making the distinction between jack+dmic (combo with RT1320) and jack+amp+dmic (standalone) self-explanatory.

Patch 2 adds a block comment above the ASOC_SDW_ACP_DMIC and ASOC_SDW_ACP_DMIC1 quirk bit definitions to document the dual-PDM- controller hardware model of ACP7.B/7.F, and annotates each bit with its role. ASOC_SDW_ACP_DMIC is a generic DMIC-enable flag on all ACP platforms; on ACP7.B/7.F it additionally identifies the PDM0 controller. ASOC_SDW_ACP_DMIC1 is ACP7.B/7.F-specific for PDM1. BIOS wires exactly one controller per platform.

Vijendar Mukunda (2):
ASoC: amd: acp: fix adr_device naming in ACP7.x ACPI match table
ASoC: amd: acp: document PDM controller topology for ACP7.B/7.F

 sound/soc/amd/acp/amd-acp7x-acpi-match.c | 22 +++++++++++-----------
 sound/soc/amd/acp/soc_amd_sdw_common.h   | 11 +++++++++--
 2 files changed, 20 insertions(+), 13 deletions(-)
Signature · 1 line
2.53.0
author maintainer
#1 lore raw

PATCH 1/2 ASoC: amd: acp: fix adr_device naming in ACP7.x ACPI match table

Rename the three rt721/rt722 adr_device arrays to encode their endpoint set rather than their structural role:

  rt721_l0_single_adr  -> rt721_l0_jack_dmic_adr
  rt721_l0_only        -> rt721_l0_jack_amp_dmic_adr
  rt722_l0_single_adr  -> rt722_l0_jack_amp_dmic_adr

The old names (_single_adr vs _only) did not indicate which endpoint set each entry uses. The new names make it immediately clear that rt721_l0_jack_dmic_adr carries jack+dmic endpoints (used in combo configs where RT1320 provides amplification) while both *_jack_amp_dmic_adr variants carry the full jack+amp+dmic set for standalone configurations. Update all four call sites accordingly.

---
 sound/soc/amd/acp/amd-acp7x-acpi-match.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)
sound/soc/amd/acp/amd-acp7x-acpi-match.c +11 -11
index 830c59966a35..bf11ceb7478b 100644
@@ -57,7 +57,7 @@ static const struct snd_soc_acpi_endpoint jack_amp_dmic_endpoints[] = {
 	},
 };
 
-static const struct snd_soc_acpi_adr_device rt721_l0_single_adr[] = {
+static const struct snd_soc_acpi_adr_device rt721_l0_jack_dmic_adr[] = {
 	{
 		.adr = 0x000030025d072101ull,
 		.num_endpoints = ARRAY_SIZE(jack_dmic_endpoints),
@@ -66,7 +66,7 @@ static const struct snd_soc_acpi_adr_device rt721_l0_single_adr[] = {
 	}
 };
 
-static const struct snd_soc_acpi_adr_device rt721_l0_only[] = {
+static const struct snd_soc_acpi_adr_device rt721_l0_jack_amp_dmic_adr[] = {
 	{
 		.adr = 0x000030025d072101ull,
 		.num_endpoints = ARRAY_SIZE(jack_amp_dmic_endpoints),
@@ -78,13 +78,13 @@ static const struct snd_soc_acpi_adr_device rt721_l0_only[] = {
 static const struct snd_soc_acpi_link_adr acp7x_rt721_only[] = {
 	{
 		.mask = BIT(0),
-		.num_adr = ARRAY_SIZE(rt721_l0_only),
-		.adr_d = rt721_l0_only,
+		.num_adr = ARRAY_SIZE(rt721_l0_jack_amp_dmic_adr),
+		.adr_d = rt721_l0_jack_amp_dmic_adr,
 	},
 	{}
 };
 
-static const struct snd_soc_acpi_adr_device rt722_l0_single_adr[] = {
+static const struct snd_soc_acpi_adr_device rt722_l0_jack_amp_dmic_adr[] = {
 	{
 		.adr = 0x000030025d072201ull,
 		.num_endpoints = ARRAY_SIZE(jack_amp_dmic_endpoints),
@@ -96,8 +96,8 @@ static const struct snd_soc_acpi_adr_device rt722_l0_single_adr[] = {
 static const struct snd_soc_acpi_link_adr acp7x_rt722_only[] = {
 	{
 		.mask = BIT(0),
-		.num_adr = ARRAY_SIZE(rt722_l0_single_adr),
-		.adr_d = rt722_l0_single_adr,
+		.num_adr = ARRAY_SIZE(rt722_l0_jack_amp_dmic_adr),
+		.adr_d = rt722_l0_jack_amp_dmic_adr,
 	},
 	{}
 };
@@ -123,8 +123,8 @@ static const struct snd_soc_acpi_adr_device rt1320_l3_single_adr[] = {
 static const struct snd_soc_acpi_link_adr acp7x_rt721_l0_rt1320_l1[] = {
 	{
 		.mask = BIT(0),
-		.num_adr = ARRAY_SIZE(rt721_l0_single_adr),
-		.adr_d = rt721_l0_single_adr,
+		.num_adr = ARRAY_SIZE(rt721_l0_jack_dmic_adr),
+		.adr_d = rt721_l0_jack_dmic_adr,
 	},
 	{
 		.mask = BIT(1),
@@ -137,8 +137,8 @@ static const struct snd_soc_acpi_link_adr acp7x_rt721_l0_rt1320_l1[] = {
 static const struct snd_soc_acpi_link_adr acp7x_rt721_l0_rt1320_l3[] = {
 	{
 		.mask = BIT(0),
-		.num_adr = ARRAY_SIZE(rt721_l0_single_adr),
-		.adr_d = rt721_l0_single_adr,
+		.num_adr = ARRAY_SIZE(rt721_l0_jack_dmic_adr),
+		.adr_d = rt721_l0_jack_dmic_adr,
 	},
 	{
 		.mask = BIT(3),
Signature · 1 line
2.53.0
author maintainer
#2 lore raw

PATCH 2/2 ASoC: amd: acp: document PDM controller topology for ACP7.B/7.F

In reply to Vijendar Mukunda

Add a block comment above the ASOC_SDW_ACP_DMIC / ASOC_SDW_ACP_DMIC1 quirk bits and annotate each bit with its role.

ASOC_SDW_ACP_DMIC (BIT(5)) is a generic DMIC-enable flag used across all ACP platforms; on ACP7.B/7.F it additionally identifies the PDM0 controller. ASOC_SDW_ACP_DMIC1 (BIT(6)) selects the PDM1 controller and is ACP7.B/7.F-specific. Both ACP7.B/7.F controllers support a 2-channel stereo capture path, and BIOS wires exactly one per platform.

---
 sound/soc/amd/acp/soc_amd_sdw_common.h | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
sound/soc/amd/acp/soc_amd_sdw_common.h +9 -2
index 07837a2cfa54..21b059b74626 100644
@@ -28,8 +28,15 @@
 
 #define SOC_JACK_JDSRC(quirk)		((quirk) & GENMASK(3, 0))
 #define ASOC_SDW_FOUR_SPK		BIT(4)
-#define ASOC_SDW_ACP_DMIC		BIT(5)
-#define ASOC_SDW_ACP_DMIC1		BIT(6)	/* select DMIC1 controller for ACP7.B/7.F */
+/*
+ * ASOC_SDW_ACP_DMIC is a generic DMIC-enable flag used across all ACP
+ * platforms. On ACP7.B/7.F it additionally identifies the PDM0 controller;
+ * ASOC_SDW_ACP_DMIC1 selects PDM1 on ACP7.B/7.F instead. Both ACP7.B/7.F
+ * controllers support a 2-channel stereo capture path, and BIOS wires exactly
+ * one per platform.
+ */
+#define ASOC_SDW_ACP_DMIC		BIT(5)	/* enable DMIC; PDM0 on ACP7.B/7.F */
+#define ASOC_SDW_ACP_DMIC1		BIT(6)	/* PDM1 / DMIC1, ACP7.B/7.F only */
 #define ASOC_SDW_CODEC_SPKR		BIT(15)
 
 #define AMD_SDW0	0
Signature · 1 line
2.53.0
Reviewed-by on the v1 series
#3 lore raw
In reply to Vijendar Mukunda
Quoted 22 lines · Vijendar Mukunda

These two patches address nit-picks raised in review of the ACP7.B/7.F SoundWire machine driver series posted at:

https://lore.kernel.org/all/[email protected]/

These patches were previously posted as replies to the original series. Posting them now as a standalone series to keep the dependency clear and avoid threading new patches under the existing review.

Patch 1 renames three static adr_device arrays in amd-acp7x-acpi-match.c to reflect their endpoint set rather than their structural role, making the distinction between jack+dmic (combo with RT1320) and jack+amp+dmic (standalone) self-explanatory.

Patch 2 adds a block comment above the ASOC_SDW_ACP_DMIC and ASOC_SDW_ACP_DMIC1 quirk bit definitions to document the dual-PDM- controller hardware model of ACP7.B/7.F, and annotates each bit with its role. ASOC_SDW_ACP_DMIC is a generic DMIC-enable flag on all ACP platforms; on ACP7.B/7.F it additionally identifies the PDM0 controller. ASOC_SDW_ACP_DMIC1 is ACP7.B/7.F-specific for PDM1. BIOS wires exactly one controller per platform.

Quoted 7 lines

Vijendar Mukunda (2):
ASoC: amd: acp: fix adr_device naming in ACP7.x ACPI match table
ASoC: amd: acp: document PDM controller topology for ACP7.B/7.F

 sound/soc/amd/acp/amd-acp7x-acpi-match.c | 22 +++++++++++-----------
 sound/soc/amd/acp/soc_amd_sdw_common.h   | 11 +++++++++--
 2 files changed, 20 insertions(+), 13 deletions(-)

thanks for the patches

maintainer
#4 lore raw
In reply to Vijendar Mukunda
Quoted 8 lines · Vijendar Mukunda

ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series

These two patches address nit-picks raised in review of the ACP7.B/7.F SoundWire machine driver series posted at:

https://lore.kernel.org/all/[email protected]/

[...]

Applied to

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-7.5

Thanks!

[1/2] ASoC: amd: acp: fix adr_device naming in ACP7.x ACPI match table

      https://git.kernel.org/broonie/sound/c/2e2f6b2a7cd4
[2/2] ASoC: amd: acp: document PDM controller topology for ACP7.B/7.F
      https://git.kernel.org/broonie/sound/c/a9a7c22d3e67

All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying to this mail.

Thanks,
Mark