All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.