On 09/12/20 7:58 pm, Janpieter Sollie wrote:
Dear Viiendar,
Thank you for your answer,
The .config file includes the following (no idea why the uploaded config file does not include it, you'll have to take my word for it): CONFIG_SND_SOC=y CONFIG_SND_SOC_AC97_BUS=y # CONFIG_SND_SOC_AMD_ACP is not set CONFIG_SND_SOC_AMD_ACP3x=m # CONFIG_SND_SOC_AMD_RENOIR is not set on a raven ridge, I believe this should be sufficient.
Indeed, I found the device on the PCI bus: 04:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor It builds the following modules: snd-acp3x-i2s.ko snd-acp3x-pcm-dma.ko snd-pci-acp3x.ko I tried to initialize each and everyone of them one by one, but all I could was: frisbee /usr/src/linux # modprobe snd_pci_acp3x frisbee /usr/src/linux # dmesg | tail [ 23.326984] elogind-daemon[3633]: Watching system buttons on /dev/input/event4 (Trust 2.4G Keyboard And Mouse) [ 23.327261] elogind-daemon[3633]: Watching system buttons on /dev/input/event10 (Trust 2.4G Keyboard And Mouse Consumer Control) [ 23.327533] elogind-daemon[3633]: Watching system buttons on /dev/input/event12 (Trust 2.4G Keyboard And Mouse System Control) [ 24.560093] elogind-daemon[3633]: New session c1 of user frizbee. [ 24.803864] fuse: init (API version 7.31) [ 52.527742] elogind-daemon[3633]: New session c2 of user janpieter. [ 572.817028] snd_pci_acp3x 0000:04:00.5: enabling device (0000 -> 0002) [ 572.817192] snd_pci_acp3x 0000:04:00.5: Invalid ACP audio mode : 2 frisbee /usr/src/linux # lsmod | grep acp snd_pci_acp3x 12288 0 snd_acp3x_pcm_dma 12288 0
So, if I understand correctly, the snd_pci_acp3x module initialised the acp to mode 0x2, and then decides the mode is not supported? doesn't this sound a little weird to you?
On Raven Ridge platform, ACP device enumerated by PCI root.ACP PCI driver creates child nodes for I2S device.
Currently we had added support for only I2S configuration. We recently fixed audio driver probe failure issue when Audio configuration is set to other than I2S.
When Audio Configuration is set to other than I2S, load the ACP PCI driver instead of returning probe failure. Below patch already got merged in to asoc-next branch.
https://lore.kernel.org/alsa-devel/1603476441-3506-1-git-send-email-Vijendar...
Thanks, Vijendar
Janpieter
Op 8/12/2020 om 19:27 schreef Mukunda,Vijendar:
On 08/12/20 8:34 pm, Takashi Iwai wrote:
Adding AMD people to Cc.
On Tue, 08 Dec 2020 15:01:24 +0100, Janpieter Sollie wrote:
Forwarded from: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.k...
Anybody who knows what this "ACP" actually does? what's its use?
ACP(Audio Co-processor) is an AMD Audio IP which has multiple generations support(1.x,2.x,3.x..etc)
ACP supports different audio configurations like I2S/AZ etc.. endpoint support. Based on the platform, Audio configuration will be programmed from BIOS. For example, to use I2S endpoint ACP_I2S_PIN_CONFIG is programmed as 0x04 on Raven Ridge. To use the AZ(HD AUdio) endpoint, ACP_I2S_PIN_CONFIG is programmed to different value.
On Raven ridge APU, We have upstreamed ACP PCI driver and I2S ASoC driver.
On Renoir APU, We have upstreamed ACP PCI driver along with PDM DMA driver. You have to enable ACP specific Kconfig flags for renoir platform when platform has DMIC support and it is connected to APU.
I see from the logs, you have tried to load ACP PDM DMIC driver but attached config file is not matching.
There are hardware differences in terms of ACP IP for both Raven and Renoir.
HD Audio endpoint uses open source HDA driver.
Let us know what is your platform configuration? What Audio endpoints your platform supports?
-- Vijendar
Kind regards,
Janpieter Sollie
.