mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series
@ 2026-11-06 13:07 Vijendar Mukunda
  2026-11-06 13:07 ` [PATCH 1/2] ASoC: amd: acp: fix adr_device naming in ACP7.x ACPI match table Vijendar Mukunda
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Vijendar Mukunda @ 2026-11-06 13:07 UTC (permalink / raw)
  To: broonie
  Cc: alsa-devel, lgirdwood, perex, tiwai, pierre-louis.bossart,
	yung-chuan.liao, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
	venkataprasad.potturu, Syed.SabaKareem, Mario.Limonciello,
	Richard.Gong, Vijendar.Mukunda, Poojitha.N, linux-sound,
	linux-kernel

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/20261030094714.1123396-1-Vijendar.Mukunda@amd.com/

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(-)

-- 
2.53.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] ASoC: amd: acp: fix adr_device naming in ACP7.x ACPI match table
  2026-11-06 13:07 [PATCH 0/2] ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series Vijendar Mukunda
@ 2026-11-06 13:07 ` Vijendar Mukunda
  2026-11-06 13:07 ` [PATCH 2/2] ASoC: amd: acp: document PDM controller topology for ACP7.B/7.F Vijendar Mukunda
  2026-11-06 13:11 ` [PATCH 0/2] ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series Pierre-Louis Bossart
  2 siblings, 0 replies; 5+ messages in thread
From: Vijendar Mukunda @ 2026-11-06 13:07 UTC (permalink / raw)
  To: broonie
  Cc: alsa-devel, lgirdwood, perex, tiwai, pierre-louis.bossart,
	yung-chuan.liao, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
	venkataprasad.potturu, Syed.SabaKareem, Mario.Limonciello,
	Richard.Gong, Vijendar.Mukunda, Poojitha.N, linux-sound,
	linux-kernel

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.

Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 sound/soc/amd/acp/amd-acp7x-acpi-match.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/sound/soc/amd/acp/amd-acp7x-acpi-match.c b/sound/soc/amd/acp/amd-acp7x-acpi-match.c
index 830c59966a35..bf11ceb7478b 100644
--- a/sound/soc/amd/acp/amd-acp7x-acpi-match.c
+++ b/sound/soc/amd/acp/amd-acp7x-acpi-match.c
@@ -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),
-- 
2.53.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/2] ASoC: amd: acp: document PDM controller topology for ACP7.B/7.F
  2026-11-06 13:07 [PATCH 0/2] ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series Vijendar Mukunda
  2026-11-06 13:07 ` [PATCH 1/2] ASoC: amd: acp: fix adr_device naming in ACP7.x ACPI match table Vijendar Mukunda
@ 2026-11-06 13:07 ` Vijendar Mukunda
  2026-11-06 13:11 ` [PATCH 0/2] ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series Pierre-Louis Bossart
  2 siblings, 0 replies; 5+ messages in thread
From: Vijendar Mukunda @ 2026-11-06 13:07 UTC (permalink / raw)
  To: broonie
  Cc: alsa-devel, lgirdwood, perex, tiwai, pierre-louis.bossart,
	yung-chuan.liao, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
	venkataprasad.potturu, Syed.SabaKareem, Mario.Limonciello,
	Richard.Gong, Vijendar.Mukunda, Poojitha.N, linux-sound,
	linux-kernel

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.

Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 sound/soc/amd/acp/soc_amd_sdw_common.h | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/sound/soc/amd/acp/soc_amd_sdw_common.h b/sound/soc/amd/acp/soc_amd_sdw_common.h
index 07837a2cfa54..21b059b74626 100644
--- a/sound/soc/amd/acp/soc_amd_sdw_common.h
+++ b/sound/soc/amd/acp/soc_amd_sdw_common.h
@@ -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
-- 
2.53.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/2] ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series
  2026-11-06 13:07 [PATCH 0/2] ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series Vijendar Mukunda
  2026-11-06 13:07 ` [PATCH 1/2] ASoC: amd: acp: fix adr_device naming in ACP7.x ACPI match table Vijendar Mukunda
  2026-11-06 13:07 ` [PATCH 2/2] ASoC: amd: acp: document PDM controller topology for ACP7.B/7.F Vijendar Mukunda
@ 2026-11-06 13:11 ` Pierre-Louis Bossart
  2 siblings, 0 replies; 5+ messages in thread
From: Pierre-Louis Bossart @ 2026-11-06 13:11 UTC (permalink / raw)
  To: Vijendar Mukunda, broonie
  Cc: alsa-devel, lgirdwood, perex, tiwai, yung-chuan.liao,
	Basavaraj.Hiregoudar, Sunil-kumar.Dommati, venkataprasad.potturu,
	Syed.SabaKareem, Mario.Limonciello, Richard.Gong, Poojitha.N,
	linux-sound, linux-kernel

On 11/6/26 14:07, Vijendar Mukunda wrote:
> 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/20261030094714.1123396-1-Vijendar.Mukunda@amd.com/
> 
> 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(-)

thanks for the patches

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] ASoC: amd: acp: fix adr_device naming in ACP7.x ACPI match table
  2026-11-06 11:46 ` [PATCH 0/2] ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series Vijendar Mukunda
@ 2026-11-06 11:46   ` Vijendar Mukunda
  0 siblings, 0 replies; 5+ messages in thread
From: Vijendar Mukunda @ 2026-11-06 11:46 UTC (permalink / raw)
  To: broonie
  Cc: pierre-louis.bossart, vijendar.mukunda, Basavaraj.Hiregoudar,
	Mario.Limonciello, Richard.Gong, Sunil-kumar.Dommati,
	Syed.SabaKareem, alsa-devel, lgirdwood, linux-kernel,
	linux-sound, perex, tiwai, venkataprasad.potturu,
	Vijendar Mukunda

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.

Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 sound/soc/amd/acp/amd-acp7x-acpi-match.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/sound/soc/amd/acp/amd-acp7x-acpi-match.c b/sound/soc/amd/acp/amd-acp7x-acpi-match.c
index 830c59966a35..bf11ceb7478b 100644
--- a/sound/soc/amd/acp/amd-acp7x-acpi-match.c
+++ b/sound/soc/amd/acp/amd-acp7x-acpi-match.c
@@ -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),
-- 
2.53.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-11-06 13:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-06 13:07 [PATCH 0/2] ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series Vijendar Mukunda
2026-11-06 13:07 ` [PATCH 1/2] ASoC: amd: acp: fix adr_device naming in ACP7.x ACPI match table Vijendar Mukunda
2026-11-06 13:07 ` [PATCH 2/2] ASoC: amd: acp: document PDM controller topology for ACP7.B/7.F Vijendar Mukunda
2026-11-06 13:11 ` [PATCH 0/2] ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series Pierre-Louis Bossart
  -- strict thread matches above, loose matches on Subject: below --
2026-10-30  9:45 [PATCH v4 00/16] ASoC: amd: acp: ACP7.B/7.F SoundWire machine driver support Vijendar Mukunda
2026-11-06 11:46 ` [PATCH 0/2] ASoC: amd: acp: supplement patches for ACP7.B/7.F SoundWire machine driver series Vijendar Mukunda
2026-11-06 11:46   ` [PATCH 1/2] ASoC: amd: acp: fix adr_device naming in ACP7.x ACPI match table Vijendar Mukunda

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®