On Fri, 26 Apr 2024 17:28:18 +0200, Pierre-Louis Bossart wrote: > > The SOF driver is selected whenever specific I2C/I2S HIDs are reported > as 'present' in the ACPI DSDT. In some cases, an HID is reported but > the hardware does not actually rely on I2C/I2S. This false positive > leads to an invalid selection of the SOF driver and as a result an > invalid topology is loaded. > > This patch hardens the detection with a check that the NHLT table is > consistent with the report of an I2S-based codec in DSDT. This table > should expose at least one SSP endpoint configured for an I2S-codec > connection. > > Tested on Huawei Matebook D14 (NBLB-WAX9N) using an HDaudio codec with > an invalid ES8336 ACPI HID reported: > > [ 7.858249] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380 > [ 7.858312] snd_hda_intel 0000:00:1f.3: snd_intel_dsp_find_config: no valid SSP found for HID ESSX8336, skipped > > Reported-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > Tested-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > Closes: https://github.com/thesofproject/linux/issues/4934 > Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> > Reviewed-by: Bard Liao <yung-chuan.liao@xxxxxxxxxxxxxxx> > Reviewed-by: Péter Ujfalusi <peter.ujfalusi@xxxxxxxxxxxxxxx> Applied now. Thanks. Takashi