Add SoundWire audio support for Surface Laptop 7 (Intel / Lunar Lake)#2147
Add SoundWire audio support for Surface Laptop 7 (Intel / Lunar Lake)#2147e5h5 wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds an out-of-tree kernel patch to enable SoundWire/ALSA SoC audio support for Microsoft Surface Laptop 7 (Intel/Lunar Lake) in the Arch kernel packaging set.
Changes:
- Add Surface Laptop 7 (Intel) SoundWire audio support patch (RT1320 amp + RT721 SDCA jack, plus topology naming adjustments).
- Wire the new patch into the Arch
PKGBUILDsources and checksums. - Duplicate the patch into versioned patch directories (
patches/6.18,patches/6.19).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| pkg/arch/kernel/PKGBUILD | Registers the new Surface Laptop 7 Intel sound patch in kernel package sources and sha256sums. |
| pkg/arch/kernel/0025-surface-laptop-7-intel-sound.patch | Kernel patch adding LNL Surface DMI matching, codec/link definitions, and stream naming adjustments. |
| patches/6.18/0025-surface-laptop-7-intel-sound.patch | Same kernel patch duplicated under the 6.18 patchset directory. |
| patches/6.19/0025-surface-laptop-7-intel-sound.patch | Same kernel patch duplicated under the 6.19 patchset directory. |
Comments suppressed due to low confidence (1)
pkg/arch/kernel/0025-surface-laptop-7-intel-sound.patch:1
- For AMP links when
append_dai_typeis false, the dailink/stream name no longer includes a link identifier (ffs(link_mask)-1). This can make names non-unique across multiple AMP links/endpoints and can cause ALSA card/dailink registration conflicts. Consider keeping the link id in the name (while still matching topology expectations), e.g. including the link index in the formatted string or continuing to use the existingsdw_stream_name[...]format that incorporates the link id.
From c8c4874ec046792b31dbb3c9dd1a8c8f0bbd3fbf Mon Sep 17 00:00:00 2001
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
7a326f8 to
9b19e40
Compare
9b19e40 to
7ee2699
Compare
… 7 (Intel) Add patch enabling speaker and headset jack audio on the Surface Laptop 7 Intel (Lunar Lake) platform. Devices covered: - Surface Laptop 7th Edition with Intel - Surface Laptop for Business 7th Edition with Intel Root cause: The ACPI DSDT declares two RT1320 devices (class_id 0x00 and 0x01). Only class_id=0x01 physically attaches on the SoundWire bus; class_id=0x00 is a ghost entry that never responds. Including it in the aggregated stream caused all DPN_PortCtrl register writes to fail, silencing the speaker. The fix uses rt1320_0_single_adr (non-aggregated, class_id=0x01 only) and adds the RT721 SDCA UAJ entry for the headset jack. Tested on Surface Laptop for Business 7th Edition (Intel Core Ultra 2, Lunar Lake), CachyOS (Arch-based), kernel 6.19.8-arch1.
7ee2699 to
5f48680
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (2)
pkg/arch/kernel/0025-surface-laptop-7-intel-sound.patch:1
- Kernel DMI matching is typically expressed via a
static const struct dmi_system_id ...[]match table rather than multipledmi_match()calls with hard-coded strings. Converting this to a DMI table (and checking withdmi_first_match()/dmi_check_system()) makes the match logic easier to extend and less error-prone as additional SL7 Intel product-name variants appear; please mirror the change in the duplicated patch copies as well.
From c8c4874ec046792b31dbb3c9dd1a8c8f0bbd3fbf Mon Sep 17 00:00:00 2001
pkg/arch/kernel/0025-surface-laptop-7-intel-sound.patch:1
- The stream-name selection logic now has three separate formatting paths, two of which use
sdw_stream_name[stream + 2]with the same arguments. To reduce duplication and make it easier to reason about future DAI types, consider factoring the commonsdw_stream_name[...]formatting into a shared branch (e.g., selecting the format string and whether to appendtype_strings[...]first), while keeping the AMP special-case explicit.
From c8c4874ec046792b31dbb3c9dd1a8c8f0bbd3fbf Mon Sep 17 00:00:00 2001
|
Hope to get a debian-kernel released soon (> debian-6.19.8-3) with sound card problem solved! |
Enables speaker and headset jack audio on the Surface Laptop 7 Intel (Lunar Lake) platform.
Devices covered:
Root cause: The ACPI DSDT declares two RT1320 devices (class_id 0x00
and 0x01). Only class_id=0x01 physically attaches on the SoundWire bus;
class_id=0x00 is a ghost entry that never responds. Including it in the
aggregated stream caused all DPN_PortCtrl register writes to fail,
silencing the speaker. The fix uses the existing
rt1320_0_single_adr(non-aggregated, class_id=0x01 only) and adds the RT721 SDCA UAJ entry
for the headset jack.
Tested on: Surface Laptop for Business 7th Edition (Intel Core Ultra 2,
Lunar Lake), CachyOS (Arch-based), kernel
6.19.8-arch1.Tested & working: speaker playback.
I haven't yet tested headset jack output and input but they should also work.
Partially resolves #1710
Based off of #1990