Add soundwire support for AMD platforms

Bug #2089273 reported by Leo Lin
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OEM Priority Project
New
Undecided
Unassigned
alsa-ucm-conf (Ubuntu)
Status tracked in Plucky
Noble
Fix Released
Undecided
Unassigned
Oracular
Fix Released
Undecided
Unassigned
Plucky
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Status tracked in Plucky
Noble
Won't Fix
Undecided
Unassigned
Oracular
New
Undecided
Unassigned
Plucky
Triaged
Undecided
Unassigned
linux-oem-6.11 (Ubuntu)
Status tracked in Plucky
Noble
Fix Released
Undecided
Unassigned
Oracular
New
Undecided
Unassigned
Plucky
Invalid
Undecided
Unassigned

Bug Description

========== linux ==========

[Impact]

This patch series introduce soundwire support for AMD platform, as well as code reorganization in preparation for that.

[Fix]
Backport the AMD SoF driver from kernel 6.12 and its sdw_utils for dependency

========== alsa-ucm-conf ==========
[Impact]

This patch series introduce soundwire support for AMD platform. The audio function won't work if no proper driver and alsa-ucm-conf installed.

[Fix]
Backport the patches from https://github.com/alsa-project/alsa-ucm-conf/pull/470 to support AMD SoF driver.

[Test]

1. Install the test kernel
2. Install proper alsa-ucm-confs
3. Confirm the audio function normally on the DUT with 1) AMD soundwire and 2) existing Intel platforms using soundwire. Might include:

        * Checkbox audio test plan
        * Built-in speaker and built-in mic
        * Audio function when headphone is connected to the DUT.

[Where problems could occur]

Patches needed, other than 3 SAUCE patches that planned to upstream in 6.13 cycle, are listed in [1] to [8] below.

