@Hui, thanks for the work. That's going to be a complicated SRU, just a small comment, the 'regression potential' section is supposed to describe what sort of problem could happen following the change, it's meant to give an hint of what to focus on in the testing
see https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template for detailed explanations 'low' (and the rest of the section focussing on why it's low) is sort of missing the point, could you rework it? I expect in that case we would need to test also on non AMD config that they are not regressing? -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to pulseaudio in Ubuntu. https://bugs.launchpad.net/bugs/1889217 Title: Make digital mic on the AMD renoir machines work under gnome desktop Status in alsa-lib package in Ubuntu: New Status in alsa-ucm-conf package in Ubuntu: New Status in pulseaudio package in Ubuntu: New Status in alsa-lib source package in Focal: New Status in alsa-ucm-conf source package in Focal: New Status in pulseaudio source package in Focal: New Status in alsa-lib source package in Groovy: New Status in alsa-ucm-conf source package in Groovy: New Status in pulseaudio source package in Groovy: New Bug 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 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/alsa-lib/+bug/1889217/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp