Skip to content

Commit c8426b2

Browse files
committed
ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1
We've got a report about Acer Aspire E1 (PCI SSID 1025:0840) that loses the speaker output after resume. With the comparison of COEF dumps, it was identified that the COEF 0x0d bits 0x6000 corresponds to the speaker amp. This patch adds the specific quirk for the device to restore the COEF bits at the codec (re-)initialization. BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1183869 Cc: <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent 9c31957 commit c8426b2

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

sound/pci/hda/patch_realtek.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3927,6 +3927,15 @@ static void alc271_fixup_dmic(struct hda_codec *codec,
39273927
snd_hda_sequence_write(codec, verbs);
39283928
}
39293929

3930+
/* Fix the speaker amp after resume, etc */
3931+
static void alc269vb_fixup_aspire_e1_coef(struct hda_codec *codec,
3932+
const struct hda_fixup *fix,
3933+
int action)
3934+
{
3935+
if (action == HDA_FIXUP_ACT_INIT)
3936+
alc_update_coef_idx(codec, 0x0d, 0x6000, 0x6000);
3937+
}
3938+
39303939
static void alc269_fixup_pcm_44k(struct hda_codec *codec,
39313940
const struct hda_fixup *fix, int action)
39323941
{
@@ -6301,6 +6310,7 @@ enum {
63016310
ALC283_FIXUP_HEADSET_MIC,
63026311
ALC255_FIXUP_MIC_MUTE_LED,
63036312
ALC282_FIXUP_ASPIRE_V5_PINS,
6313+
ALC269VB_FIXUP_ASPIRE_E1_COEF,
63046314
ALC280_FIXUP_HP_GPIO4,
63056315
ALC286_FIXUP_HP_GPIO_LED,
63066316
ALC280_FIXUP_HP_GPIO2_MIC_HOTKEY,
@@ -6979,6 +6989,10 @@ static const struct hda_fixup alc269_fixups[] = {
69796989
{ },
69806990
},
69816991
},
6992+
[ALC269VB_FIXUP_ASPIRE_E1_COEF] = {
6993+
.type = HDA_FIXUP_FUNC,
6994+
.v.func = alc269vb_fixup_aspire_e1_coef,
6995+
},
69826996
[ALC280_FIXUP_HP_GPIO4] = {
69836997
.type = HDA_FIXUP_FUNC,
69846998
.v.func = alc280_fixup_hp_gpio4,
@@ -7901,6 +7915,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
79017915
SND_PCI_QUIRK(0x1025, 0x0762, "Acer Aspire E1-472", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
79027916
SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
79037917
SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
7918+
SND_PCI_QUIRK(0x1025, 0x0840, "Acer Aspire E1", ALC269VB_FIXUP_ASPIRE_E1_COEF),
79047919
SND_PCI_QUIRK(0x1025, 0x101c, "Acer Veriton N2510G", ALC269_FIXUP_LIFEBOOK),
79057920
SND_PCI_QUIRK(0x1025, 0x102b, "Acer Aspire C24-860", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
79067921
SND_PCI_QUIRK(0x1025, 0x1065, "Acer Aspire C20-820", ALC269VC_FIXUP_ACER_HEADSET_MIC),
@@ -8395,6 +8410,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
83958410
{.id = ALC283_FIXUP_HEADSET_MIC, .name = "alc283-headset"},
83968411
{.id = ALC255_FIXUP_MIC_MUTE_LED, .name = "alc255-dell-mute"},
83978412
{.id = ALC282_FIXUP_ASPIRE_V5_PINS, .name = "aspire-v5"},
8413+
{.id = ALC269VB_FIXUP_ASPIRE_E1_COEF, .name = "aspire-e1-coef"},
83988414
{.id = ALC280_FIXUP_HP_GPIO4, .name = "hp-gpio4"},
83998415
{.id = ALC286_FIXUP_HP_GPIO_LED, .name = "hp-gpio-led"},
84008416
{.id = ALC280_FIXUP_HP_GPIO2_MIC_HOTKEY, .name = "hp-gpio2-hotkey"},

0 commit comments

Comments
 (0)