Soundwire used to appear mostly on Intel platforms and is almost always in combination with sof. To support AMD, it has to be refactored into a more generic framework (or at least that's what AMD people did). This happens in patch series [1][2] and [3], extracting soundwire code from the sound/soc/intel directory to a more generic location, as well as rename/refactor things to better fit the ASoC context. This will impact all other soundwire platforms and if not done correctly, regression risk may be high.

The all other patch sets other than [5] are AMD specific, so theoretically the impact is limited to AMD platforms with soundwire, which are rather uncommon.

[1] https://<email address hidden>/
[2] https://<email address hidden>/
[3] https://<email address hidden>/
[4] https://<email address hidden>/
[5] https://<email address hidden>/
[6] https://<email address hidden>/
[7] https://<email address hidden>/
[8] https://<email address hidden>/
[9] https://lore.kernel<email address hidden>/T/#me81566e214d388471ba39043bf594c8332421caf

Related branches

Leo Lin (0xff07)
summary: - Add non-sof soundwire support to AMD platforms
+ Add soundwire support for AMD platforms
description: updated
description: updated
tags: added: jira-delta-14 oem-priority
Leo Lin (0xff07)
description: updated
Changed in linux-oem-6.11 (Ubuntu Plucky):
status: New → Invalid
Changed in linux (Ubuntu Noble):
status: New → Won't Fix
Agathe Porte (gagath)
Changed in linux-oem-6.11 (Ubuntu Noble):
status: New → Triaged
Changed in linux (Ubuntu Plucky):
status: New → Triaged
Leo Lin (0xff07)
description: updated
LEE KUAN-YING (kyyc0426)
Changed in linux-oem-6.11 (Ubuntu Noble):
status: Triaged → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-6.11/6.11.0-1009.9 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-noble-linux-oem-6.11' to 'verification-done-noble-linux-oem-6.11'. If the problem still exists, change the tag 'verification-needed-noble-linux-oem-6.11' to 'verification-failed-noble-linux-oem-6.11'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-noble-linux-oem-6.11-v2 verification-needed-noble-linux-oem-6.11
Chris Chiu (mschiu77)
description: updated
Revision history for this message
Leo Lin (0xff07) wrote :

Tested under both Intel and AMD platforms, with the following procedure:

1. Check speaker playback by playing video using firefox.
2. Make sure left and right channel function normally with gnome control center.
3. Record sound with speaker and playback. Confirm that it can record.
4. Reproduce the above steps but with headphone connected.

In all cases the audio functions normally.

tags: added: verification-done-noble-linux-oem-6.11
removed: verification-needed-noble-linux-oem-6.11
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (8.5 KiB)

This bug was fixed in the package linux-oem-6.11 - 6.11.0-1009.9

---------------
linux-oem-6.11 (6.11.0-1009.9) noble; urgency=medium

  * noble/linux-oem-6.11: 6.11.0-1009.9 -proposed tracker (LP: #2086266)

  * Packaging resync (LP: #1786013)
    - [Packaging] resync git-ubuntu-log

  * Intel Be201 Bluetooth hardware error 0x0f on Arrow Lake (LP: #2088151)
    - Bluetooth: btintel: Add DSBR support for BlazarIW, BlazarU and GaP

  * Add soundwire support for AMD platforms (LP: #2089273)
    - ASoC: intel: rename soundwire machine driver soc ops
    - ASoC: intel: rename soundwire codec helper functions
    - ASoC: intel: rename maxim codec macros
    - ASoC: intel: rename ignore_pch_dmic variable name
    - ASoC: intel/sdw-utils: move soundwire machine driver soc ops
    - ASoC: intel: move soundwire machine driver common structures
    - ASoC: intel/sdw_utils: move soundwire machine driver helper functions
    - ASoC: intel/sdw_utils: move dmic codec helper function
    - ASoC: intel/sdw_utils: move rtk dmic helper functions
    - ASoC: intel/sdw_utils: move rt712 sdca helper functions
    - ASoC: intel/sdw_utils: move rt722 sdca helper functions
    - ASoC: intel: split soundwire machine driver private data
    - ASoC: intel/sdw_utils: move rt5682 codec helper function
    - ASoC: intel/sdw_utils: move rtk jack common helper functions
    - ASoC: intel/sdw_utils: move rt700 and rt711 codec helper functions
    - ASoC: intel/sdw_utils: move rtk amp codec helper functions
    - ASoC: intel/sdw_utils: move cirrus soundwire codec helper functions
    - ASoC: intel/sdw_utils: move maxim codec helper functions
    - ASoC: intel/sdw_utils: move dai id common macros
    - ASoC: intel/sdw_utils: move soundwire dai type macros
    - ASoC: intel/sdw_utils: move soundwire codec_info_list structure
    - ASoC: intel/sdw_utils: move machine driver dai link helper functions
    - ASoC: sdw_utils: refactor sof_sdw_card_late_probe function
    - ASoC: intel/sdw_utils: refactor init_dai_link() and init_simple_dai_link()
    - ASoC: soc-acpi: add pci revision id field in mach params structure
    - ASoC: amd: acp: add soundwire machines for acp6.3 based platform
    - ASoC: SOF: amd: add alternate machines for acp6.3 based platform
    - ASoC: SOF: amd: update mach params subsystem_rev variable
    - ASoC: amd/sdw_utils: add sof based soundwire generic machine driver
    - ASoC: intel: sof_sdw: rename soundwire endpoint and dailink structures
    - ASoC: intel: sof_sdw: rename soundwire parsing helper functions
    - ASoC: sdw_util/intel: move soundwire endpoint and dai link structures
    - ASoC: sdw_utils/intel: move soundwire endpoint parsing helper functions
    - ASoC: amd: acp: refactor SoundWire machine driver code
    - ASoC: sdw_utils/intel/amd: refactor dai link init logic
    - ASoC: sdw_utils: Update stream_name in dai_links structure
    - soundwire: amd: pass acp pci revision id as resource data
    - soundwire: amd: refactor existing code for acp 6.3 platform
    - ASoC: SOF: amd: pass acp_rev as soundwire resource data
    - ASoC: amd: ps: pass acp pci revision id as soundwire resource data
    - ASoC: rt722: change the interrupt mask for j...

Read more...

Changed in linux-oem-6.11 (Ubuntu Noble):
status: Fix Committed → Fix Released
Vladimir Petko (vpa1977)
description: updated
Vladimir Petko (vpa1977)
Changed in alsa-ucm-conf (Ubuntu Noble):
status: New → In Progress
Changed in alsa-ucm-conf (Ubuntu Oracular):
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package alsa-ucm-conf - 1.2.12-1ubuntu1

---------------
alsa-ucm-conf (1.2.12-1ubuntu1) plucky; urgency=medium

  * Add support of micmute LED on AMD acppdmmach (LP: #2085067)
    - d/p/acppdmmach-add-support-for-ACP-7.0.patch
  * Add codec Realtek rt722 and rt1320 support (LP: #2086250)
    - d/p/0001-ucm2-sof-soundwire-add-RT1320-amplifier.patch
    - d/p/0002-rt722-add-mic-led-support.patch
  * Add soundwire support for AMD platforms (LP: #2089273)
    - d/p/0001-amd-soundwire-add-support-for-AMD-generic-legacy-mac.patch

 -- Chris Chiu <email address hidden> Fri, 06 Dec 2024 19:59:15 +0800

Changed in alsa-ucm-conf (Ubuntu Plucky):
status: New → Fix Released
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Leo, or anyone else affected,

Accepted alsa-ucm-conf into oracular-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/alsa-ucm-conf/1.2.10-1ubuntu6.3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-oracular to verification-done-oracular. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-oracular. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in alsa-ucm-conf (Ubuntu Oracular):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-oracular
Changed in alsa-ucm-conf (Ubuntu Noble):
status: In Progress → Fix Committed
tags: added: verification-needed-noble
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Leo, or anyone else affected,

Accepted alsa-ucm-conf into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/alsa-ucm-conf/1.2.10-1ubuntu5.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Leo Lin (0xff07) wrote :

Tested the noble, oracular, plucky -proposed package with:

1. Download the deb from -proposed and install
2. Test built-in speakers and headphone by the "Sound->Test..." in the gnome control center.
3. Test built-in mics and headphone mics by recording sound and replay.

For all -proposed packages the audio functions work normally.

tags: added: verification-done verification-done-noble verification-done-oracular
removed: verification-needed verification-needed-noble verification-needed-oracular
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package alsa-ucm-conf - 1.2.10-1ubuntu6.3

---------------
alsa-ucm-conf (1.2.10-1ubuntu6.3) oracular; urgency=medium

  * Add codec Realtek rt722 and rt1320 support (LP: #2086250)
    - d/p/0001-ucm2-soundwire-add-rt722-SDCA-device.patch
    - d/p/0002-sof-soundwire-fix-missing-MultiCodec1-initialization.patch
    - d/p/0003-ucm2-sof-soundwire-add-RT1320-amplifier.patch
    - d/p/0004-rt722-add-mic-led-support.patch
  * Add soundwire support for AMD platforms (LP: #2089273)
    - d/p/0001-amd-soundwire-add-support-for-AMD-generic-legacy-mac.patch

 -- Chris Chiu <email address hidden> Fri, 06 Dec 2024 19:42:26 +0800

Changed in alsa-ucm-conf (Ubuntu Oracular):
status: Fix Committed → Fix Released
Revision history for this message
Andreas Hasenack (ahasenack) wrote : Update Released

The verification of the Stable Release Update for alsa-ucm-conf has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package alsa-ucm-conf - 1.2.10-1ubuntu5.4

---------------
alsa-ucm-conf (1.2.10-1ubuntu5.4) noble; urgency=medium

  * Add codec Realtek rt722 and rt1320 support (LP: #2086250)
    - d/p/0001-ucm2-soundwire-add-rt722-SDCA-device.patch
    - d/p/0002-sof-soundwire-fix-missing-MultiCodec1-initialization.patch
    - d/p/0003-ucm2-sof-soundwire-add-RT1320-amplifier.patch
    - d/p/0004-rt722-add-mic-led-support.patch
  * Add soundwire support for AMD platforms (LP: #2089273)
    - d/p/0001-amd-soundwire-add-support-for-AMD-generic-legacy-mac.patch

 -- Chris Chiu <email address hidden> Tue, 03 Dec 2024 13:53:32 +0800

Changed in alsa-ucm-conf (Ubuntu Noble):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.