mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-14 12:49:08 +00:00
ALSA: hda/realtek - Independent of model for HP
Create single model for HP. The headset jack module was difference between other chrome book. It need to manual control Mic jack detect. Chrome OS loaded driver by models. Remove old assigned fixup table from ALC269 fixup list entry. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
d59915d065
commit
0202e99c69
@ -3602,11 +3602,6 @@ static void alc283_hp_automute_hook(struct hda_codec *codec,
|
||||
vref);
|
||||
}
|
||||
|
||||
static void alc283_chromebook_caps(struct hda_codec *codec)
|
||||
{
|
||||
snd_hda_override_wcaps(codec, 0x03, 0);
|
||||
}
|
||||
|
||||
static void alc283_fixup_chromebook(struct hda_codec *codec,
|
||||
const struct hda_fixup *fix, int action)
|
||||
{
|
||||
@ -3615,19 +3610,34 @@ static void alc283_fixup_chromebook(struct hda_codec *codec,
|
||||
|
||||
switch (action) {
|
||||
case HDA_FIXUP_ACT_PRE_PROBE:
|
||||
alc283_chromebook_caps(codec);
|
||||
snd_hda_override_wcaps(codec, 0x03, 0);
|
||||
/* Disable AA-loopback as it causes white noise */
|
||||
spec->gen.mixer_nid = 0;
|
||||
spec->gen.hp_automute_hook = alc283_hp_automute_hook;
|
||||
break;
|
||||
case HDA_FIXUP_ACT_INIT:
|
||||
/* Enable Line1 input control by verb */
|
||||
val = alc_read_coef_idx(codec, 0x1a);
|
||||
alc_write_coef_idx(codec, 0x1a, val | (1 << 4));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void alc283_fixup_sense_combo_jack(struct hda_codec *codec,
|
||||
const struct hda_fixup *fix, int action)
|
||||
{
|
||||
struct alc_spec *spec = codec->spec;
|
||||
int val;
|
||||
|
||||
switch (action) {
|
||||
case HDA_FIXUP_ACT_PRE_PROBE:
|
||||
spec->gen.hp_automute_hook = alc283_hp_automute_hook;
|
||||
break;
|
||||
case HDA_FIXUP_ACT_INIT:
|
||||
/* MIC2-VREF control */
|
||||
/* Set to manual mode */
|
||||
val = alc_read_coef_idx(codec, 0x06);
|
||||
alc_write_coef_idx(codec, 0x06, val & ~0x000c);
|
||||
/* Enable Line1 input control by verb */
|
||||
val = alc_read_coef_idx(codec, 0x1a);
|
||||
alc_write_coef_idx(codec, 0x1a, val | (1 << 4));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -3823,6 +3833,7 @@ enum {
|
||||
ALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED,
|
||||
ALC269VB_FIXUP_ORDISSIMO_EVE2,
|
||||
ALC283_FIXUP_CHROME_BOOK,
|
||||
ALC283_FIXUP_SENSE_COMBO_JACK,
|
||||
ALC282_FIXUP_ASUS_TX300,
|
||||
ALC283_FIXUP_INT_MIC,
|
||||
ALC290_FIXUP_MONO_SPEAKERS,
|
||||
@ -4122,6 +4133,12 @@ static const struct hda_fixup alc269_fixups[] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc283_fixup_chromebook,
|
||||
},
|
||||
[ALC283_FIXUP_SENSE_COMBO_JACK] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc283_fixup_sense_combo_jack,
|
||||
.chained = true,
|
||||
.chain_id = ALC283_FIXUP_CHROME_BOOK,
|
||||
},
|
||||
[ALC282_FIXUP_ASUS_TX300] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc282_fixup_asus_tx300,
|
||||
@ -4213,7 +4230,6 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
||||
SND_PCI_QUIRK(0x103c, 0x1973, "HP Pavilion", ALC269_FIXUP_HP_MUTE_LED_MIC1),
|
||||
SND_PCI_QUIRK(0x103c, 0x1983, "HP Pavilion", ALC269_FIXUP_HP_MUTE_LED_MIC1),
|
||||
SND_PCI_QUIRK(0x103c, 0x218b, "HP", ALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED),
|
||||
SND_PCI_QUIRK(0x103c, 0x21ed, "HP Falco Chromebook", ALC283_FIXUP_CHROME_BOOK),
|
||||
SND_PCI_QUIRK_VENDOR(0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED),
|
||||
SND_PCI_QUIRK(0x1043, 0x103f, "ASUS TX300", ALC282_FIXUP_ASUS_TX300),
|
||||
SND_PCI_QUIRK(0x1043, 0x106d, "Asus K53BE", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
|
||||
@ -4321,6 +4337,8 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
|
||||
{.id = ALC269_FIXUP_HP_GPIO_LED, .name = "hp-gpio-led"},
|
||||
{.id = ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, .name = "dell-headset-multi"},
|
||||
{.id = ALC269_FIXUP_DELL2_MIC_NO_PRESENCE, .name = "dell-headset-dock"},
|
||||
{.id = ALC283_FIXUP_CHROME_BOOK, .name = "alc283-chrome"},
|
||||
{.id = ALC283_FIXUP_SENSE_COMBO_JACK, .name = "alc283-sense-combo"},
|
||||
{}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user