[Sound-open-firmware] SoF support for 8086:9d71?
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Tue Dec 15 18:21:19 CET 2020
On 12/14/20 9:54 PM, Kai-Heng Feng wrote:
>
>
> On Mon, Dec 14, 2020 at 13:33, Pierre-Louis Bossart
> <pierre-louis.bossart at linux.intel.com> wrote:
>>
>>> On more recent kernels legacy HDA stops working for device 8086:9d71:
>>> [ 47.211381] snd_hda_intel 0000:00:1f.3: DSP detected with PCI
>>> class/subclass/prog-if info 0x040100
>>> [ 47.211383] snd_hda_intel 0000:00:1f.3: Digital mics found on
>>> Skylake+ platform, using SST driver
>>>
>>> However, only legacy HDA supports it:
>>> 00:1f.3 Multimedia audio controller [0401]: Intel Corporation
>>> Sunrise Point-LP HD Audio [8086:9d71] (rev 21)
>>> ..
>>> Kernel modules: snd_hda_intel
>>>
>>> Ubuntu kernel doesn't select SND_SOC_INTEL_SKYLAKE, which builds
>>> snd-soc-skl, because based on the Kconfig description SOF should
>>> support it.
>>>
>>> I wonder if SND_SOC_INTEL_SKYLAKE should be select again?
>>
>> SOF does not support Skylake and Kabylake, and only the Up2 board for
>> APL. I am not sure what you mean by 'recent' kernels since this
>> dynamic selection has been in place for a year now?
>
> Ubuntu kernel only changed this in 20.10 release.
>
>>
>> At any rate, to make this work again:
>>
>> 1. You can select SND_SOC_INTEL_SKYLAKE or alternatively to be more
>> accurate:
>>
>> SND_SOC_INTEL_SKL
>> SND_SOC_INTEL_APL
>> SND_SOC_INTEL_KBL
>>
>> There are known issues with Conexant codecs, typically on HP devices,
>> only Realtek codecs are supported.
>
> Right, so we can't really enable this for generic distros like Ubuntu.
>
> Let me think of a more generic solution.
Re-thinking about this, I actually don't know how this problem occurred:
the tables are conditionally built so you would only select SST if you
had the drivers compiled in.
see sound/hda/intel-dsp-config.c:
/* Kabylake-LP */
#if IS_ENABLED(CONFIG_SND_SOC_INTEL_KBL)
{
.flags = FLAG_SST,
.device = 0x9d71,
.dmi_table = (const struct dmi_system_id []) {
{
.ident = "Google Chromebooks",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Google"),
}
},
{}
}
},
{
.flags = FLAG_SST | FLAG_SST_ONLY_IF_DMIC,
.device = 0x9d71,
},
#endif
Something's not adding up here.
More information about the Sound-open-firmware
mailing list