Hello community, here is the log from the commit of package alsa-ucm-conf for openSUSE:Factory checked in at 2020-04-27 23:30:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/alsa-ucm-conf (Old) and /work/SRC/openSUSE:Factory/.alsa-ucm-conf.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "alsa-ucm-conf" Mon Apr 27 23:30:15 2020 rev:5 rq:796549 version:1.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/alsa-ucm-conf/alsa-ucm-conf.changes 2020-03-16 10:17:11.027559020 +0100 +++ /work/SRC/openSUSE:Factory/.alsa-ucm-conf.new.2738/alsa-ucm-conf.changes 2020-04-27 23:30:25.222591248 +0200 @@ -1,0 +2,13 @@ +Mon Apr 20 18:04:59 CEST 2020 - ti...@suse.de + +- Backport upstream fixes: + HDA SOF DSP support, Intel Atom profiles, etc + 0004-hda-dsp-add-basic-ucm-config.patch + 0005-update-README-files.patch + 0006-bytcr-rt5651-Fix-dmic-check-in-HiFi-Components.conf.patch + 0007-chtrt5645-Add-ASUSTeKCOMPUTERINC.-T100HAN-1.0-symlin.patch + 0008-chtrt5645-Add-MEDION-E1239TMD60568-0.1-Wingman.conf-.patch + 0009-chtrt5645-Remove-bogus-JackHWMute-settings.patch + 0010-sof-hda-dsp-change-Headphones2-to-Mic2.patch + +------------------------------------------------------------------- New: ---- 0004-hda-dsp-add-basic-ucm-config.patch 0005-update-README-files.patch 0006-bytcr-rt5651-Fix-dmic-check-in-HiFi-Components.conf.patch 0007-chtrt5645-Add-ASUSTeKCOMPUTERINC.-T100HAN-1.0-symlin.patch 0008-chtrt5645-Add-MEDION-E1239TMD60568-0.1-Wingman.conf-.patch 0009-chtrt5645-Remove-bogus-JackHWMute-settings.patch 0010-sof-hda-dsp-change-Headphones2-to-Mic2.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ alsa-ucm-conf.spec ++++++ --- /var/tmp/diff_new_pack.grhCv1/_old 2020-04-27 23:30:25.846592467 +0200 +++ /var/tmp/diff_new_pack.grhCv1/_new 2020-04-27 23:30:25.850592474 +0200 @@ -26,6 +26,13 @@ Patch1: 0001-sof-bdw-rt5677-initial-port-to-UCM2.patch Patch2: 0002-ucm2-treewide-JackHWMute-fixes.patch Patch3: 0003-sof-hda-dsp-Support-systems-without-integrated-graph.patch +Patch4: 0004-hda-dsp-add-basic-ucm-config.patch +Patch5: 0005-update-README-files.patch +Patch6: 0006-bytcr-rt5651-Fix-dmic-check-in-HiFi-Components.conf.patch +Patch7: 0007-chtrt5645-Add-ASUSTeKCOMPUTERINC.-T100HAN-1.0-symlin.patch +Patch8: 0008-chtrt5645-Add-MEDION-E1239TMD60568-0.1-Wingman.conf-.patch +Patch9: 0009-chtrt5645-Remove-bogus-JackHWMute-settings.patch +Patch10: 0010-sof-hda-dsp-change-Headphones2-to-Mic2.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -37,6 +44,13 @@ %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 %build ++++++ 0004-hda-dsp-add-basic-ucm-config.patch ++++++ >From 76df616aa2fcae1cca1f948dac24c98a211c2593 Mon Sep 17 00:00:00 2001 From: Mateusz Gorski <mateusz.gor...@linux.intel.com> Date: Wed, 18 Mar 2020 11:26:05 +0100 Subject: [PATCH 04/10] hda-dsp: add basic ucm config Basic UCM configuration for Intel Skylake SST with HDA DSP generic machine driver enabling codec playback and capture on both HDA codec and DMIC ports. Signed-off-by: Mateusz Gorski <mateusz.gor...@linux.intel.com> Signed-off-by: Jaroslav Kysela <pe...@perex.cz> --- ucm2/hda-dsp/Hdmi1.conf | 24 ++++++++++++ ucm2/hda-dsp/Hdmi2.conf | 23 ++++++++++++ ucm2/hda-dsp/HiFi.conf | 96 +++++++++++++++++++++++++++++++++++++++++++++++ ucm2/hda-dsp/hda-dsp.conf | 16 ++++++++ 4 files changed, 159 insertions(+) create mode 100644 ucm2/hda-dsp/Hdmi1.conf create mode 100644 ucm2/hda-dsp/Hdmi2.conf create mode 100644 ucm2/hda-dsp/HiFi.conf create mode 100644 ucm2/hda-dsp/hda-dsp.conf diff --git a/ucm2/hda-dsp/Hdmi1.conf b/ucm2/hda-dsp/Hdmi1.conf new file mode 100644 index 000000000000..08fa5ddf779f --- /dev/null +++ b/ucm2/hda-dsp/Hdmi1.conf @@ -0,0 +1,24 @@ +# Usecase for device HDMI1/Display Port stereo playback on Intel cAVS platforms +# For Audio in HDA mode + +SectionDevice."HDMI1" { + Comment "HDMI/Display Port 1 Stereo" + + Value { + PlaybackPriority 300 + PlaybackPCM "hw:${CardId},10" + If.1 { + Condition { + Type ControlExists + Control "iface=CARD,name='HDMI/DP,pcm=17 Jack'" + } + True { + JackControl "HDMI/DP,pcm=17 Jack" + } + False { + JackControl "HDMI/DP, pcm=17 Jack" + } + } + } +} + diff --git a/ucm2/hda-dsp/Hdmi2.conf b/ucm2/hda-dsp/Hdmi2.conf new file mode 100644 index 000000000000..eb168eac15fe --- /dev/null +++ b/ucm2/hda-dsp/Hdmi2.conf @@ -0,0 +1,23 @@ +# Usecase for device HDMI2/Display Port stereo playback on Intel cAVS platforms +# For Audio in HDA mode + +SectionDevice."HDMI2" { + Comment "HDMI/Display Port 2 Stereo" + + Value { + PlaybackPriority 400 + PlaybackPCM "hw:${CardId},11" + If.1 { + Condition { + Type ControlExists + Control "iface=CARD,name='HDMI/DP,pcm=18 Jack'" + } + True { + JackControl "HDMI/DP,pcm=18 Jack" + } + False { + JackControl "HDMI/DP, pcm=18 Jack" + } + } + } +} diff --git a/ucm2/hda-dsp/HiFi.conf b/ucm2/hda-dsp/HiFi.conf new file mode 100644 index 000000000000..cdeb215832c7 --- /dev/null +++ b/ucm2/hda-dsp/HiFi.conf @@ -0,0 +1,96 @@ +# Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC. +# For Audio in HDA mode on Intel cAVS platforms + +SectionVerb { + + EnableSequence [ + cset "name='mch_cap_out mo mch_cap_in mi Switch' 1" + ] + + Value { + TQ "HiFi" + } +} + +SectionDevice."Headphones" { + Comment "Headphones" + + ConflictingDevice [ + "Speaker" + ] + + EnableSequence [ + cset "name='Headphone Playback Switch' 1,1" + cset "name='Speaker Playback Switch' 0,0" + ] + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:${CardId},7" + PlaybackMixerElem "Headphone" + PlaybackMasterElem "Master" + PlaybackVolume "Headphone Playback Volume" + PlaybackSwitch "Headphone Playback Switch" + JackControl "Front Headphone Jack" + JackHWMute "Speaker" + } +} + +SectionDevice."Speaker" { + Comment "Speaker" + + ConflictingDevice [ + "Headphones" + ] + + EnableSequence [ + cset "name='Headphone Playback Switch' 0,0" + cset "name='Speaker Playback Switch' 1,1" + ] + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:${CardId},7" + PlaybackMixerElem "Speaker" + PlaybackMasterElem "Master" + PlaybackVolume "Speaker Playback Volume" + PlaybackSwitch "Speaker Playback Switch" + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + ConflictingDevice [ + "Mic" + ] + + EnableSequence [ + cset "name='media0_out mo codec0_in mi Switch' 1" + ] + + Value { + CapturePriority 200 + CapturePCM "hw:${CardId},7" + } +} + +SectionDevice."Mic" { + Comment "Digital Microphone" + + ConflictingDevice [ + "Headset" + ] + + EnableSequence [ + cset "name='mch_cap_out mo mch_cap_in mi Switch' 1" + ] + + Value { + CapturePriority 100 + CapturePCM "hw:${CardId},13" + } +} + +<hda-dsp/Hdmi1.conf> +<hda-dsp/Hdmi2.conf> diff --git a/ucm2/hda-dsp/hda-dsp.conf b/ucm2/hda-dsp/hda-dsp.conf new file mode 100644 index 000000000000..bf80b099349e --- /dev/null +++ b/ucm2/hda-dsp/hda-dsp.conf @@ -0,0 +1,16 @@ +# UCM for Intel CAVS platforms +# For Audio in HDA and DMIC mode + +Syntax 2 + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Play HiFi quality Music" +} + +SectionDefaults [ + cset "name='Master Playback Switch' 1" + cset "name='codec0_out mo media0_in mi Switch' 1" + cset "name='media0_out mo codec0_in mi Switch' 1" + cset "name='mch_cap_out mo mch_cap_in mi Switch' 1" +] -- 2.16.4 ++++++ 0005-update-README-files.patch ++++++ >From 340b8a1d6aaa164bc27bdb8811cc00d729ca2e45 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela <pe...@perex.cz> Date: Mon, 30 Mar 2020 16:51:45 +0200 Subject: [PATCH 05/10] update README files - UCM validator - UCM paths for ucm2/ Signed-off-by: Jaroslav Kysela <pe...@perex.cz> --- README.md | 6 ++++++ ucm2/README.md | 34 +++++++++++++++++++++++++++++++--- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 574c93ca4189..c5afd963a7aa 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,9 @@ ## ALSA Use Case Manager configuration ![Validate UCM configuration](https://github.com/alsa-project/alsa-ucm-conf/workflows/Validate%20UCM%20configuration/badge.svg?branch=master) + +The UCM configurations are automatically valited using the UCM validator +available at https://github.com/alsa-project/alsa-tests/tree/master/python/ucm-validator . + +If you create a pull request for new hardware, please, add also the +alsa-info.sh output to emulate this hardware in the UCM validator. diff --git a/ucm2/README.md b/ucm2/README.md index 3aefdf7e5c02..fc2a1785c6ce 100644 --- a/ucm2/README.md +++ b/ucm2/README.md @@ -7,9 +7,37 @@ Library directories: codecs/ dsps/ -Those directories are not inspected for the list of -available UCM configurations. They contain files -included from other UCMs. +Those directories are not inspected for the list of available UCM +configurations. They contain files included from other UCMs. + +UCM master configuration path lookup (by priority): + +- {ucm_card_name}/{long_card_name}.conf +- {ucm_card_name}/{ucm_card_name}.conf +- {driver_name}/{long_card_name}.conf +- {driver_name}/{driver_name}.conf + +For example: + +- USB-Audio/Dell-WD15-Dock.conf +-- special configuration for the Dell docking station with USB soundcard +- TwoCardsMix/TwoCardsMix.conf +-- virtual UCM from two soundcards + +Note: For the driver configurations, use always the real driver name +not the ucm card name configuration paths! + +The driver name can be obtained using procfs like: + +```` + cat /proc/asound/cards + 1 [NVidia ]: HDA-Intel - HDA NVidia + HDA NVidia at 0xb5080000 irq 17 + + driver name: HDA-Intel + card short name: HDA NVidia + card long name: HDA NVidia at 0xb5080000 irq 17 +```` Syntax, value names ------------------- -- 2.16.4 ++++++ 0006-bytcr-rt5651-Fix-dmic-check-in-HiFi-Components.conf.patch ++++++ >From 85ca26a4f2b73888dbce3437a402df13faf628fa Mon Sep 17 00:00:00 2001 From: Hans de Goede <hdego...@redhat.com> Date: Sun, 5 Apr 2020 20:34:50 +0200 Subject: [PATCH 06/10] bytcr-rt5651: Fix dmic check in HiFi-Components.conf The kernel sets cfg-mic:dmic not cfg-mic:dmic1 when a digital mic is used. The wrong check for cfg-mic:dmic1 causes there to be no "Mic" device at all, which causes the check for the ConflictingDevices section of the HeadSet (mic) device to fail like e.g. so: [hans@localhost ~]$ alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev Speaker ALSA lib parser.c:1138:(verb_dev_list_add) error: unable to find device 'Mic' ALSA lib parser.c:1433:(parse_verb_file) error: device management error in verb 'HiFi' ALSA lib main.c:962:(snd_use_case_mgr_open) error: failed to import bytcr-rt5651 use case configuration -2 alsaucm: error failed to open sound card bytcr-rt5651: No such file or directory This commit fixes this. Signed-off-by: Hans de Goede <hdego...@redhat.com> Signed-off-by: Jaroslav Kysela <pe...@perex.cz> --- ucm2/bytcr-rt5651/HiFi-Components.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ucm2/bytcr-rt5651/HiFi-Components.conf b/ucm2/bytcr-rt5651/HiFi-Components.conf index 53ebcbe252c8..d0a573ef2cba 100644 --- a/ucm2/bytcr-rt5651/HiFi-Components.conf +++ b/ucm2/bytcr-rt5651/HiFi-Components.conf @@ -34,11 +34,11 @@ If.headphones { } } -If.dmic1 { +If.dmic { Condition { Type String Haystack "${CardComponents}" - Needle "cfg-mic:dmic1" + Needle "cfg-mic:dmic" } True { <codecs/rt5651/DigitalMic.conf> -- 2.16.4 ++++++ 0007-chtrt5645-Add-ASUSTeKCOMPUTERINC.-T100HAN-1.0-symlin.patch ++++++ >From aaa86069ab721683afcf978b9291219855db42f1 Mon Sep 17 00:00:00 2001 From: Hans de Goede <hdego...@redhat.com> Date: Sun, 5 Apr 2020 20:34:51 +0200 Subject: [PATCH 07/10] chtrt5645: Add ASUSTeKCOMPUTERINC.-T100HAN-1.0 symlink to chtrt5645-dmic1.conf We already have a ASUSTeKCOMPUTERINC.-T100HAN-1.0-T100HAN symlink to chtrt5645-dmic1.conf, but since kernel commit 39870b0dec68 ("ASoC: DMI long name - avoid to add board name if matches with product name"), the kernel omits the (second) -T100HAN. So with newer kernels that no longer works. Arguably this is a kernel regressions, but chances are we already have some configs depending on the new behavior, so lets fix this on the UCM2 side by adding a second symlink using the new long name. Signed-off-by: Hans de Goede <hdego...@redhat.com> Signed-off-by: Jaroslav Kysela <pe...@perex.cz> --- ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0.conf | 1 + 1 file changed, 1 insertion(+) create mode 120000 ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0.conf diff --git a/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0.conf b/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0.conf new file mode 120000 index 000000000000..b4d2816229b4 --- /dev/null +++ b/ucm2/chtrt5645/ASUSTeKCOMPUTERINC.-T100HAN-1.0.conf @@ -0,0 +1 @@ +chtrt5645-dmic1.conf \ No newline at end of file -- 2.16.4 ++++++ 0008-chtrt5645-Add-MEDION-E1239TMD60568-0.1-Wingman.conf-.patch ++++++ >From 5ba4fd1dfca593248a603e5621bf2f53a4e2ddcc Mon Sep 17 00:00:00 2001 From: Hans de Goede <hdego...@redhat.com> Date: Sun, 5 Apr 2020 20:34:52 +0200 Subject: [PATCH 08/10] chtrt5645: Add MEDION-E1239TMD60568-0.1-Wingman.conf symlink to chtrt5645-dmic2.conf The Medion Akoya E1239T 2-in-1 uses a digital mic connected to the dmic2 pin, rather then the default analog mic on in2. Add a long name symlink to chtrt5645-dmic2.conf for this, so that the right config is used. Signed-off-by: Hans de Goede <hdego...@redhat.com> Signed-off-by: Jaroslav Kysela <pe...@perex.cz> --- ucm2/chtrt5645/MEDION-E1239TMD60568-0.1-Wingman.conf | 1 + 1 file changed, 1 insertion(+) create mode 120000 ucm2/chtrt5645/MEDION-E1239TMD60568-0.1-Wingman.conf diff --git a/ucm2/chtrt5645/MEDION-E1239TMD60568-0.1-Wingman.conf b/ucm2/chtrt5645/MEDION-E1239TMD60568-0.1-Wingman.conf new file mode 120000 index 000000000000..7823e312498e --- /dev/null +++ b/ucm2/chtrt5645/MEDION-E1239TMD60568-0.1-Wingman.conf @@ -0,0 +1 @@ +chtrt5645-dmic2.conf \ No newline at end of file -- 2.16.4 ++++++ 0009-chtrt5645-Remove-bogus-JackHWMute-settings.patch ++++++ >From d0b1a426ba7cbfb34355a4101bb314ba288a6679 Mon Sep 17 00:00:00 2001 From: Hans de Goede <hdego...@redhat.com> Date: Sun, 5 Apr 2020 20:34:53 +0200 Subject: [PATCH 09/10] chtrt5645: Remove bogus JackHWMute settings There is no reason why the internal microphone or speakers cannot be used when a headset is plugged in. The jack does not physically disconnect these, so the JackHWMute settings are wrong, remove them. Signed-off-by: Hans de Goede <hdego...@redhat.com> Signed-off-by: Jaroslav Kysela <pe...@perex.cz> --- ucm2/chtrt5645/HiFi-dmic1.conf | 2 -- ucm2/chtrt5645/HiFi-dmic2.conf | 2 -- ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf | 2 -- ucm2/chtrt5645/HiFi.conf | 2 -- 4 files changed, 8 deletions(-) diff --git a/ucm2/chtrt5645/HiFi-dmic1.conf b/ucm2/chtrt5645/HiFi-dmic1.conf index 1a8ee0abdadf..c7e12c9e2625 100644 --- a/ucm2/chtrt5645/HiFi-dmic1.conf +++ b/ucm2/chtrt5645/HiFi-dmic1.conf @@ -50,7 +50,6 @@ SectionDevice."Headphones" { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" - JackHWMute "Speaker" } ConflictingDevice [ @@ -96,7 +95,6 @@ SectionDevice."Headset" { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" - JackHWMute "Mic" } EnableSequence [ diff --git a/ucm2/chtrt5645/HiFi-dmic2.conf b/ucm2/chtrt5645/HiFi-dmic2.conf index d3f880aa6bc0..95fedb3eb03e 100644 --- a/ucm2/chtrt5645/HiFi-dmic2.conf +++ b/ucm2/chtrt5645/HiFi-dmic2.conf @@ -50,7 +50,6 @@ SectionDevice."Headphones" { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" - JackHWMute "Speaker" } ConflictingDevice [ @@ -98,7 +97,6 @@ SectionDevice."Headset" { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" - JackHWMute "Mic" } EnableSequence [ diff --git a/ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf b/ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf index db866cd5c67a..f6180a4932eb 100644 --- a/ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf +++ b/ucm2/chtrt5645/HiFi-mono-speaker-analog-mic.conf @@ -54,7 +54,6 @@ SectionDevice."Headphones" { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" - JackHWMute "Speaker" } ConflictingDevice [ @@ -84,7 +83,6 @@ SectionDevice."Headset" { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" - JackHWMute "Mic" } EnableSequence [ diff --git a/ucm2/chtrt5645/HiFi.conf b/ucm2/chtrt5645/HiFi.conf index 58468a8ddd02..116d456e349e 100644 --- a/ucm2/chtrt5645/HiFi.conf +++ b/ucm2/chtrt5645/HiFi.conf @@ -50,7 +50,6 @@ SectionDevice."Headphones" { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" - JackHWMute "Speaker" } ConflictingDevice [ @@ -76,7 +75,6 @@ SectionDevice."Headset" { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" - JackHWMute "Mic" } EnableSequence [ -- 2.16.4 ++++++ 0010-sof-hda-dsp-change-Headphones2-to-Mic2.patch ++++++ >From 907c8309b2ee671e1b36630b0d29db1bc3124990 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela <pe...@perex.cz> Date: Mon, 6 Apr 2020 17:37:20 +0200 Subject: [PATCH 10/10] sof-hda-dsp: change Headphones2 to Mic2 Fixes: https://github.com/alsa-project/alsa-ucm-conf/issues/19 Signed-off-by: Jaroslav Kysela <pe...@perex.cz> --- ucm2/sof-hda-dsp/HiFi.conf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ucm2/sof-hda-dsp/HiFi.conf b/ucm2/sof-hda-dsp/HiFi.conf index 60a869341935..9a8293077e3e 100644 --- a/ucm2/sof-hda-dsp/HiFi.conf +++ b/ucm2/sof-hda-dsp/HiFi.conf @@ -6,7 +6,7 @@ SectionVerb { ] } -SectionDevice."Headphones1" { +SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ @@ -85,9 +85,9 @@ If.monomic { Control "name='Input Source'" ControlEnum "Headphone Mic" } - After.SectionDevice "Mic" + After.SectionDevice "Mic1" True { - SectionDevice."Headphones2" { + SectionDevice."Mic2" { Comment "Headphones Stereo Microphone" ConflictingDevice [ @@ -120,7 +120,7 @@ If.monomic { } } False { - SectionDevice."Headphones2" { + SectionDevice."Mic2" { Comment "Headphones Stereo Microphone" Value { @@ -132,7 +132,7 @@ If.monomic { } } -SectionDevice."Mic" { +SectionDevice."Mic1" { Comment "Digital Microphone" Value { -- 2.16.4