Activity log for bug #1889217

Date Who What changed Old value New value Message
2020-07-28 13:06:39 Hui Wang bug added bug
2020-07-28 13:07:17 Hui Wang bug task added alsa-lib (Ubuntu)
2020-07-28 13:07:38 Hui Wang bug task added alsa-ucm-conf (Ubuntu)
2020-07-28 13:07:49 Hui Wang alsa-lib (Ubuntu): importance Undecided High
2020-07-28 13:07:51 Hui Wang alsa-ucm-conf (Ubuntu): importance Undecided High
2020-07-28 13:07:53 Hui Wang pulseaudio (Ubuntu): importance Undecided High
2020-07-28 13:08:04 Hui Wang nominated for series Ubuntu Groovy
2020-07-28 13:08:04 Hui Wang bug task added alsa-lib (Ubuntu Groovy)
2020-07-28 13:08:04 Hui Wang bug task added pulseaudio (Ubuntu Groovy)
2020-07-28 13:08:04 Hui Wang bug task added alsa-ucm-conf (Ubuntu Groovy)
2020-07-28 13:08:04 Hui Wang nominated for series Ubuntu Focal
2020-07-28 13:08:04 Hui Wang bug task added alsa-lib (Ubuntu Focal)
2020-07-28 13:08:04 Hui Wang bug task added pulseaudio (Ubuntu Focal)
2020-07-28 13:08:04 Hui Wang bug task added alsa-ucm-conf (Ubuntu Focal)
2020-07-28 13:10:13 Hui Wang summary Make digital mic on the AMD renoir machines work under gnome environment Make digital mic on the AMD renoir machines work under gnome desktop
2020-07-28 13:10:35 Hui Wang alsa-lib (Ubuntu Focal): importance Undecided High
2020-07-28 13:10:38 Hui Wang alsa-ucm-conf (Ubuntu Focal): importance Undecided High
2020-07-28 13:10:41 Hui Wang pulseaudio (Ubuntu Focal): importance Undecided High
2020-07-29 02:25:39 Daniel van Vugt tags renoir
2020-07-29 02:26:14 Daniel van Vugt tags renoir focal groovy renoir
2020-07-29 09:57:38 Hui Wang description This is for tracking purpose. [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] we need to backport 3 patches: 2ae94c141f device-port: queue CARD CHANGE event before update default sink c8653c13fa alsa: adjust ucm sink/source priority according to ports priority A patch not merged by upstream: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked as the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low
2020-07-29 10:10:39 Sebastien Bacher pulseaudio (Ubuntu Focal): assignee Hui Wang (hui.wang)
2020-07-29 10:10:51 Sebastien Bacher alsa-ucm-conf (Ubuntu Focal): assignee Hui Wang (hui.wang)
2020-07-29 10:10:56 Sebastien Bacher alsa-ucm-conf (Ubuntu Groovy): assignee Hui Wang (hui.wang)
2020-07-29 10:11:03 Sebastien Bacher alsa-lib (Ubuntu Focal): assignee Hui Wang (hui.wang)
2020-07-29 10:11:10 Sebastien Bacher alsa-lib (Ubuntu Groovy): assignee Hui Wang (hui.wang)
2020-07-29 10:14:46 Hui Wang description [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] we need to backport 3 patches: 2ae94c141f device-port: queue CARD CHANGE event before update default sink c8653c13fa alsa: adjust ucm sink/source priority according to ports priority A patch not merged by upstream: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked as the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] we need to backport 3 patches: 2ae94c141f device-port: queue CARD CHANGE event before update default sink c8653c13fa alsa: adjust ucm sink/source priority according to ports priority A patch not merged by upstream: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found
2020-07-29 10:33:16 Hui Wang description [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] we need to backport 3 patches: 2ae94c141f device-port: queue CARD CHANGE event before update default sink c8653c13fa alsa: adjust ucm sink/source priority according to ports priority A patch not merged by upstream: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found
2020-07-30 01:19:30 Hui Wang description [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Depends alsa-ucm-conf (>= 1.2.2-1ubuntu0.1.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found
2020-07-30 01:20:32 Hui Wang description [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Depends alsa-ucm-conf (>= 1.2.2-1ubuntu0.1.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Depends alsa-ucm-conf (>= 1.2.2-1ubuntu0.1.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. there is no external ABI or API changes For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found
2020-07-30 09:02:32 Stéphane Verdy bug added subscriber Stéphane Verdy
2020-07-31 00:52:20 Hui Wang description [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Depends alsa-ucm-conf (>= 1.2.2-1ubuntu0.1.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. there is no external ABI or API changes For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Breaks alsa-ucm-conf (<= 1.2.2-1ubuntu0.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. there is no external ABI or API changes For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found
2020-08-04 08:19:47 Anthony Wong description [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Breaks alsa-ucm-conf (<= 1.2.2-1ubuntu0.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD renoir machines: Boot the system with these updated packages (already backported kernel drivers to focal and oem-5.6 kernels), open the gnome-control-center, we could see the digital mic in the input device tab, and only one input device. we could record sound through this dmic, we could play sound through the speaker, plug a headset, we could see the output device become headphones and the input device become headset mic, we could play sound to headphone and record sound from headset mic, plug a hdmi monitor, there is hdmi audio choice, play sound to hdmi audio, we could hear the sound from the speaker on the monitor. Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. there is no external ABI or API changes For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Breaks alsa-ucm-conf (<= 1.2.2-1ubuntu0.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD Renoir machines: * Boot the system with these updated packages (already backported kernel drivers to Focal and oem-5.6 kernels), open the gnome-control-center - we could see the digital mic in the input device tab, and only one input device - we could record sound through this dmic - we could play sound through the speaker - plug a headset, we could see the output device become headphones and the input device become headset mic - we could play sound to headphone and record sound from headset mic - plug an HDMI monitor, there is HDMI audio choice - play sound to HDMI audio, we could hear the sound from the speaker on the monitor - Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. there is no external ABI or API changes For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found
2020-08-04 08:35:13 Anthony Wong summary Make digital mic on the AMD renoir machines work under gnome desktop Make digital mic on the AMD Renoir machines work under gnome desktop
2020-08-04 08:35:21 Anthony Wong bug added subscriber Anthony Wong
2020-08-04 08:35:51 Anthony Wong description [Impact] On the LENOVO AMD renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Breaks alsa-ucm-conf (<= 1.2.2-1ubuntu0.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD Renoir machines: * Boot the system with these updated packages (already backported kernel drivers to Focal and oem-5.6 kernels), open the gnome-control-center - we could see the digital mic in the input device tab, and only one input device - we could record sound through this dmic - we could play sound through the speaker - plug a headset, we could see the output device become headphones and the input device become headset mic - we could play sound to headphone and record sound from headset mic - plug an HDMI monitor, there is HDMI audio choice - play sound to HDMI audio, we could hear the sound from the speaker on the monitor - Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. there is no external ABI or API changes For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found [Impact] On the LENOVO AMD Renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Breaks alsa-ucm-conf (<= 1.2.2-1ubuntu0.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD Renoir machines: * Boot the system with these updated packages (already backported kernel drivers to Focal and oem-5.6 kernels), open the gnome-control-center  - we could see the digital mic in the input device tab, and only one input device  - we could record sound through this dmic  - we could play sound through the speaker  - plug a headset, we could see the output device become headphones and the input device become headset mic    - we could play sound to headphone and record sound from headset mic  - plug an HDMI monitor, there is HDMI audio choice    - play sound to HDMI audio, we could hear the sound from the speaker on the monitor  - Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. there is no external ABI or API changes For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found
2020-08-04 08:36:53 Anthony Wong description [Impact] On the LENOVO AMD Renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Breaks alsa-ucm-conf (<= 1.2.2-1ubuntu0.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD Renoir machines: * Boot the system with these updated packages (already backported kernel drivers to Focal and oem-5.6 kernels), open the gnome-control-center  - we could see the digital mic in the input device tab, and only one input device  - we could record sound through this dmic  - we could play sound through the speaker  - plug a headset, we could see the output device become headphones and the input device become headset mic    - we could play sound to headphone and record sound from headset mic  - plug an HDMI monitor, there is HDMI audio choice    - play sound to HDMI audio, we could hear the sound from the speaker on the monitor  - Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. there is no external ABI or API changes For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found [Impact] On the LENOVO AMD Renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Breaks alsa-ucm-conf (<= 1.2.2-1ubuntu0.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD Renoir machines: * Boot the system with these updated packages (already backported kernel drivers to Focal and oem-5.6 kernels), open the gnome-control-center  - we could see the digital mic in the input device tab, and only one input device  - we could record sound through this dmic  - we could play sound through the speaker  - plug a headset, we could see the output device become headphones and the input device become headset mic    - we could play sound to headphone and record sound from headset mic  - plug an HDMI monitor, there is HDMI audio choice    - play sound to HDMI audio, we could hear the sound from the speaker on the monitor  - Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. there is no external ABI or API changes For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to Renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD Renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found
2020-08-05 16:25:36 Anthony Wong tags focal groovy renoir focal groovy originate-from-1874593 renoir sutton
2020-08-10 04:08:02 Hui Wang attachment added alsa-lib_1.2.2-2.3ubuntu2.debdiff https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1889217/+attachment/5400273/+files/alsa-lib_1.2.2-2.3ubuntu2.debdiff
2020-08-10 04:08:36 Hui Wang bug added subscriber Ubuntu Sponsors Team
2020-08-10 04:09:03 Hui Wang attachment added alsa-ucm-conf_1.2.2-1ubuntu2.debdiff https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1889217/+attachment/5400274/+files/alsa-ucm-conf_1.2.2-1ubuntu2.debdiff
2020-08-10 04:09:44 Hui Wang attachment added pulseaudio_13.99.1-1ubuntu9.debdiff https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1889217/+attachment/5400275/+files/pulseaudio_13.99.1-1ubuntu9.debdiff
2020-08-10 04:38:34 Hui Wang description [Impact] On the LENOVO AMD Renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Breaks alsa-ucm-conf (<= 1.2.2-1ubuntu0.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD Renoir machines: * Boot the system with these updated packages (already backported kernel drivers to Focal and oem-5.6 kernels), open the gnome-control-center  - we could see the digital mic in the input device tab, and only one input device  - we could record sound through this dmic  - we could play sound through the speaker  - plug a headset, we could see the output device become headphones and the input device become headset mic    - we could play sound to headphone and record sound from headset mic  - plug an HDMI monitor, there is HDMI audio choice    - play sound to HDMI audio, we could hear the sound from the speaker on the monitor  - Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] Low For alsa-ucm-conf, this SRU adds two new folders and only minimum changes on existing folders, and these changes are under control and are for supporting acp driver. For alsa-lib, this SRU only adds the patches to support the ucm 3, and nearly all changes are in the ucm folder. there is no external ABI or API changes For pulseaudio, this SRU only integrate 3 patches, and 2 of them are for auto switching, and they are small patches and already upstreamed. the left patch are specific to Renoir audio, it will not bring impact to other machines. Also, we tested these changes with below machines: A LENOVO AMD Renoir laptop, all audio function works and no regression found A DELL laptop with intel dmic, all audio function works and no regression found A DELL laptop with intel soundwire audio, all audio function works and no regression found [Impact] On the LENOVO AMD Renoir machines, there is a digital mic directly connected to the APU instead of the codec, so there are two separate sound cards in the system, one is for analogue codec driven by hda driver, the other is for the dmic driven by ASoC acp driver. The current audio stack (pulseaudio + alsa-ucm-conf + alsa-lib) doesn't support this design yet, it could support all audio devices on the codec well, but it doesn't support that dmic well. In the gnome-control-center, the dmic becomes two input devices: analog input and multichannel input, and users can only record sound from analog input, the multichannel input can't function at all. Besides this issue, there is another issue, after users plug an external mic, the external mic can't replace the dmic automatically, this gives users a bad experience since this behaviour is different from the other audio designs. [Fix for pulseaudio] backport 3 patches: 2 of them from upstream device-port: queue CARD CHANGE event before update default sink alsa: adjust ucm sink/source priority according to ports priority 1 of them from a merge request: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/305 [Fix for alsa-ucm-conf] backport 14 patches: 11 of them from upstream: ucm-fix-wrong-If-in-sequence-in-HiFi-dual.conf.patch ucm2-add-initial-ucm.conf-for-the-latest-alsa-lib.patch sof-hda-dsp-don-t-fail-if-Auto-Mute-control-is-not-p.patch ucm.conf-add-support-for-the-kernel-module-name-tree.patch sof-hda-dsp-make-Headphone-Playback-Switch-condition.patch sof-soundwire-initial-UCM2-version.patch sof-soundwire-cleanups-recommended-by-the-ucm-valida.patch sof-soundwire-rewrite-for-syntax-3.patch HDA-Intel-add-support-for-AMD-acp-microphone-devices.patch Fix-invalid-Regex-Type-in-various-Condition-blocks.patch hda-hdmi-add-HDMI4-HDMI5-HDMI6-devices.patch 3 of them from a merge request: https://github.com/alsa-project/alsa-ucm-conf/pull/41 [Fix for alsa-lib] backport 47 patches from upstream: Enabled-extended-namehints-in-alsa.conf.patch conf-add-snd_config_is_array-function.patch topology-use-snd_config_is_array-function.patch ucm-merge-the-array-items-from-the-condition-blocks.patch ucm-parse-SectionOnce-section-in-the-master-UCM-conf.patch ucm-execute-SectionDefaults-lately-when-the-first-ve.patch ucm-handle-set-_once-command.patch ucm-handle-set-_defaults-command.patch ucm-initialize-mgr-once_list.patch ucm-fix-SectionOnce-comment.patch ucm-fix-compilation-error-in-set_defaults_user.patch ucm-rename-SectionOnce-to-BootSequence.patch ucm-rename-_once-command-to-_boot-command.patch ucm-configuration-implement-in-place-Include.patch ucm-configuration-substitute-ConfDir-and-ConfTopDir.patch ucm-config-substitute-File-string-to-allow-variables.patch ucm-configuration-allow-to-define-the-configuration-.patch ucm-configuration-add-DefineRegex.patch ucm-substitute-arguments-in-sequences.patch ucm-allow-syntax-version-3.patch ucm-config-change-the-in-place-include-evaluation-or.patch ucm-allow-to-specify-the-toplevel-directory-using-as.patch ucm-substitute-also-value-strings.patch ucm-handle-strict-prefix-correctly-for-the-UCM-card-.patch ucm-String-condition-implement-Empty.patch ucm-Define-DefineRegex-is-supported-in-Syntax-3.patch ucm-substitute-OpenName.patch ucm-substitute-CardNumber.patch ucm-implement-the-toplevel-ucm-configuration-file-pa.patch ucm-substitute-device-modifier-names-too.patch ucm-substitute-device-strings-in-the-device-lists.patch ucm-substitute-component-sequence-string.patch ucm-substitute-verb-name-and-file-field.patch ucm-substitute-Comment-in-Transition-and-Device.patch ucm-substitute-RenameDevice-and-DeleteDevice-lists.patch ucm-substitute-arguments-in-sequences-only-for-synta.patch ucm-shuffle-code-in-compound_merge.patch ucm-implement-CardIdByName-substitution.patch ucm-allow-to-ignore-errors-for-the-value-substitutio.patch ucm-allow-to-use-the-defined-variables-in-the-substi.patch ucm-implement-CardNumberByName-substitution.patch ucm-fix-the-possible-buffer-overflow-substitution.patch ucm-simplify-get_by_card-in-parser.c.patch ucm-implement-AlwaysTrue-Condition.Type.patch ucm-Allow-empty-strings-in-var-.-substitutions.patch ucm-substitution-remove-duplicate-allow_empty-assign.patch ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch ucm-substitute-the-merged-tree-completely.patch add Breaks alsa-ucm-conf (<= 1.2.2-1ubuntu0.1) in the d/control add snd_config_is_array@ALSA_0.9 1.2.2-2.1ubuntu1 in the d/libasound2.symbols [Test Case] On the AMD Renoir machines: * Boot the system with these updated packages (already backported kernel drivers to Focal and oem-5.6 kernels), open the gnome-control-center  - we could see the digital mic in the input device tab, and only one input device  - we could record sound through this dmic  - we could play sound through the speaker  - plug a headset, we could see the output device become headphones and the input device become headset mic    - we could play sound to headphone and record sound from headset mic  - plug an HDMI monitor, there is HDMI audio choice    - play sound to HDMI audio, we could hear the sound from the speaker on the monitor  - Suspend and resume, redo the previous steps, all audio devices still work well. On other machines: Boot the system with all updated packages or partial updated packages, check all input devices and output devices, they worked the same as before. this SRU doesn't bring any impact on other machines. [Regression Risk] For machines without using ucm, like traditional PC and Laptops with HDA audio, it is possible that the pulseaudio can't parse the audio devices well that there is only a dummy audio device on the gnome-control-center, but the possibility is very low since this SRU didn't touch the non-ucm part, and we already tested on a Dell HDA audio machine, the audio function worked as well as before. For machines using ucm, the regression possibility is the pulseaudio fails to parse the needed ucm, then there is no dmic or there is only a dummy audio device in the gnome-contro-center. This possibility is very low too, We have tested this SRU on Dell and Lenovo dmic machines, they worked as well as before. And for the LENOVO dual codec machine, we don't have the hw at the moment, but changes for this machine are all coming from upstream, and Cert team will verify the -proposed on this machine since they have the machine. For other ucm machines, the regression possibility is very low since this SRU doesn't touch their ucm at all. This SRU doesn't introduce any external API changes
2020-08-10 07:21:39 Hui Wang attachment added alsa-lib_1.2.2-2.1ubuntu2.debdiff https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1889217/+attachment/5400305/+files/alsa-lib_1.2.2-2.1ubuntu2.debdiff
2020-08-10 07:22:15 Hui Wang attachment added alsa-ucm-conf_1.2.2-1ubuntu0.2.debdiff https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1889217/+attachment/5400306/+files/alsa-ucm-conf_1.2.2-1ubuntu0.2.debdiff
2020-08-10 07:22:59 Hui Wang attachment added pulseaudio_13.99.1-1ubuntu3.6.debdiff https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1889217/+attachment/5400307/+files/pulseaudio_13.99.1-1ubuntu3.6.debdiff
2020-08-13 14:16:50 Sebastien Bacher alsa-lib (Ubuntu Groovy): status New Fix Committed
2020-08-13 14:20:26 Sebastien Bacher alsa-ucm-conf (Ubuntu Groovy): status New Fix Committed
2020-08-13 14:21:14 Sebastien Bacher pulseaudio (Ubuntu Groovy): status New Fix Committed
2020-08-13 16:26:27 Launchpad Janitor alsa-ucm-conf (Ubuntu Groovy): status Fix Committed Fix Released
2020-08-14 18:05:25 Launchpad Janitor pulseaudio (Ubuntu Groovy): status Fix Committed Fix Released
2020-08-18 02:34:31 Launchpad Janitor alsa-lib (Ubuntu Groovy): status Fix Committed Fix Released
2020-08-19 20:27:41 Sebastien Bacher alsa-lib (Ubuntu Focal): status New Fix Committed
2020-08-19 20:27:44 Sebastien Bacher alsa-ucm-conf (Ubuntu Focal): status New Fix Committed
2020-08-19 20:27:47 Sebastien Bacher pulseaudio (Ubuntu Focal): status New Fix Committed
2020-08-20 09:01:29 Łukasz Zemczak bug added subscriber Ubuntu Stable Release Updates Team
2020-08-20 09:01:32 Łukasz Zemczak bug added subscriber SRU Verification
2020-08-20 09:01:36 Łukasz Zemczak tags focal groovy originate-from-1874593 renoir sutton focal groovy originate-from-1874593 renoir sutton verification-needed verification-needed-focal
2020-08-20 09:02:30 Łukasz Zemczak removed subscriber Ubuntu Sponsors Team
2020-08-25 07:48:23 Shengyao Xue tags focal groovy originate-from-1874593 renoir sutton verification-needed verification-needed-focal focal groovy originate-from-1874593 renoir sutton verification-done-focal
2020-08-31 13:46:20 Launchpad Janitor alsa-lib (Ubuntu Focal): status Fix Committed Fix Released
2020-08-31 13:46:27 Łukasz Zemczak removed subscriber Ubuntu Stable Release Updates Team
2020-08-31 13:46:41 Launchpad Janitor alsa-ucm-conf (Ubuntu Focal): status Fix Committed Fix Released
2020-08-31 13:46:43 Launchpad Janitor pulseaudio (Ubuntu Focal): status Fix Committed Fix Released
2020-09-10 00:55:47 Yuan-Chen Cheng bug task added oem-priority
2020-09-10 00:56:03 Yuan-Chen Cheng oem-priority: status New Fix Released
2020-09-10 00:56:20 Yuan-Chen Cheng tags focal groovy originate-from-1874593 renoir sutton verification-done-focal focal groovy oem-priority originate-from-1874593 renoir sutton verification-done-focal
2022-01-01 18:25:48 Ladislav Petera bug added subscriber Ladislav Petera