diff options
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 24 | 
1 files changed, 22 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 8253b4eeb6a..f7397ad02a0 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -2598,8 +2598,10 @@ static const char *alc_get_line_out_pfx(struct alc_spec *spec, int ch,  			return "PCM";  		break;  	} -	if (snd_BUG_ON(ch >= ARRAY_SIZE(channel_name))) +	if (ch >= ARRAY_SIZE(channel_name)) { +		snd_BUG();  		return "PCM"; +	}  	return channel_name[ch];  } @@ -5675,6 +5677,7 @@ 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[] = { @@ -5682,10 +5685,26 @@ static const struct alc_fixup alc268_fixups[] = {  		.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),  	{}  }; @@ -5720,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 */ @@ -6186,6 +6205,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {  	SND_PCI_QUIRK(0x17aa, 0x21e9, "Thinkpad Edge 15", ALC269_FIXUP_SKU_IGNORE),  	SND_PCI_QUIRK(0x17aa, 0x21f6, "Thinkpad T530", ALC269_FIXUP_LENOVO_DOCK),  	SND_PCI_QUIRK(0x17aa, 0x21fa, "Thinkpad X230", ALC269_FIXUP_LENOVO_DOCK), +	SND_PCI_QUIRK(0x17aa, 0x21f3, "Thinkpad T430", ALC269_FIXUP_LENOVO_DOCK),  	SND_PCI_QUIRK(0x17aa, 0x21fb, "Thinkpad T430s", ALC269_FIXUP_LENOVO_DOCK),  	SND_PCI_QUIRK(0x17aa, 0x2203, "Thinkpad X230 Tablet", ALC269_FIXUP_LENOVO_DOCK),  	SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),  |