[PATCH 5/5] cht-bsw-rt5672: Fix HiFi-stereo-dmic2 conf not loading / working
Jaroslav Kysela
perex at perex.cz
Mon Apr 6 13:28:22 CEST 2020
Dne 06. 04. 20 v 11:50 Hans de Goede napsal(a):
> Hi,
>
> On 4/6/20 11:34 AM, Jaroslav Kysela wrote:
>> Dne 05. 04. 20 v 20:34 Hans de Goede napsal(a):
>>> Fix HiFi-stereo-dmic2 conf not loading because of references to
>>> non existing devices in the ConflictingDevices sections.
>>>
>>> Stop playing Rename + Remove tricks with the output (Speaker2) and
>>> input (DMIC1) devices which we do not want to be part of this config,
>>> this does not work now that we only allow devices which are actually
>>> part of our config in the ConflictingDevices sections.
>>
>> The Remove and Rename operations should also manage (remove and rename) devices in ConflictingDevices/SupportedDevices sections. What's the exact error you hit?
>>
>> If I simulate this via ucm-validator I get this device structure:
>>
>> Verb: "HiFi"
>> File: HiFi-stereo-dmic2.conf
>> Device: "Headphones"
>> ConflictingDevices.0 = Speaker
>> Value.PlaybackPriority = 300
>> Value.PlaybackPCM = 'hw:${CardId}'
>> Value.JackControl = 'Headphone Jack'
>> Device: "Headset"
>> ConflictingDevices.0 = Mic
>> Value.CapturePriority = 300
>> Value.CapturePCM = 'hw:${CardId}'
>> Value.JackControl = 'Headset Mic Jack'
>> Device: "Speaker"
>> ConflictingDevices.0 = Headphones
>> Value.PlaybackPriority = 200
>> Value.PlaybackPCM = 'hw:${CardId}'
>> Device: "Mic"
>> ConflictingDevices.0 = Headset
>> Value.CapturePriority = 200
>> Value.CapturePCM = 'hw:${CardId}'
>>
>> It appears like an issue in alsa-lib.
>
> With an unmodified UCM2 profile I get the following:
>
> [hans at localhost ~]$ alsaucm -c cht-bsw-rt5672 set _verb HiFi set _enadev Speaker
> ALSA lib parser.c:1138:(verb_dev_list_add) error: unable to find device 'Speaker2'
> ALSA lib parser.c:1433:(parse_verb_file) error: device management error in verb 'HiFi'
> ALSA lib main.c:962:(snd_use_case_mgr_open) error: failed to import cht-bsw-rt5672 use case configuration -2
> alsaucm: error failed to open sound card cht-bsw-rt5672: No such file or directory
>
> Note the _enadev does not matter, things break before it gets parsed,
> if I replace Speaker with XXX I get the exact same errors.
>
> I'm happy to try any alsa-lib patches on this (Thinkpad8) hw for you.
I think that I found the culprit. Could you test this, please?
https://github.com/alsa-project/alsa-lib/commit/c9605484d165d2b707f78eef14a224b0b47ba322
Thank you,
Jaroslav
--
Jaroslav Kysela <perex at perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
More information about the Alsa-devel
mailing list