From nobody Fri Apr 17 13:19:53 2026 Received: from mail-yx1-f45.google.com (mail-yx1-f45.google.com [74.125.224.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2675E309F1F for ; Wed, 18 Feb 2026 20:37:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=74.125.224.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771447041; cv=pass; b=pZ8fMj1b3jrmUWmKbco1nkjl2poC2I+zu/8dG8fsaCdORB3t2ms5CnMGBmBgfOofto0IOJ/wxp58kikJg8NCQQQEqx/tAGnVP9uc0EemLd9wZEEhwi+sSin5sYzvzkOx5VCaiza+c8JMUqSVc8fQ0JMQ+HGiJefeMAV22TSN4iA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771447041; c=relaxed/simple; bh=aYqvMTjChUosLQj24AHzjkncE2q8062Pm+aQwdld4OA=; h=MIME-Version:From:Date:Message-ID:Subject:To:Cc:Content-Type; b=egCT5H/gjp9qWrvwXjn/iFQ+S6vsKjN547w2aMJf2k0f96oh7mB4RRukPXZmVgUnDQb3yFqmqXXLjO+BmBnY2B0f5C+p22ck4StlNZtrHas63a0Nu/3CWZvMMJ/WHWBsj4cUBMgAMFOLi4IRlBVND2OwWFseznmbTuvt8EfQOZY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=starlabs.systems; spf=pass smtp.mailfrom=starlabs.systems; dkim=pass (2048-bit key) header.d=starlabs-systems.20230601.gappssmtp.com header.i=@starlabs-systems.20230601.gappssmtp.com header.b=FS1QK6O9; arc=pass smtp.client-ip=74.125.224.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=starlabs.systems Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=starlabs.systems Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=starlabs-systems.20230601.gappssmtp.com header.i=@starlabs-systems.20230601.gappssmtp.com header.b="FS1QK6O9" Received: by mail-yx1-f45.google.com with SMTP id 956f58d0204a3-649db2b6cdcso180574d50.0 for ; Wed, 18 Feb 2026 12:37:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771447037; cv=none; d=google.com; s=arc-20240605; b=fomwfYPs3OnPPbdITLdw12+IHZlY+5JkKmwZbtKVQxTK7h6P64iDVapTnvFVnkSTzl F2aFLs5VPfYTx31J7ASwQwds8Y2RR7N2MZI4EYTN820iqEz6H2r24z5urW1vgm5WHQmy UawWN3GSa4PLq49EO/btw3pYQwxTarj8robnljmj/y5SGiL+nO+C8r46s5QoM7f3kUML 6lunwvUsxzjJFiMPH5ABDI6M0NiK2zGHImk4KYegOAJVEs4AAoIet99qSHx+MzXQEVvR OnRys6JFD6CjTl6vROvjOfkqVdk97Oo6Mozt3lSyqiL9gbQQcTemp94tT1ZB/OA3nWQY sR2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:mime-version:dkim-signature; bh=Qj4JjrmCwnu2VpA6QRKnw2s/8HTQh7dMLUnqktW/KrE=; fh=4rRZKDXQq63kVD6GqQXJz9yJg0Io3kx09R5e7K5up5g=; b=MCIrl6girDbdXesUTXN8tvPHajuCyd3jdPZYRFbmr+pFNfhoBzgMVSYerNKuiZ7vhC FGyc0bLi8WU/oItl9DHYqyv2mcbE9YwhMZBzp83GAeE//Abk7UN4CCNBfKSm0z6M6H8F 3EGkKBRDXYjVHJWzv4r5PuyIF3cepJr2A4V5VPCfynazUefdHVkvaKkNdQeqOCySqr7Q c6wv4b0Qe2exr4X8usFv0+BsohUBvAFADbsvBQTsmf7E4WoIMt+kwLpvDiW4KubLpcQ5 Lr+5L2aHr609pq4If/s6VBMLEF9Xgl4yggVKrbbe4KX0GADolnAPc7abFqxUT66oDQNm HpZg==; darn=vger.kernel.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=starlabs-systems.20230601.gappssmtp.com; s=20230601; t=1771447037; x=1772051837; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=Qj4JjrmCwnu2VpA6QRKnw2s/8HTQh7dMLUnqktW/KrE=; b=FS1QK6O9kAxU+7ZLI0PK4dTEg/3QoP/2mFMZgG2aIwNvPGJCSWAPEJR7fkHHXyoDd3 FgQ6Zl5nB5AFoDv1rDWZpdGTy/witas1tmCeE2cwYJisoXTRp64ez5o/bAKEWkLKDNfD NbPdzO8s/1nVNmEUyouEVJMB4dcswdMmdHLHeWwleBWbWze3AqZO4bnApjMTxN6E1VWI xpmOxZjaxk0g7HOrj4DnFbdDDmzU7EiWCHAEjoYIS27jCgLUoEnWrhfV9h0oW1bsVBjL bFpJ/y3nyYyeJLitFWXKZor44Odmq9z/W3MxcGp4Cccf/aA/QAX1Ind/6YpQwk5soKd+ mBpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771447037; x=1772051837; h=cc:to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Qj4JjrmCwnu2VpA6QRKnw2s/8HTQh7dMLUnqktW/KrE=; b=T4LBQkPUbHZjyzJ0H0a/aJGeaYNEyYVtLc2W/LqjCkmlRsyDxo5AS9XonnsYG1hdnf V6EMByX7ItqKdyYntUSqzA3o8xUTfYiuQG2ZmBZfR6rnjtIFEoa+xwOs9UiKKwgl3faI c6DoeEoVnErpn4P6rJ8OD22XXV9ONFmalK5uJW9AG6PxCKwFaqdK95w860qI2br0enc0 MArC5CA9dtyZL70+JrmEhlNwXZ/Lpf7w8sqPY51rVUoAhlMrMakkwgSQ2kY4VqoRMO+q 1DBxaa59NEWo7zMAmQ4i/bXEE4aywzwT3sX+O2xjcjMurcP5zXQbVKvrHxR5q3Qk7gkS 0JIQ== X-Gm-Message-State: AOJu0Yyfbw28I+mAfrf7nTgcj73EkkBNhifyvDOqTdbN215fTtrKxkNQ TS2aCSoiBDANQ3vLM2eR1VUcKqThO2fdk/KGzBGL0+uLztYk3HGudo6M+NJN5Yarf14PUqJHati ZNjw5eGDbzVSoGs9Jl9UFBvjm0fHJxpkHm2fxYukrPsxPrPX0Svo= X-Gm-Gg: AZuq6aL9Ph1Wj4jAnwxYVxCQilYPGtliiqXri9vvdf5ifX00L7j2othDQKDZCouOi0a jqfUJz/TGYW2O5XL/0//1BPnEXFbl9+7OLeCm0yZj2+kFiyEYco4MrI6JxEbF/To+V6M+qiNCKR BLg85WJSjP1NEwW1sGt4ui/vJkcP6MPCMpZpZliPlpvEyhUcdsJeqzLt9owzdXbLVvf6k1Evs99 OZcQMJJkbOOLwuBfVPX/3EylKi3dRoFceQ+pZTeHt+9zXReBZtBpY4tzQm3pSgdXNS2MsAuPotD WwWn7l+SmsS+93PNzeW+uD3U45vnrSoV4Si77Q== Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Received: by 2002:a05:690e:4189:b0:649:e440:26a5 with SMTP id 956f58d0204a3-64c21a43d2dmr12653986d50.15.1771447036778; Wed, 18 Feb 2026 12:37:16 -0800 (PST) Received: from 239600423368 named unknown by gmailapi.google.com with HTTPREST; Wed, 18 Feb 2026 15:37:16 -0500 Received: from 239600423368 named unknown by gmailapi.google.com with HTTPREST; Wed, 18 Feb 2026 15:37:16 -0500 From: Sean Rhodes Date: Wed, 18 Feb 2026 15:37:16 -0500 X-Gm-Features: AaiRm53zywLMN3CBfTRrjyxmHfDOVBTd6CQmdI9w3iNFjHcPtb0hS3sD_1fhtPE Message-ID: Subject: [PATCH v4] ALSA: hda/realtek: Fix speaker pop on Star Labs StarFighter To: linux-kernel@vger.kernel.org Cc: Jaroslav Kysela , Takashi Iwai , Stefan Binding , Kailang Yang , Chris Chiu , Edip Hazuri , linux-sound@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On Star Labs StarFighter (Realtek ALC233/235), the internal speakers can emit an audible pop when entering or leaving runtime suspend. Mute the speaker output paths via snd_hda_gen_shutup_speakers() in the Realtek shutup callback before the codec is powered down. This is enough to avoid the pop without special EAPD handling. Test results: - runtime PM pop fixed - still reaches D3 (PCI 0000:00:1f.3 power_state=3DD3hot) - does not address pops on cold boot (G3 exit) or around display manager start/shutdown journalctl -k (boot): - snd_hda_codec_alc269 hdaudioC0D0: ALC233: picked fixup for PCI SSID 7017:2014 - snd_hda_codec_alc269 hdaudioC0D0: autoconfig for ALC233: line_outs=3D1 (0x1b/0x0/0x0/0x0/0x0) type:speaker Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Stefan Binding Cc: Kailang Yang Cc: Chris Chiu Cc: Edip Hazuri Cc: linux-sound@vger.kernel.org Cc: linux-kernel@vger.kernel.org Suggested-by: Takashi Iwai Tested-by: Sean Rhodes Signed-off-by: Sean Rhodes --- sound/hda/codecs/realtek/alc269.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c index b66965a52107..00a92da0ba05 100644 --- a/sound/hda/codecs/realtek/alc269.c +++ b/sound/hda/codecs/realtek/alc269.c @@ -1017,6 +1017,24 @@ static int alc269_resume(struct hda_codec *codec) return 0; } +#define STARLABS_STARFIGHTER_SHUTUP_DELAY_MS 30 + +static void starlabs_starfighter_shutup(struct hda_codec *codec) +{ + if (snd_hda_gen_shutup_speakers(codec)) + msleep(STARLABS_STARFIGHTER_SHUTUP_DELAY_MS); +} + +static void alc233_fixup_starlabs_starfighter(struct hda_codec *codec, + const struct hda_fixup *fix, + int action) +{ + struct alc_spec *spec =3D codec->spec; + + if (action =3D=3D HDA_FIXUP_ACT_PRE_PROBE) + spec->shutup =3D starlabs_starfighter_shutup; +} + static void alc269_fixup_pincfg_no_hp_to_lineout(struct hda_codec *codec, const struct hda_fixup *fix, int action) { @@ -3802,6 +3820,7 @@ enum { ALC245_FIXUP_CLEVO_NOISY_MIC, ALC269_FIXUP_VAIO_VJFH52_MIC_NO_PRESENCE, ALC233_FIXUP_MEDION_MTL_SPK, + ALC233_FIXUP_STARLABS_STARFIGHTER, ALC294_FIXUP_BASS_SPEAKER_15, ALC283_FIXUP_DELL_HP_RESUME, ALC294_FIXUP_ASUS_CS35L41_SPI_2, @@ -6238,6 +6257,10 @@ static const struct hda_fixup alc269_fixups[] =3D { { } }, }, + [ALC233_FIXUP_STARLABS_STARFIGHTER] =3D { + .type =3D HDA_FIXUP_FUNC, + .v.func =3D alc233_fixup_starlabs_starfighter, + }, [ALC294_FIXUP_BASS_SPEAKER_15] =3D { .type =3D HDA_FIXUP_FUNC, .v.func =3D alc294_fixup_bass_speaker_15, @@ -7370,6 +7393,7 @@ static const struct hda_quirk alc269_fixup_tbl[] =3D { SND_PCI_QUIRK(0x2782, 0x1705, "MEDION E15433", ALC269VC_FIXUP_INFINIX_Y4_= MAX), SND_PCI_QUIRK(0x2782, 0x1707, "Vaio VJFE-ADL", ALC298_FIXUP_SPK_VOLUME), SND_PCI_QUIRK(0x2782, 0x4900, "MEDION E15443", ALC233_FIXUP_MEDION_MTL_SP= K), + SND_PCI_QUIRK(0x7017, 0x2014, "Star Labs StarFighter", ALC233_FIXUP_STARLABS_STARFIGHTER), SND_PCI_QUIRK(0x8086, 0x2074, "Intel NUC 8", ALC233_FIXUP_INTEL_NUC8_DMIC= ), SND_PCI_QUIRK(0x8086, 0x2080, "Intel NUC 8 Rugged", ALC256_FIXUP_INTEL_NUC8_RUGGED), SND_PCI_QUIRK(0x8086, 0x2081, "Intel NUC 10", ALC256_FIXUP_INTEL_NUC10), @@ -7466,6 +7490,7 @@ static const struct hda_model_fixup alc269_fixup_models[] =3D { {.id =3D ALC298_FIXUP_TPT470_DOCK_FIX, .name =3D "tpt470-dock-fix"}, {.id =3D ALC298_FIXUP_TPT470_DOCK, .name =3D "tpt470-dock"}, {.id =3D ALC233_FIXUP_LENOVO_MULTI_CODECS, .name =3D "dual-codecs"}, + {.id =3D ALC233_FIXUP_STARLABS_STARFIGHTER, .name =3D "starlabs-starfight= er"}, {.id =3D ALC700_FIXUP_INTEL_REFERENCE, .name =3D "alc700-ref"}, {.id =3D ALC269_FIXUP_SONY_VAIO, .name =3D "vaio"}, {.id =3D ALC269_FIXUP_DELL_M101Z, .name =3D "dell-m101z"},