mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
ALSA: hda/realtek: Add quirk for IPASON SmartBook S1
From 2adfedabfdd9f5ec800462b1f1c0859a198e63aa Mon Sep 17 00:00:00 2001
From: Jianyu Zhou <997536907@qq.com>
Date: Thu, 17 Sep 2026 14:34:46 +0800
Subject: [PATCH v2] ALSA: hda/realtek: Add quirk for IPASON SmartBook S1
The internal speaker of the IPASON SmartBook S1 (an Emdoor ODM laptop)
stays silent under Linux, while the Bluetooth audio and the headset
output work fine. The same machine plays sound under Windows with the
vendor driver, so the hardware and the amplifier are known good.
The BIOS reports the pin default of the actual internal speaker pin
(NID 0x1b) as 0x411111f0, i.e. the default association 0xf, which means
"unconnected". The pin parser therefore drops that node already at the
pin-configuration time, hence no mixer control is ever created for it
and the pin is never driven, no matter how the output pin 0x14 is set
up. Enabling 0x1b makes the speaker work immediately.
The existing ALC256_FIXUP_HONOR_MRB_XXX_M1020_AUDIO quirk makes the
speaker work, too, but it additionally rewrites the pins 0x14, 0x19 and
0x1a with Honor-specific values, which creates a bogus "Dock Mic" device
that does not exist on this hardware. Add a minimal fixup that only
enables 0x1b as the internal speaker. Touching 0x14 is not needed:
with the pin configuration overridden at runtime, both keeping its BIOS
value (0x90170110) and disabling it (0x411111f0) leave the speaker
working, so 0x1b alone decides the output.
Codec: Realtek ALC256 (0x10ec0256), SSID 0x2782:0x0206
BIOS pincfg: 0x14 0x90170110 0x18 0x411111f0 0x19 0x02a19040
0x1a 0x411111f0 0x1b 0x411111f0 0x1d 0x4067b945
0x1e 0x411111f0 0x21 0x02214020
Tested on 7.2.0-1-MANJARO and 6.18.45-1-MANJARO, with both the SOF and
the legacy HDA driver paths.
Signed-off-by: Jianyu Zhou <997536907@qq.com>
Link: https://patch.msgid.link/tencent_3AB9214FB134949B31E9C471BC3669117F05@qq.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
95b2e0361c
commit
e0cb0570d0
|
|
@ -4384,6 +4384,7 @@ enum {
|
|||
ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN_HEADSET,
|
||||
ALC285_LENOVO_DAC_RENAME,
|
||||
ALC287_FIXUP_YOGA9_SPEAKER2_TO_DAC1,
|
||||
ALC256_FIXUP_IPASON_SMARTBOOK_S1,
|
||||
};
|
||||
|
||||
/* A special fixup for Lenovo C940 and Yoga Duet 7;
|
||||
|
|
@ -7136,6 +7137,13 @@ static const struct hda_fixup alc269_fixups[] = {
|
|||
.chained = true,
|
||||
.chain_id = ALC287_FIXUP_TXNW2781_I2C,
|
||||
},
|
||||
[ALC256_FIXUP_IPASON_SMARTBOOK_S1] = {
|
||||
.type = HDA_FIXUP_PINS,
|
||||
.v.pins = (const struct hda_pintbl[]) {
|
||||
{ 0x1b, 0x90170110 }, /* the real internal speaker */
|
||||
{ }
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
static const struct hda_quirk alc269_fixup_tbl[] = {
|
||||
|
|
@ -8354,6 +8362,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
|
|||
SND_PCI_QUIRK(0x2014, 0x800a, "Positivo ARN50", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
|
||||
SND_PCI_QUIRK(0x2039, 0x0001, "Inspur S14-G1", ALC295_FIXUP_CHROME_BOOK),
|
||||
SND_PCI_QUIRK(0x2145, 0x0001, "Star Labs StarFighter", ALC233_FIXUP_STARLABS_STARFIGHTER),
|
||||
SND_PCI_QUIRK(0x2782, 0x0206, "IPASON SmartBook S1", ALC256_FIXUP_IPASON_SMARTBOOK_S1),
|
||||
SND_PCI_QUIRK(0x2782, 0x0214, "VAIO VJFE-CL", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
|
||||
SND_PCI_QUIRK(0x2782, 0x0228, "Infinix ZERO BOOK 13", ALC269VB_FIXUP_INFINIX_ZERO_BOOK_13),
|
||||
SND_PCI_QUIRK(0x2782, 0x0232, "CHUWI CoreBook XPro", ALC269VB_FIXUP_CHUWI_COREBOOK_XPRO),
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user