Re: sound: soc: amd: rpl: No ALSA DMIC capture interface for ACP6x (PCIe rev 62)

From: Mario Limonciello
Date: Thu May 01 2025 - 13:17:12 EST


On 4/30/2025 7:30 PM, Mark Brown wrote:
On Tue, Apr 29, 2025 at 01:14:07AM +0000, Jason Mo wrote:
Hi Liam, Mark,

The `sound/soc/amd/rpl/rpl-pci-acp6x.c` driver for AMD ACP6x (PCIe rev 62) appears to lack ALSA DMIC capture support, making the digital microphone unusable on affected hardware.

Adding Mario.


Thanks for adding me. This is a missing feature. Let me explain the background though. This report was filed with a system with "Dragon Range". The IO die in "Dragon Range" is the exact same IO die as in "Raphael" which is what snd_rpl_pci_acp6x was developed for.

"Raphael" is a pure desktop APU, there is never a DMIC connected to it. However for Dragon Range, this is used in mobile designs and as you can see you have a DMIC connected.

So this would be some new development to add DMIC support. I'll raise some discussions internally about it.

BTW - We will also need to see your dmidecode output. There aren't any ACPI _DSD properties to indicate the presence of a DMIC, so we'll need a quirk (similar to how we do quirks for Yellow Carp/Rembrandt which predated the introduction of _DSD properties).

Thanks,


Hardware Details:
05:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor (rev 62)
       Subsystem: AIstone Global Limited Device 1301
       Kernel driver in use: snd_rpl_pci_acp6x
       Kernel modules: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_acp_pci, snd_rpl_pci_acp6x, ...

System Information:
Linux version 6.14.4-arch1-1 (linux@archlinux) (gcc (GCC) 14.2.1 20250207, GNU ld (GNU Binutils) 2.44) #1 SMP PREEMPT_DYNAMIC Sat, 26 Apr 2025 00:06:37 +0000

Symptoms:
*   No corresponding sound card entry in `/proc/asound/cards`.
*   `arecord -l` shows no relevant capture device.
*   No related ALSA mixer controls are exposed.

Code Analysis:
The `rpl-pci-acp6x.c` driver handles basic PCIe initialization but seems to be missing the necessary ALSA/ASoC integration for capture. This contrasts with `sound/soc/amd/yc/pci-acp6x.c` (for rev 60/6f), which includes full ALSA DMIC support.

Attached Logs:
*   dmesg (full & filtered for audio)
*   lspci -vvnn (for audio device)
*   aplay -l / arecord -l
*   /proc/asound/cards
*   lsmod | grep snd

Question:
Is the missing DMIC support in the `rpl` driver for rev 62 intentional, or is this a bug/missing feature?

Happy to test patches or provide more info if DMIC support is planned or contributions are welcome.

Thanks,
Jason Mo