On 10/12/20 12:18 am, Mukunda,Vijendar wrote:
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
To add more to my previous explanation, Based on platform audio configuration, I2S_PIN_CONFIG value is programmed from BIOS.
ACP PCI driver during its probe it only checks what is the audio configuration is really set.
If it sees current configuration is set to I2S, then ACP PCI driver will go ahead and create the platform devices required for I2S endpoint.
If it is other than I2S audio configuration, it wont create the child node and returns the probe as success.
ACP IP do's lot more stuff beyond supporting simple audio endpoints. For other audio configurations, we have added a default case and left it as a place holder for future implementation.
Thanks, Vijendar