Skip to content

Commit f2b2bd5

Browse files
tiwaijfvogel
authored andcommitted
ALSA: hda/realtek: Workaround for resume on Dell Venue 11 Pro 7130
[ Upstream commit 8c2fa44 ] It was reported that the headphone output on Dell Venue 11 Pro 7130 becomes mono after PM resume. The cause seems to be the BIOS setting up the codec COEF 0x0d bit 0x40 wrongly by some reason, and restoring the original value 0x2800 fixes the problem. This patch adds the quirk entry to perform the COEF restore. Cc: <[email protected]> Link: https://bugzilla.kernel.org/show_bug.cgi?id=219697 Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1235686 Link: https://patch.msgid.link/[email protected] Signed-off-by: Takashi Iwai <[email protected]> Stable-dep-of: b5458fc ("ALSA: hda/realtek - Fixed ASUS platform headset Mic issue") Signed-off-by: Sasha Levin <[email protected]> (cherry picked from commit c01f3741d12d15b2114ee209ccfd02934356cd4f) Signed-off-by: Jack Vogel <[email protected]>
1 parent cd6d0f7 commit f2b2bd5

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
@@ -7597,6 +7597,16 @@ static void alc287_fixup_lenovo_thinkpad_with_alc1318(struct hda_codec *codec,
75977597
spec->gen.pcm_playback_hook = alc287_alc1318_playback_pcm_hook;
75987598
}
75997599

7600+
/*
7601+
* Clear COEF 0x0d (PCBEEP passthrough) bit 0x40 where BIOS sets it wrongly
7602+
* at PM resume
7603+
*/
7604+
static void alc283_fixup_dell_hp_resume(struct hda_codec *codec,
7605+
const struct hda_fixup *fix, int action)
7606+
{
7607+
if (action == HDA_FIXUP_ACT_INIT)
7608+
alc_write_coef_idx(codec, 0xd, 0x2800);
7609+
}
76007610

76017611
enum {
76027612
ALC269_FIXUP_GPIO2,
@@ -7899,6 +7909,7 @@ enum {
78997909
ALC269_FIXUP_VAIO_VJFH52_MIC_NO_PRESENCE,
79007910
ALC233_FIXUP_MEDION_MTL_SPK,
79017911
ALC294_FIXUP_BASS_SPEAKER_15,
7912+
ALC283_FIXUP_DELL_HP_RESUME,
79027913
};
79037914

79047915
/* A special fixup for Lenovo C940 and Yoga Duet 7;
@@ -10237,6 +10248,10 @@ static const struct hda_fixup alc269_fixups[] = {
1023710248
.type = HDA_FIXUP_FUNC,
1023810249
.v.func = alc294_fixup_bass_speaker_15,
1023910250
},
10251+
[ALC283_FIXUP_DELL_HP_RESUME] = {
10252+
.type = HDA_FIXUP_FUNC,
10253+
.v.func = alc283_fixup_dell_hp_resume,
10254+
},
1024010255
};
1024110256

1024210257
static const struct hda_quirk alc269_fixup_tbl[] = {
@@ -10297,6 +10312,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1029710312
SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
1029810313
SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
1029910314
SND_PCI_QUIRK(0x1028, 0x05f6, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
10315+
SND_PCI_QUIRK(0x1028, 0x0604, "Dell Venue 11 Pro 7130", ALC283_FIXUP_DELL_HP_RESUME),
1030010316
SND_PCI_QUIRK(0x1028, 0x0615, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK),
1030110317
SND_PCI_QUIRK(0x1028, 0x0616, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK),
1030210318
SND_PCI_QUIRK(0x1028, 0x062c, "Dell Latitude E5550", ALC292_FIXUP_DELL_E7X),

0 commit comments

Comments
 (0)