|
@@ -1739,6 +1739,10 @@ static struct snd_pci_quirk stac92hd71bxx_cfg_tbl[] = {
|
|
|
/* SigmaTel reference board */
|
|
|
SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668,
|
|
|
"DFI LanParty", STAC_92HD71BXX_REF),
|
|
|
+ SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x30f2,
|
|
|
+ "HP dv5", STAC_HP_M4),
|
|
|
+ SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x30f4,
|
|
|
+ "HP dv7", STAC_HP_M4),
|
|
|
SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x361a,
|
|
|
"unknown HP", STAC_HP_M4),
|
|
|
SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0233,
|
|
@@ -4661,6 +4665,13 @@ again:
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
+ if (spec->board_config > STAC_92HD71BXX_REF) {
|
|
|
+ /* GPIO0 = EAPD */
|
|
|
+ spec->gpio_mask = 0x01;
|
|
|
+ spec->gpio_dir = 0x01;
|
|
|
+ spec->gpio_data = 0x01;
|
|
|
+ }
|
|
|
+
|
|
|
switch (codec->vendor_id) {
|
|
|
case 0x111d76b6: /* 4 Port without Analog Mixer */
|
|
|
case 0x111d76b7:
|
|
@@ -4671,10 +4682,10 @@ again:
|
|
|
codec->slave_dig_outs = stac92hd71bxx_slave_dig_outs;
|
|
|
break;
|
|
|
case 0x111d7608: /* 5 Port with Analog Mixer */
|
|
|
- switch (codec->subsystem_id) {
|
|
|
- case 0x103c361a:
|
|
|
+ switch (spec->board_config) {
|
|
|
+ case STAC_HP_M4:
|
|
|
/* Enable VREF power saving on GPIO1 detect */
|
|
|
- snd_hda_codec_write(codec, codec->afg, 0,
|
|
|
+ snd_hda_codec_write_cache(codec, codec->afg, 0,
|
|
|
AC_VERB_SET_GPIO_UNSOLICITED_RSP_MASK, 0x02);
|
|
|
snd_hda_codec_write_cache(codec, codec->afg, 0,
|
|
|
AC_VERB_SET_UNSOLICITED_ENABLE,
|
|
@@ -4723,13 +4734,6 @@ again:
|
|
|
spec->aloopback_mask = 0x50;
|
|
|
spec->aloopback_shift = 0;
|
|
|
|
|
|
- if (spec->board_config > STAC_92HD71BXX_REF) {
|
|
|
- /* GPIO0 = EAPD */
|
|
|
- spec->gpio_mask = 0x01;
|
|
|
- spec->gpio_dir = 0x01;
|
|
|
- spec->gpio_data = 0x01;
|
|
|
- }
|
|
|
-
|
|
|
spec->powerdown_adcs = 1;
|
|
|
spec->digbeep_nid = 0x26;
|
|
|
spec->mux_nids = stac92hd71bxx_mux_nids;
|
|
@@ -5073,7 +5077,7 @@ static int patch_stac9205(struct hda_codec *codec)
|
|
|
stac_change_pin_config(codec, 0x20, 0x1c410030);
|
|
|
|
|
|
/* Enable unsol response for GPIO4/Dock HP connection */
|
|
|
- snd_hda_codec_write(codec, codec->afg, 0,
|
|
|
+ snd_hda_codec_write_cache(codec, codec->afg, 0,
|
|
|
AC_VERB_SET_GPIO_UNSOLICITED_RSP_MASK, 0x10);
|
|
|
snd_hda_codec_write_cache(codec, codec->afg, 0,
|
|
|
AC_VERB_SET_UNSOLICITED_ENABLE,
|