Linux Sound subsystem development
 help / color / mirror / Atom feed
* sound: soc: amd: rpl: No ALSA DMIC capture interface for ACP6x (PCIe rev 62)
@ 2025-04-29  1:14 Jason Mo
  2025-05-01  0:30 ` Mark Brown
  0 siblings, 1 reply; 4+ messages in thread
From: Jason Mo @ 2025-04-29  1:14 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown
  Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org

[-- Attachment #1: Type: text/plain, Size: 1589 bytes --]

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.

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

[-- Attachment #2: audio_logs_20250429_090217.tar.gz --]
[-- Type: application/gzip, Size: 24899 bytes --]

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

* Re: sound: soc: amd: rpl: No ALSA DMIC capture interface for ACP6x (PCIe rev 62)
  2025-04-29  1:14 sound: soc: amd: rpl: No ALSA DMIC capture interface for ACP6x (PCIe rev 62) Jason Mo
@ 2025-05-01  0:30 ` Mark Brown
  2025-05-01 17:16   ` Mario Limonciello
  0 siblings, 1 reply; 4+ messages in thread
From: Mark Brown @ 2025-05-01  0:30 UTC (permalink / raw)
  To: Jason Mo
  Cc: Liam Girdwood, linux-sound@vger.kernel.org,
	linux-kernel@vger.kernel.org, Mario Limonciello

[-- Attachment #1: Type: text/plain, Size: 1741 bytes --]

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.

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



[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: sound: soc: amd: rpl: No ALSA DMIC capture interface for ACP6x (PCIe rev 62)
  2025-05-01  0:30 ` Mark Brown
@ 2025-05-01 17:16   ` Mario Limonciello
  2025-05-01 23:37     ` Jason Mo
  0 siblings, 1 reply; 4+ messages in thread
From: Mario Limonciello @ 2025-05-01 17:16 UTC (permalink / raw)
  To: Mark Brown, Jason Mo
  Cc: Liam Girdwood, linux-sound@vger.kernel.org,
	linux-kernel@vger.kernel.org

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


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

* Re: sound: soc: amd: rpl: No ALSA DMIC capture interface for ACP6x (PCIe rev 62)
  2025-05-01 17:16   ` Mario Limonciello
@ 2025-05-01 23:37     ` Jason Mo
  0 siblings, 0 replies; 4+ messages in thread
From: Jason Mo @ 2025-05-01 23:37 UTC (permalink / raw)
  To: Mario Limonciello
  Cc: broonie@kernel.org, Liam Girdwood, linux-sound@vger.kernel.org,
	linux-kernel@vger.kernel.org

On Thu, May 1, 2025 at 05:16:00PM +0000, Mario Limonciello wrote:
> 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,
>

Thanks for the explanation.
Here is the requested output: 

$ sudo dmidecode -t baseboard
# dmidecode 3.6
Getting SMBIOS data from sysfs.
SMBIOS 3.4.0 present.

Handle 0x0002, DMI type 2, 16 bytes
Base Board Information
        Manufacturer: MECHREVO
        Product Name: MRID6-23
        Version: Base Board Version
        Serial Number: ML238A04LJ
        Asset Tag: Base Board Asset Tag
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: Base Board Chassis Location
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0

Handle 0x0028, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Realtek
        Type: Ethernet
        Status: Enabled
        Type Instance: 1
        Bus Address: 0000:03:00.0

Handle 0x0029, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Realtek ALC256
        Type: Sound
        Status: Enabled
        Type Instance: 1
        Bus Address: 00ff:ff:1f.7

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

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

end of thread, other threads:[~2025-05-01 23:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-29  1:14 sound: soc: amd: rpl: No ALSA DMIC capture interface for ACP6x (PCIe rev 62) Jason Mo
2025-05-01  0:30 ` Mark Brown
2025-05-01 17:16   ` Mario Limonciello
2025-05-01 23:37     ` Jason Mo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox