Skip to content

Commit

Permalink
ALSA: hda - Fix silent headphone output from Toshiba P200
Browse files Browse the repository at this point in the history
By some reason, Toshiba laptop doesn't like the EAPD turned up for the
headphone pin.  Add a fix up code to force to turn down EAPD for NID
0x15.

Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=569991

Cc: <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
tiwai committed Oct 20, 2012
1 parent f27a64f commit cb76640
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion sound/pci/hda/patch_realtek.c
Original file line number Diff line number Diff line change
Expand Up @@ -5677,17 +5677,34 @@ static const struct hda_verb alc268_beep_init_verbs[] = {

enum {
ALC268_FIXUP_INV_DMIC,
ALC268_FIXUP_HP_EAPD,
};

static const struct alc_fixup alc268_fixups[] = {
[ALC268_FIXUP_INV_DMIC] = {
.type = ALC_FIXUP_FUNC,
.v.func = alc_fixup_inv_dmic_0x12,
},
[ALC268_FIXUP_HP_EAPD] = {
.type = ALC_FIXUP_VERBS,
.v.verbs = (const struct hda_verb[]) {
{0x15, AC_VERB_SET_EAPD_BTLENABLE, 0},
{}
}
},
};

static const struct alc_model_fixup alc268_fixup_models[] = {
{.id = ALC268_FIXUP_INV_DMIC, .name = "inv-dmic"},
{.id = ALC268_FIXUP_HP_EAPD, .name = "hp-eapd"},
{}
};

static const struct snd_pci_quirk alc268_fixup_tbl[] = {
/* below is codec SSID since multiple Toshiba laptops have the
* same PCI SSID 1179:ff00
*/
SND_PCI_QUIRK(0x1179, 0xff06, "Toshiba P200", ALC268_FIXUP_HP_EAPD),
{}
};

Expand Down Expand Up @@ -5722,7 +5739,7 @@ static int patch_alc268(struct hda_codec *codec)

spec = codec->spec;

alc_pick_fixup(codec, alc268_fixup_models, NULL, alc268_fixups);
alc_pick_fixup(codec, alc268_fixup_models, alc268_fixup_tbl, alc268_fixups);
alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE);

/* automatic parse from the BIOS config */
Expand Down

0 comments on commit cb76640

Please sign in to comment.