AMD ACP raven ridge: invalid audio mode 2

Mukunda,Vijendar vijendar.mukunda at amd.com
Wed Dec 9 19:48:21 CET 2020



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.Mukunda@amd.com/


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.kernel.org%2Fshow_bug.cgi%3Fid%3D208699&data=04%7C01%7Cvijendar.mukunda%40amd.com%7C911b15bd9f9c43be7cda08d89c4eb426%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637431209140985281%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=hF0MK83C2tch%2F4vzTNnuIXH%2F4P4q0oSpAGDwkxB71lk%3D&reserved=0
>>>>
>>>> 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
>>>>
>>
>> .
> 
> 
> 


More information about the Alsa-devel mailing list