[PATCH v2] topology: Add topology file for generic HDA DSP machine driver

Gorski, Mateusz mateusz.gorski at linux.intel.com
Fri Mar 13 08:08:16 CET 2020


>>>> +SectionPCMCapabilities."DMIC-Capture" {
>>>> +    formats "S16_LE"
>>>> +    rates "48000"
>>>> +    channels_min "2"
>>>> +    channels_max "2"
>>>> +    sig_bits "16"
>>>> +}
>>>
>>> NHLT reports 4 microphones on a number of devices, is there any 
>>> specific reason to limit the capture to 2ch?
>>>
>>> I believe the generic Hdaudio card now reports the number of 
>>> channels to pulseaudio, so it's possible that PulseAudio would open 
>>> a 4ch stream but be told sorry no can do by topology.
>>>
>>> FWIW we ended-up selecting different topology files in SOF, 
>>> depending on whether we had 0, 2 or 4 mics.
>>
>>
>> This patch was prepared to address many issues regarding broken DMIC 
>> configurations.
>>
>> You are right - there are different DMIC configurations on different 
>> devices, but, since path multi-configuration feature is not 
>> upstreamed in cAVS driver, we are not able to include all of these in 
>> one topology file.
>>
>> This is a reference topology, and it was successfully validated on 
>> few production laptops (including models on which DMIC capture was 
>> not working).
>
> Sorry, I don't understand what's missing in the cAVS driver?
>
> All you need is to select a different topology based on the number of 
> DMICs detected.


We have a mechanism to choose the PCM configuration of given topology 
path via amixer control. That way we can include both 2ch and 4ch DMIC 
configurations in one topology file and simply change DMIC pipeline 
configuration on runtime.

Unfortunately this mechanism is not currently available on upstream.

As said before, this is a reference topology, if needed I can also 
upload modified version with 4ch DMIC path.



More information about the Alsa-devel mailing list