Comment 0 for bug 1885673

Revision history for this message
Alex Tu (alextu) wrote : mixer-control: adding ucm port names for audio device selection

Recently Intel added a new audio driver in the Linux kernel, it is
called sof driver. This driver is needed on the laptops which
connect the digital mic to the PCH instead of the codec. To make the
sof driver work with pulseaudio, the ucm is mandatory. Intel
wrote the ucm for the machines with multi-function audio jack, with
this ucm, the port names are different from the ones without ucm, this
is the port names with the ucm:
[In] Dmic: Digital Microphone (priority: 100, latency offset: 0 usec)
Part of profile(s): Hdmi3, Hdmi2, Hdmi1, HiFi
[In] Headphone Microphone: Headphone Microphone (priority: 100, latency offset: 0 usec, available)
Part of profile(s): Hdmi3, Hdmi2, Hdmi1, HiFi
[In] Headset Microphone: Headset Microphone (priority: 100, latency offset: 0 usec, available)
Part of profile(s): Hdmi3, Hdmi2, Hdmi1, HiFi
[Out] Headphone: Headphone (priority: 200, latency offset: 0 usec, available)
Part of profile(s): HiFi
[Out] Speaker: Speaker (priority: 100, latency offset: 0 usec)
Part of profile(s): HiFi
To make the audio device selection work, let's add those new port
names.
And with the ucm, the Dmic (internal mic) is on one source since the
dmic connects to PCH, the headphone-mic and headset mic are on another
source since they connect to the codec. This needs us to add calling
set_default_source() in the source_info_cb(), it is safe even for old
machines on which internal mic, headphone-mic and headset-mic are on
the same source.