forked from Minki/linux
ALSA: hda - remove "Mic Jack Mode" for headset jacks (Latitude Exx30)
Dell Latitude 5x30 and 6x30 series of machines all have a single 4-pin headset jack. Enabling line in mode for such jack is very confusing (you would only get mono input, and would have to use non-standard adapters), so remove the option by default. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
5c2e4e0ab6
commit
8d032a8f65
@ -104,6 +104,7 @@ enum {
|
||||
STAC_92HD83XXX_HP_LED,
|
||||
STAC_92HD83XXX_HP_INV_LED,
|
||||
STAC_92HD83XXX_HP_MIC_LED,
|
||||
STAC_92HD83XXX_HEADSET_JACK,
|
||||
STAC_92HD83XXX_MODELS
|
||||
};
|
||||
|
||||
@ -204,6 +205,7 @@ struct sigmatel_spec {
|
||||
unsigned int check_volume_offset:1;
|
||||
unsigned int auto_mic:1;
|
||||
unsigned int linear_tone_beep:1;
|
||||
unsigned int headset_jack:1; /* 4-pin headset jack (hp + mono mic) */
|
||||
|
||||
/* gpio lines */
|
||||
unsigned int eapd_mask;
|
||||
@ -1684,6 +1686,7 @@ static const char * const stac92hd83xxx_models[STAC_92HD83XXX_MODELS] = {
|
||||
[STAC_92HD83XXX_HP_LED] = "hp-led",
|
||||
[STAC_92HD83XXX_HP_INV_LED] = "hp-inv-led",
|
||||
[STAC_92HD83XXX_HP_MIC_LED] = "hp-mic-led",
|
||||
[STAC_92HD83XXX_HEADSET_JACK] = "headset-jack",
|
||||
};
|
||||
|
||||
static const struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = {
|
||||
@ -1694,6 +1697,24 @@ static const struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = {
|
||||
"DFI LanParty", STAC_92HD83XXX_REF),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02ba,
|
||||
"unknown Dell", STAC_DELL_S14),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0532,
|
||||
"Dell Latitude E6230", STAC_92HD83XXX_HEADSET_JACK),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0533,
|
||||
"Dell Latitude E6330", STAC_92HD83XXX_HEADSET_JACK),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0534,
|
||||
"Dell Latitude E6430", STAC_92HD83XXX_HEADSET_JACK),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0535,
|
||||
"Dell Latitude E6530", STAC_92HD83XXX_HEADSET_JACK),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x053c,
|
||||
"Dell Latitude E5430", STAC_92HD83XXX_HEADSET_JACK),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x053d,
|
||||
"Dell Latitude E5530", STAC_92HD83XXX_HEADSET_JACK),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0549,
|
||||
"Dell Latitude E5430", STAC_92HD83XXX_HEADSET_JACK),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x057d,
|
||||
"Dell Latitude E6430s", STAC_92HD83XXX_HEADSET_JACK),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0584,
|
||||
"Dell Latitude E6430U", STAC_92HD83XXX_HEADSET_JACK),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x1028,
|
||||
"Dell Vostro 3500", STAC_DELL_VOSTRO_3500),
|
||||
SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1656,
|
||||
@ -2855,6 +2876,9 @@ static inline int stac92xx_add_jack_mode_control(struct hda_codec *codec,
|
||||
char name[22];
|
||||
|
||||
if (snd_hda_get_input_pin_attr(def_conf) != INPUT_PIN_ATTR_INT) {
|
||||
if (spec->headset_jack && snd_hda_get_input_pin_attr(def_conf)
|
||||
!= INPUT_PIN_ATTR_DOCK)
|
||||
return 0;
|
||||
if (snd_hda_get_default_vref(codec, nid) == AC_PINCTL_VREF_GRD
|
||||
&& nid == spec->line_switch)
|
||||
control = STAC_CTL_WIDGET_IO_SWITCH;
|
||||
@ -5626,6 +5650,9 @@ again:
|
||||
case STAC_92HD83XXX_HP_MIC_LED:
|
||||
spec->mic_mute_led_gpio = 0x08; /* GPIO3 */
|
||||
break;
|
||||
case STAC_92HD83XXX_HEADSET_JACK:
|
||||
spec->headset_jack = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
if (find_mute_led_cfg(codec, default_polarity))
|
||||
|
Loading…
Reference in New Issue
Block a user