[alsa-devel] [alsa-lib][PATCH] conf: SOF-Intel: map pcm device for sof driver
Hui Wang
hui.wang at canonical.com
Fri Dec 20 02:30:18 CET 2019
On 2019/12/17 上午5:00, Jaroslav Kysela wrote:
> Dne 16. 12. 19 v 13:51 Hui Wang napsal(a):
>> On the machines with HDA codec, the sof driver will use the legacy hda
>> codec driver, as a result, most mixer controls are same as before.
>>
>> There are only 2 difference:
>> - HDMI pcm index is 3, 4 and 5 instead of 3, 7, 8...
>> - dmic is on device 6, 7 instead of 0
>>
>> After applying this patch, we will get (aplay -L):
>> hdmi:CARD=sofsklhdacard,DEV=0
>> sof-skl_hda_card,
>> HDMI Audio Output
>> hdmi:CARD=sofsklhdacard,DEV=1
>> sof-skl_hda_card,
>> HDMI Audio Output
>> hdmi:CARD=sofsklhdacard,DEV=2
>> sof-skl_hda_card,
>> HDMI Audio Output
>>
>> and (arecord -L):
>> dmic:CARD=sofsklhdacard,DEV=0
>> sof-skl_hda_card,
>> Digital Mic connected to the PCH directly
>> dmic:CARD=sofsklhdacard,DEV=1
>> sof-skl_hda_card,
>> Digital Mic connected to the PCH directly
>>
>> Then we could add minor changes in the pulseaudio configuration, after
>> that, all output and input devices will work under pulseaudio.
>>
>> This is a supplement for ucm, the ucm for sof driver has higher
>> priority than this conf, if there is no ucm for sof driver, this conf
>> will take effect.
>
> Exactly. The dmic definitions should not be a standard in my eyes. I
> would not like to accept this. I can accept the standard definitions
> for the playback devices for this driver, but UCM will replace
> everything. It's better to define the special PA config for now until
> we resolve all the UCM issues like:
>
> http://people.redhat.com/~jkysela/sof/carbon-x1-pulse.tar.gz2
>
> The 2nd PA UCM patchset which is working with the current UCM in
> ALSA's repos for this hardware:
>
> https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/217
>
> But it is just a start. There are plenty unresolved abstraction issues
> with this.
Yes, ucm is more powerful and should be the default choice for users
with sof driver+hda codec. But there are 2 issues:
1. too complicated, not easy to backport all patches to old version
linux distribution, like ubuntu 18.04 LTS (with alsa-lib 1.1.3 and PA v11.1)
2. no generic ucm confs for most machines, need to write ucm confs
machine by machine (existing PA can runtime decide/build a machine's
conf, no need to write conf machine by machine)
After we have sth like below: (if the name dmic is not good, we could
change it to be a more reasonable name)
dmic:CARD=sofsklhdacard,DEV=0
sof-skl_hda_card,
Digital Mic connected to the PCH directly
dmic:CARD=sofsklhdacard,DEV=1
sof-skl_hda_card,
Digital Mic connected to the PCH directly
We just need to do a simple change in the PA's conf, the audio basically
could work (include the audio-device-selection-popup-dialogue and
mic-mute led on Lenovo machine). Of course it doesn't work perfectly so
far, because dmic is not connected to the codec, so it is in a
standalone source in the PA, we need to write some code to handle it.
This is the simple change in the PA's conf:
https://pastebin.ubuntu.com/p/Tnmkr6D2Kv/
Thanks,
Hui.
>
> Jaroslav
>
More information about the Alsa-devel
mailing list