From 54993dbcc2d5276d34f84c51732853ef82ed332ba86a2718d7ed4f42f7b87562 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Wed, 3 May 2017 10:59:37 +0000 Subject: [PATCH] Accepting request 492611 from home:tiwai:branches:multimedia:libs - Remove direct_memory_access flag from dmix definition again for fixing a regression used with old alsa-lib binary (boo#1037021): 0096-conf-Remove-dmix.direct_memory_access-setup.patch OBS-URL: https://build.opensuse.org/request/show/492611 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=213 --- ...move-dmix.direct_memory_access-setup.patch | 91 +++++++++++++++++++ alsa.changes | 7 ++ alsa.spec | 2 + 3 files changed, 100 insertions(+) create mode 100644 0096-conf-Remove-dmix.direct_memory_access-setup.patch diff --git a/0096-conf-Remove-dmix.direct_memory_access-setup.patch b/0096-conf-Remove-dmix.direct_memory_access-setup.patch new file mode 100644 index 0000000..2b5205c --- /dev/null +++ b/0096-conf-Remove-dmix.direct_memory_access-setup.patch @@ -0,0 +1,91 @@ +From f3d2f4046e8492013044a99fd4324a21dbb82938 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Wed, 3 May 2017 09:42:02 +0200 +Subject: [PATCH 1/2] conf: Remove dmix.direct_memory_access setup + +The commit [22eca6468b4a: pcm: dmix: Allow disabling x86 +optimizations] introduced the new flag for dmix & co, +direct_memory_access. However, it turned out that such an addition of +the new flag in the default pcm definition causes an error when it's +used with old alsa-lib codes. Although the code added here is +correct, per se, and it works as expected, it's not wise to break the +configuration with old stuff -- even if the usage is somehow incorrect +and should be avoided. + +Since the usage of the new flag is only for HDMI LPE audio, and the +usage of dmix itself should be limited with that hardware, this patch +removes the setup so that it works with the old alsa-lib again. We +may introduce the dmix behavior change in a smarter way, e.g. passing +some flag from the hardware driver so that it works more generically +without the manual fiddling of config files. + +Bugzilla: http://bugzilla.opensuse.org/show_bug.cgi?id=1037021 +Signed-off-by: Takashi Iwai +--- + src/conf/cards/HdmiLpeAudio.conf | 23 ----------------------- + src/conf/pcm/dmix.conf | 15 --------------- + 2 files changed, 38 deletions(-) + +diff --git a/src/conf/cards/HdmiLpeAudio.conf b/src/conf/cards/HdmiLpeAudio.conf +index 61bdfeae2917..dae71facac6d 100644 +--- a/src/conf/cards/HdmiLpeAudio.conf ++++ b/src/conf/cards/HdmiLpeAudio.conf +@@ -20,29 +20,6 @@ HdmiLpeAudio.pcm.front.0 { + } + } + +-# uncached memory reads have a high penalty +-HdmiLpeAudio.dmix.direct_memory_access false +- +-# default with dmix+softvol +-HdmiLpeAudio.pcm.default { +- @args [ CARD ] +- @args.CARD { +- type string +- } +- type plug +- slave.pcm { +- type softvol +- slave.pcm { +- @func concat +- strings [ "dmix:" $CARD ] +- } +- control { +- name "PCM Playback Volume" +- card $CARD +- } +- } +-} +- + + + +diff --git a/src/conf/pcm/dmix.conf b/src/conf/pcm/dmix.conf +index 2d3b329e533a..7d0aa0158c42 100644 +--- a/src/conf/pcm/dmix.conf ++++ b/src/conf/pcm/dmix.conf +@@ -49,21 +49,6 @@ pcm.!dmix { + @func refer + name defaults.pcm.ipc_perm + } +- direct_memory_access { +- @func refer +- name { +- @func concat +- strings [ +- "cards." +- { +- @func card_driver +- card $CARD +- } +- ".dmix.direct_memory_access" +- ] +- } +- default true +- } + slave { + pcm { + type hw +-- +2.12.2 + diff --git a/alsa.changes b/alsa.changes index 255244c..244ba3c 100644 --- a/alsa.changes +++ b/alsa.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed May 3 10:07:17 CEST 2017 - tiwai@suse.de + +- Remove direct_memory_access flag from dmix definition again for + fixing a regression used with old alsa-lib binary (boo#1037021): + 0096-conf-Remove-dmix.direct_memory_access-setup.patch + ------------------------------------------------------------------- Mon Apr 10 10:25:09 CEST 2017 - tiwai@suse.de diff --git a/alsa.spec b/alsa.spec index 1934db6..7bee4db 100644 --- a/alsa.spec +++ b/alsa.spec @@ -88,6 +88,7 @@ Patch40: 0040-rawmidi-virtual-fix-reading-into-a-small-buffer.patch Patch41: 0041-conf-cards-add-VC4-HDMI-card.patch Patch42: 0042-pcm-plug-save-converter-config.patch Patch43: 0043-pcm-file-delegate-htimestamping-to-slave-instead-of-.patch +Patch96: 0096-conf-Remove-dmix.direct_memory_access-setup.patch Patch97: 0097-pcm-dmix-Disable-var_periodsize-as-default.patch # rest suse patches Patch98: 0098-dmix-Workaround-for-binary-incompatibility.patch @@ -196,6 +197,7 @@ Architecture. %patch41 -p1 %patch42 -p1 %patch43 -p1 +%patch96 -p1 %patch97 -p1 %patch98 -p1