All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: "Christopher Höner" <christopher-hoener@web.de>
Cc: linux-kernel@vger.kernel.org, linux-sound@vger.kernel.org,
	perex@perex.cz, tiwai@suse.com, tiwai@suse.de
Subject: Re: [PATCH v4] ALSA: hda/realtek: Enable internal speakers on Razer Blade 16 (2025)
Date: Mon, 29 Jun 2026 12:29:19 +0200	[thread overview]
Message-ID: <87zf0dprls.wl-tiwai@suse.de> (raw)
In-Reply-To: <20260623191436.6605-1-christopher-hoener@web.de>

On Tue, 23 Jun 2026 21:14:36 +0200,
Christopher Höner wrote:
> 
> 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>

Applied to for-next branch now.  Thanks.


Takashi

  reply	other threads:[~2026-06-29 10:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-20 14:41 [PATCH] ALSA: hda/realtek: Enable internal speakers on Razer Blade 16 (2025) Christopher Höner
2026-06-21 20:57 ` [PATCH v2] " Christopher Höner
2026-06-22  8:55   ` Takashi Iwai
2026-06-22 17:43     ` Christopher Höner
2026-06-23 10:42       ` Takashi Iwai
2026-06-23 19:02         ` [PATCH v3] " Christopher Höner
2026-06-26  5:48           ` Takashi Iwai
2026-06-23 19:14       ` [PATCH v4] " Christopher Höner
2026-06-29 10:29         ` Takashi Iwai [this message]
2026-06-22 17:51   ` [PATCH v3] " Christopher Höner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zf0dprls.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=christopher-hoener@web.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.