Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:Update
alsa.8589
0003-conf-ucm-Add-dual-HD-audio-codecs-config-f...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0003-conf-ucm-Add-dual-HD-audio-codecs-config-for-Lenovo.patch of Package alsa.8589
From b7e56af82a600262b7f641c5920a914b3303fd56 Mon Sep 17 00:00:00 2001 From: Takashi Iwai <tiwai@suse.de> Date: Tue, 5 Dec 2017 14:53:11 +0100 Subject: [PATCH] conf/ucm: Add dual HD-audio codecs config for Lenovo Some recent Lenovo laptops have dual codecs and we need to switch them accordingly. The kernel side already contains a fix and gives the unique longname string for identifying the board, and here we hook up the corresponding UCM profile. The profile was corrected and tested by Hui Wang on Lenovo p520. Tested-by: Kailang <kailang@realtek.com> Tested-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> --- configure.ac | 1 + .../HDAudio-Lenovo-DualCodecs.conf | 5 + src/conf/ucm/HDAudio-Lenovo-DualCodecs/HiFi.conf | 145 +++++++++++++++++++++ src/conf/ucm/HDAudio-Lenovo-DualCodecs/Makefile.am | 4 + src/conf/ucm/Makefile.am | 1 + 5 files changed, 156 insertions(+) create mode 100644 src/conf/ucm/HDAudio-Lenovo-DualCodecs/HDAudio-Lenovo-DualCodecs.conf create mode 100644 src/conf/ucm/HDAudio-Lenovo-DualCodecs/HiFi.conf create mode 100644 src/conf/ucm/HDAudio-Lenovo-DualCodecs/Makefile.am diff --git a/configure.ac b/configure.ac index c232236dc193..8d95a8b17f0c 100644 --- a/configure.ac +++ b/configure.ac @@ -716,6 +716,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \ src/conf/ucm/DAISY-I2S/Makefile \ src/conf/ucm/DB410c/Makefile \ src/conf/ucm/GoogleNyan/Makefile \ + src/conf/ucm/HDAudio-Lenovo-DualCodecs/Makefile \ src/conf/ucm/PandaBoard/Makefile \ src/conf/ucm/PandaBoardES/Makefile \ src/conf/ucm/PAZ00/Makefile \ diff --git a/src/conf/ucm/HDAudio-Lenovo-DualCodecs/HDAudio-Lenovo-DualCodecs.conf b/src/conf/ucm/HDAudio-Lenovo-DualCodecs/HDAudio-Lenovo-DualCodecs.conf new file mode 100644 index 000000000000..98fdd8cceb7b --- /dev/null +++ b/src/conf/ucm/HDAudio-Lenovo-DualCodecs/HDAudio-Lenovo-DualCodecs.conf @@ -0,0 +1,5 @@ +Comment "Lenovo laptop with dual HD-audio codecs" +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/src/conf/ucm/HDAudio-Lenovo-DualCodecs/HiFi.conf b/src/conf/ucm/HDAudio-Lenovo-DualCodecs/HiFi.conf new file mode 100644 index 000000000000..509678964f3f --- /dev/null +++ b/src/conf/ucm/HDAudio-Lenovo-DualCodecs/HiFi.conf @@ -0,0 +1,145 @@ +SectionVerb { + Value { + TQ "HiFi" + } + + EnableSequence [ + cdev "hw:PCH" + cset "name='Front Playback Volume' 100%" + cset "name='Front Playback Switch' on" + cset "name='Rear-Panel Capture Volume' 100%" + cset "name='Rear-Panel Capture Switch' on" + ] + + DisableSequence [ + cdev "hw:PCH" + cset "name='Front Playback Volume' 0" + cset "name='Front Playback Switch' off" + cset "name='Rear-Panel Capture Volume' 0" + cset "name='Rear-Panel Capture Switch' off" + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackChannels "2" + PlaybackPCM "hw:PCH,4" + } + + ConflictingDevice [ + "Headphone" + ] + + EnableSequence [ + cdev "hw:PCH" + cset "name='Speaker Playback Switch' on" + cset "name='Speaker Playback Volume' 100%" + ] + + DisableSequence [ + cdev "hw:PCH" + cset "name='Speaker Playback Volume' 0" + cset "name='Speaker Playback Switch' off" + ] +} + +SectionDevice."LineOut" { + Comment "Line Out" + + Value { + PlaybackChannels "2" + PlaybackPCM "hw:PCH,0" + JackControl "Line Out Jack" + JackHWMute "Speaker" + } +} + +SectionDevice."Headphone" { + Comment "Headphone" + + Value { + PlaybackChannels "2" + PlaybackPCM "hw:PCH,4" + JackControl "Front Headphone Jack" + JackHWMute "Speaker" + } + + ConflictingDevice [ + "Speaker" + ] + + EnableSequence [ + cdev "hw:PCH" + cset "name='Headphone Playback Switch' on" + cset "name='Headphone Playback Volume' 100%" + ] + + DisableSequence [ + cdev "hw:PCH" + cset "name='Headphone Playback Volume' 0" + cset "name='Headphone Playback Switch' off" + ] +} + +SectionDevice."LineIn" { + Comment "Rear Line In" + + Value { + CaptureChannels "2" + CapturePCM "hw:PCH,0" + JackControl "Line Jack" + } + + ConflictingDevice [ + "RearMic" + ] + + EnableSequence [ + cdev "hw:PCH" + cset "name='Input Source' Line" + ] +} + +SectionDevice."RearMic" { + Comment "Rear Microphone" + + Value { + CaptureChannels "2" + CapturePCM "hw:PCH,0" + # CapturePriority "150" + JackHWMute "LineIn" + } + + ConflictingDevice [ + "LineIn" + ] + + EnableSequence [ + cdev "hw:PCH" + cset "name='Input Source' Rear Mic" + ] +} + +SectionDevice."FrontMic" { + Comment "Front Microphone" + + Value { + CaptureChannels "2" + CapturePCM "hw:PCH,4" + JackControl "Front Mic Jack" + } + + EnableSequence [ + cdev "hw:PCH" + cset "name='Front-Panel Capture Volume' 100%" + cset "name='Front-Panel Capture Switch' on" + ] + + DisableSequence [ + cdev "hw:PCH" + cset "name='Front-Panel Capture Volume' 0" + cset "name='Front-Panel Capture Switch' off" + ] +} diff --git a/src/conf/ucm/HDAudio-Lenovo-DualCodecs/Makefile.am b/src/conf/ucm/HDAudio-Lenovo-DualCodecs/Makefile.am new file mode 100644 index 000000000000..da285415c145 --- /dev/null +++ b/src/conf/ucm/HDAudio-Lenovo-DualCodecs/Makefile.am @@ -0,0 +1,4 @@ +alsaconfigdir = @ALSA_CONFIG_DIR@ +ucmdir = $(alsaconfigdir)/ucm/HDAudio-Lenovo-DualCodecs +ucm_DATA = HDAudio-Lenovo-DualCodecs.conf HiFi.conf +EXTRA_DIST = $(ucm_DATA) diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am index 060d025f1bb5..1d81beeb4ddf 100644 --- a/src/conf/ucm/Makefile.am +++ b/src/conf/ucm/Makefile.am @@ -6,6 +6,7 @@ chtrt5645 \ DAISY-I2S \ DB410c \ GoogleNyan \ +HDAudio-Lenovo-DualCodecs \ PandaBoard \ PandaBoardES \ PAZ00 \ -- 2.15.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor