Linux Sound subsystem development
 help / color / mirror / Atom feed
From: Corey Smith <corsmith@gmail.com>
To: corsmith@gmail.com, Vijendar.Mukunda@amd.com,
	venkataprasad.potturu@amd.com
Cc: linux-sound@vger.kernel.org
Subject: [PATCH 6/11] ASoC: amd: acp-config: route HP Dragonfly Pro ONE through the ACP6x SDW stack
Date: Tue, 27 Oct 2026 22:05:47 -0400	[thread overview]
Message-ID: <20261028020552.35278-7-corsmith@gmail.com> (raw)
In-Reply-To: <20261028020552.35278-1-corsmith@gmail.com>

The HP Dragonfly Pro ONE (DMI board 8A7F) is an AMD Rembrandt (ACP6x)
platform whose speakers are two Realtek RT1316 SoundWire amplifiers.
The default driver for ACP6x is snd_pci_acp6x, which only implements the
PDM/DMIC path, so the speakers never appear.

Add a FLAG_AMD_LEGACY_SDW config flag and a DMI entry selecting it for
this board.  The flag makes snd_pci_acp6x bail out (it refuses any
non-zero flag) so that snd-pci-ps can claim the device instead.

Assisted-by: LLM
Signed-off-by: Corey Smith <corsmith@gmail.com>
---
 sound/soc/amd/acp-config.c  | 19 +++++++++++++++++++
 sound/soc/amd/mach-config.h |  6 ++++++
 2 files changed, 25 insertions(+)

diff --git a/sound/soc/amd/acp-config.c b/sound/soc/amd/acp-config.c
index 3d48bb0..c189078 100644
--- a/sound/soc/amd/acp-config.c
+++ b/sound/soc/amd/acp-config.c
@@ -251,6 +251,25 @@ static const struct config_entry config_table[] = {
 			{}
 		},
 	},
+	{
+		/*
+		 * HP Dragonfly Pro ONE (AMD Rembrandt / ACP6x, board 8A7F).
+		 * Speakers are two RT1316 SDCA amplifiers on the ACP SoundWire
+		 * link 0. Use the legacy ACP SoundWire stack rather than the
+		 * DMIC-only snd_pci_acp6x driver.
+		 */
+		.flags = FLAG_AMD_LEGACY_SDW,
+		.device = ACP_PCI_DEV_ID,
+		.dmi_table = (const struct dmi_system_id []) {
+			{
+				.matches = {
+					DMI_MATCH(DMI_BOARD_VENDOR, "HP"),
+					DMI_MATCH(DMI_BOARD_NAME, "8A7F"),
+				},
+			},
+			{}
+		},
+	},
 };
 
 static int snd_amd_acp_acpi_find_config(struct pci_dev *pci)
diff --git a/sound/soc/amd/mach-config.h b/sound/soc/amd/mach-config.h
index 150bab8..99b5b2c 100644
--- a/sound/soc/amd/mach-config.h
+++ b/sound/soc/amd/mach-config.h
@@ -16,6 +16,12 @@
 #define FLAG_AMD_SOF_ONLY_DMIC		BIT(2)
 #define FLAG_AMD_LEGACY			BIT(3)
 #define FLAG_AMD_LEGACY_ONLY_DMIC	BIT(4)
+/*
+ * Route the platform through the legacy ACP SoundWire stack
+ * (snd-pci-ps + snd-ps-sdw-dma + amd_sdw machine driver) instead of
+ * the DMIC-only snd_pci_acp6x driver.
+ */
+#define FLAG_AMD_LEGACY_SDW		BIT(5)
 
 #define ACP_PCI_DEV_ID			0x15E2
 

  parent reply	other threads:[~2026-10-28  2:06 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-28  2:05 [PATCH 0/11] ASoC/soundwire: AMD ACP6x (Rembrandt) SoundWire speaker support Corey Smith
2026-10-28  2:05 ` [PATCH 1/11] soundwire: amd: add ACP6x PCI revision ids Corey Smith
2026-10-28  2:05 ` [PATCH 2/11] soundwire: amd: support ACP6x SoundWire managers Corey Smith
2026-10-28  2:05 ` [PATCH 3/11] ASoC: amd: ps: add ACP6x PCI revision ids Corey Smith
2026-10-28  2:15   ` sashiko-bot
2026-10-28  2:05 ` [PATCH 4/11] ASoC: amd: ps: support ACP6x in the SoundWire DMA driver Corey Smith
2026-10-28  2:05 ` [PATCH 5/11] ASoC: amd: acp: add ACP6x (Rembrandt) SoundWire machine table Corey Smith
2026-10-28  2:05 ` Corey Smith [this message]
2026-10-28  2:05 ` [PATCH 7/11] ASoC: amd: ps: probe the ACP6x SoundWire stack Corey Smith
2026-10-28  2:20   ` sashiko-bot
2026-10-28  2:05 ` [PATCH 8/11] ASoC: amd: acp: add ACP6x SoundWire quirks and machine support Corey Smith
2026-10-28  2:22   ` sashiko-bot
2026-10-28  2:05 ` [PATCH 9/11] soundwire: amd: accept the legacy mipi-sdw-master-list property Corey Smith
2026-10-28  2:05 ` [PATCH 10/11] ASoC: amd: ps: harden the ACP interrupt path for ACP6x Corey Smith
2026-10-28  2:21   ` sashiko-bot
2026-10-28  2:05 ` [PATCH 11/11] soundwire: amd: provide defaults for the bus clock properties Corey Smith
2026-10-29  6:58 ` [PATCH 0/11] ASoC/soundwire: AMD ACP6x (Rembrandt) SoundWire speaker support 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=20261028020552.35278-7-corsmith@gmail.com \
    --to=corsmith@gmail.com \
    --cc=Vijendar.Mukunda@amd.com \
    --cc=linux-sound@vger.kernel.org \
    --cc=venkataprasad.potturu@amd.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