This is a collection of fixes/refactoring/additions for the DB410c UCM files. My goal is to also make them usable for other MSM8916 devices, e.g. the three MSM8916 smartphones which can run mainline Linux since https://lore.kernel.org/linux-arm-msm/20190722092211.100586-1-stephan@gerhol...
For now this is just preparation - this patch series refactors the DB410c UCM configuration into re-usable device fragments that can be included when needed.
By the way: it seems like the UCM2 conversion (specifically, commit 14facf88b56 ("DB410c: adapt to ucm2") breaks PulseAudio because the Playback/CaptureChannels were moved from all the "SectionDevice"s to "SectionVerb":
I: [pulseaudio] alsa-ucm.c: UCM available for card msm8916 I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device DigitalMic, assuming stereo duplex. W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device SecondaryMic, assuming stereo duplex. W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device PrimaryMic, assuming stereo duplex. W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Handset, assuming stereo duplex. W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Earpiece, assuming stereo duplex. W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Headphones, assuming stereo duplex. W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Speaker, assuming stereo duplex. I: [pulseaudio] module-alsa-card.c: Found UCM profiles E: [pulseaudio] alsa-ucm.c: No sink and source at HiFi: DigitalMic E: [pulseaudio] alsa-ucm.c: No sink and source at HiFi: SecondaryMic E: [pulseaudio] alsa-ucm.c: No sink and source at HiFi: PrimaryMic E: [pulseaudio] alsa-ucm.c: No sink and source at HiFi: Handset E: [pulseaudio] alsa-ucm.c: No sink and source at HiFi: Earpiece E: [pulseaudio] alsa-ucm.c: No sink and source at HiFi: Headphones E: [pulseaudio] alsa-ucm.c: No sink and source at HiFi: Speaker I: [pulseaudio] alsa-ucm.c: Set ucm verb to HiFi
It seems like PulseAudio does not inherit them from "SectionVerb", but I'm not sure if this is a problem in PulseAudio or alsa-lib. Restoring Playback/CaptureChannels for all the "SectionDevice"s fixes the problem.
Stephan Gerhold (7): DB410c: Rename Handset to HeadsetMic DB410c: Split devices into re-usable fragments in codecs/msm8916-wcd codecs/msm8916-wcd: Speaker: Reset volume on disable codecs/msm8916-wcd: Headphones: Drop invalid RDAC2 MUX value codecs/msm8916-wcd: Earpiece: Add missing Enable/DisableSequence codecs/msm8916-wcd: SecondaryMic: Select correct input codecs/msm8916-wcd: Add ConflictingDevice for capture devices
ucm2/DB410c/HiFi.conf | 128 +--------------------- ucm2/codecs/msm8916-wcd/DigitalMic.conf | 18 +++ ucm2/codecs/msm8916-wcd/Earpiece.conf | 22 ++++ ucm2/codecs/msm8916-wcd/Headphones.conf | 29 +++++ ucm2/codecs/msm8916-wcd/HeadsetMic.conf | 22 ++++ ucm2/codecs/msm8916-wcd/PrimaryMic.conf | 20 ++++ ucm2/codecs/msm8916-wcd/SecondaryMic.conf | 22 ++++ ucm2/codecs/msm8916-wcd/Speaker.conf | 21 ++++ 8 files changed, 160 insertions(+), 122 deletions(-) create mode 100644 ucm2/codecs/msm8916-wcd/DigitalMic.conf create mode 100644 ucm2/codecs/msm8916-wcd/Earpiece.conf create mode 100644 ucm2/codecs/msm8916-wcd/Headphones.conf create mode 100644 ucm2/codecs/msm8916-wcd/HeadsetMic.conf create mode 100644 ucm2/codecs/msm8916-wcd/PrimaryMic.conf create mode 100644 ucm2/codecs/msm8916-wcd/SecondaryMic.conf create mode 100644 ucm2/codecs/msm8916-wcd/Speaker.conf