]> git.alsa-project.org Git - alsa-ucm-conf.git/commit
ucm2: Qualcomm: add Lenovo IdeaCentre Mini 01Q8X10 support
authorJens Glathe <jens.glathe@oldschoolsolutions.biz>
Mon, 17 Aug 2026 17:06:46 +0000 (19:06 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 9 Oct 2026 13:36:50 +0000 (15:36 +0200)
commit42117b15c45abcbfaf7c86704810a25cf15a322c
tree591ef5a615655f4e551ff69a752eee1d2a620097
parentf1b3b57633663d5db010d2d2c5c7db9d1f16a4d7
ucm2: Qualcomm: add Lenovo IdeaCentre Mini 01Q8X10 support

Add UCM for the Lenovo IdeaCentre Mini 01Q8X10 (X1E80100, board
91B6). Hardware present on this card:

  - WCD938x headphones + headset mic
  - three DisplayPort backends
  - no WSA speakers, no built-in mics

Match DMI with IdeaCentre.*Mini.*01Q8X10 and load
LENOVO-IdeaCentre-mini.conf / IdeaCentre-HiFi.conf. Card init only
includes WCD and RX-macro; WSA / WSA-macro init is omitted because
those codecs are not on the board.

Playback / capture mapping, aligned with the matching AudioReach
topology:

  Headphones   hw:${CardId},0   MM1  RX_CODEC_DMA_RX_0
  Headset mic  hw:${CardId},2   MM3  TX_CODEC_DMA_TX_3
  HDMI0        hw:${CardId},4   MM5  DISPLAY_PORT_RX_0   DP0 Jack
  HDMI1        hw:${CardId},5   MM6  DISPLAY_PORT_RX_1   DP1 Jack
  HDMI2        hw:${CardId},6   MM7  DISPLAY_PORT_RX_2   DP2 Jack

Independent MM streams are a workaround for how ALSA UCM and
PipeWire / WirePlumber cooperate today. If headset and all three
DP ports share one frontend PCM (the T14s-style MM1 mixer switch):

  - UCM must list them as ConflictingDevice
  - WirePlumber instantiates one node per PCM, not per UCM device
  - enabling a DP port tears down the headset path on that PCM
  - jack events become profile switches rather than sink
    appear / disappear
  - concurrent playback to headset and a monitor is impossible

Giving each DP port its own frontend (MM5/6/7) makes each port a
real PCM. PipeWire can then create one sink per port, jack-gated
by DP0/DP1/DP2 Jack, while headphones stay on hw:*,0. The verb
EnableSequence arms all three DP mixers so unused ports still
show up as available sinks when their jack asserts.

Headphones do not conflict with the HDMI devices. HDMI0/1/2 are
still marked conflicting with each other only where a single
userspace stream must pick one monitor.

Priorities: Headphones/Headset 300, HDMI0 200, HDMI1 150, HDMI2
100, so a plugged headset wins over the first DP port.

Depends on the X1E80100-LENOVO-IdeaCentre-Mini topology change
in audioreach-topology. [1]

[1]: https://github.com/linux-msm/audioreach-topology/pull/74

Assisted-by: Grok 4.5 (xAI)
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/843
Reviewed-by: Srinivas Kandagatla <srini@kernel.org>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/Qualcomm/x1e80100/IdeaCentre-HiFi.conf [new file with mode: 0644]
ucm2/Qualcomm/x1e80100/LENOVO-IdeaCentre-mini.conf [new file with mode: 0644]
ucm2/Qualcomm/x1e80100/x1e80100.conf