Em Thu, 23 Dec 2021 12:45:15 +0100 Mauro Carvalho Chehab mchehab@kernel.org escreveu:
Hi Pierre-Louis,
Em Mon, 22 Nov 2021 10:45:35 -0600 Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com escreveu:
Hi Mauro,
Add machine driver to support APL/GLK/TGL platforms. The TGL platform supports DMIC, APL and GLK do not.
I just bought a Comet Lake notebook with ES8336, but I'm having a hard time to make audio work on it.
Yes, we're aware of this design and we've tried to help. There's a series of devices based on this I2C/I2S device, which is the exception to the rule that all Windows-based designs are based on HDaudio or SoundWire. Intel wasn't informed of this device so we we've added quirks device after device, as bug reports came in.
The CometLake enablement is tracked at https://github.com/thesofproject/linux/issues/3248
I will upstream the two quirks for CometLake later today.
The latest hacky recipe to get the driver to probe is at https://github.com/thesofproject/linux/pull/3107
There is still work to do for the 'topology' part. The comment https://github.com/thesofproject/linux/issues/3248#issuecomment-959573378 has a tar file with 3 possible options for the I2S/SSP connection.
The remaining part will be the codec driver, which is problematic for now, we're still waiting for updates from the vendor and it's unclear if/when they will be submitted.
Sorry for taking a long time to answer. I lost access to the notebook, due to a travel.
I applied all "es8336" branches from your tree altogether:
8af10fc5d7f4 (HEAD) Merge remote-tracking branch 'plbossart/fix/es8336-codec' into HEAD f47dc3daf1da Merge remote-tracking branch 'plbossart/fix/es8336-cml' into HEAD b8df4ae02c0a Merge remote-tracking branch 'plbossart/fix/es8336-acpi-hid' into HEAD 5e149dc4d6e9 (plbossart/fix/sof-es8336-quirk) fixup! ALSA: intel-nhlt: add helper to detect SSP link mask
Unfortunately, it is failing to modprobe the SOF driver:
[ 3.479810] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100 [ 3.479828] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver [ 3.479830] [681] snd_hda_intel 0000:00:1f.3: HDAudio driver not selected, aborting probe [ 3.655569] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100 [ 3.655587] snd_soc_skl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver [ 3.706810] RPC: Registered named UNIX socket transport module. [ 3.730708] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100 [ 3.730728] sof-audio-pci-intel-cnl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver [ 3.730952] sof-audio-pci-intel-cnl 0000:00:1f.3: enabling device (0000 -> 0002) [ 3.731103] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100 [ 3.731204] sof-audio-pci-intel-cnl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915]) [ 3.741143] sof-audio-pci-intel-cnl 0000:00:1f.3: use msi interrupt mode [ 3.791894] [80] sof-audio-pci-intel-cnl 0000:00:1f.3: intel_nhlt_get_dmic_geo: found 2 format definitions [ 3.791898] [80] sof-audio-pci-intel-cnl 0000:00:1f.3: intel_nhlt_get_dmic_geo: max channels found 2 [ 3.791900] [80] sof-audio-pci-intel-cnl 0000:00:1f.3: intel_nhlt_get_dmic_geo: Array with 2 dmics [ 3.791902] [80] sof-audio-pci-intel-cnl 0000:00:1f.3: intel_nhlt_get_dmic_geo: dmic number 2 max_ch 2 [ 3.791904] sof-audio-pci-intel-cnl 0000:00:1f.3: hda codecs found, mask 4 [ 3.793102] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 1:9:2-e096c [ 3.793108] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:20:0 Kernel ABI 3:18:0 [ 3.793110] sof-audio-pci-intel-cnl 0000:00:1f.3: warn: FW ABI is more recent than kernel [ 3.793114] sof-audio-pci-intel-cnl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30 [ 3.852602] Bluetooth: BNEP socket layer initialized [ 3.891581] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 1:9:2-e096c [ 3.891585] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:20:0 Kernel ABI 3:18:0 [ 3.891588] sof-audio-pci-intel-cnl 0000:00:1f.3: warn: FW ABI is more recent than kernel [ 3.901310] sof-essx8336 sof-essx8336: quirk SSP2 [ 3.903162] sof-audio-pci-intel-cnl 0000:00:1f.3: Topology: ABI 3:20:0 Kernel ABI 3:18:0 [ 3.903167] sof-audio-pci-intel-cnl 0000:00:1f.3: warn: topology ABI is more recent than kernel [ 3.903180] sof-audio-pci-intel-cnl 0000:00:1f.3: error: can't connect DAI SSP0.OUT stream SSP0-Codec [ 3.903182] sof-audio-pci-intel-cnl 0000:00:1f.3: error: failed to add widget id 0 type 27 name : SSP0.OUT stream SSP0-Codec [ 3.903184] sof-essx8336 sof-essx8336: ASoC: failed to load widget SSP0.OUT [ 3.903185] sof-essx8336 sof-essx8336: ASoC: topology: could not load header: -22 [ 3.903187] sof-audio-pci-intel-cnl 0000:00:1f.3: error: tplg component load failed -22 [ 3.903191] sof-audio-pci-intel-cnl 0000:00:1f.3: error: failed to load DSP topology -22 [ 3.903193] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -22 [ 3.903201] sof-essx8336 sof-essx8336: ASoC: failed to instantiate card -22 [ 3.903302] sof-essx8336 sof-essx8336: snd_soc_register_card failed: -22 [ 3.903304] sof-essx8336: probe of sof-essx8336 failed with error -22
Any hints about how to fix the topology issues on it?
Adding a quirk to modprobe partially solved the issue:
https://github.com/thesofproject/linux/issues/3248#issuecomment-1000275241
With that, the speaker is now working fine, but microphone is marked as unavailable, and headphones aren't working yet.
Thanks, Mauro