summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/stackcollapse.py
diff options
context:
space:
mode:
authorChristopher Höner <christopher-hoener@web.de>2026-06-23 21:14:36 +0200
committerTakashi Iwai <tiwai@suse.de>2026-06-29 12:28:40 +0200
commit961d9f98da0d80e9c7895ffa98ce4c1c38ea48fc (patch)
treea5bfee5292ede7606c52aa961aab8fc1dbd5e8c8 /tools/perf/scripts/python/stackcollapse.py
parentf199040982eac619bf9b3231af284dbf2e74f179 (diff)
ALSA: hda/realtek: Enable internal speakers on Razer Blade 16 (2025)
On the Razer Blade 16 (2025) (Realtek ALC298, PCI SSID 1a58:300e) the internal speakers are driven through an external smart amplifier whose crossover, voicing and protection live in a DSP reached over a vendor coef mailbox on NID 0x20. Both speaker pins are fed from one DAC through a mixer and the amplifier does the crossover. The BIOS leaves the tweeter pin (NID 0x14) disabled (default config 0x411111f0), so the tweeters are not exposed and the amplifier is never programmed for this machine under Linux. Add a fixup for the machine that: - re-exposes the tweeter pin (NID 0x14) as an internal speaker in the same association (2) as the woofer (NID 0x17), so the controls come out as "Speaker"/"Bass Speaker", with auto-mute on headphone insertion; - pins every output to a fixed converter via preferred_dacs so the routing does not depend on the generic parser's DAC-allocation heuristics: both speaker pins share DAC 0x03 (the only converter that drives the woofer on this machine) through the mixer, while the headphone (NID 0x21) keeps DAC 0x02. Without a fixed assignment the parser brings up only one speaker pin and leaves the other silent; - wakes the external amp, programs its DSP over the NID-0x20 mailbox at init (boot and resume) and parks it; it is woken again for playback and parked afterwards from a pcm_playback_hook, like the existing Samsung and LG Gram amplifier fixups. The DSP sequence was obtained by capturing the Windows driver's HD-audio traffic via QEMU/VFIO passthrough of the controller and reducing it to the NID-0x20 writes this machine needs; everything else the parser rebuilds. The captured tables are large, so the programming and the fixup live in a separate file under sound/hda/codecs/helpers/ that the codec driver includes. Signed-off-by: Christopher Höner <christopher-hoener@web.de> Link: https://patch.msgid.link/20260623191436.6605-1-christopher-hoener@web.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions