aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-12-19 02:22:57 -0500
committerTakashi Iwai <tiwai@suse.de>2008-12-19 02:22:57 -0500
commit0ff555192a8d20385d49d1c420e2e8d409b3c0da (patch)
treeb6e4b6cae1028a310a3488ebf745954c51694bfc /sound/pci/hda/patch_sigmatel.c
parent3218c178b41b420cb7e0d120c7a137a3969242e5 (diff)
parent9e43f0de690211cf7153b5f3ec251bc315647ada (diff)
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r--sound/pci/hda/patch_sigmatel.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 4c851fd55565..71c3ccfcde16 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -69,6 +69,7 @@ enum {
69}; 69};
70 70
71enum { 71enum {
72 STAC_92HD73XX_NO_JD, /* no jack-detection */
72 STAC_92HD73XX_REF, 73 STAC_92HD73XX_REF,
73 STAC_DELL_M6_AMIC, 74 STAC_DELL_M6_AMIC,
74 STAC_DELL_M6_DMIC, 75 STAC_DELL_M6_DMIC,
@@ -127,6 +128,7 @@ enum {
127}; 128};
128 129
129enum { 130enum {
131 STAC_D965_REF_NO_JD, /* no jack-detection */
130 STAC_D965_REF, 132 STAC_D965_REF,
131 STAC_D965_3ST, 133 STAC_D965_3ST,
132 STAC_D965_5ST, 134 STAC_D965_5ST,
@@ -1664,6 +1666,7 @@ static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = {
1664}; 1666};
1665 1667
1666static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { 1668static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = {
1669 [STAC_92HD73XX_NO_JD] = "no-jd",
1667 [STAC_92HD73XX_REF] = "ref", 1670 [STAC_92HD73XX_REF] = "ref",
1668 [STAC_DELL_M6_AMIC] = "dell-m6-amic", 1671 [STAC_DELL_M6_AMIC] = "dell-m6-amic",
1669 [STAC_DELL_M6_DMIC] = "dell-m6-dmic", 1672 [STAC_DELL_M6_DMIC] = "dell-m6-dmic",
@@ -1693,6 +1696,8 @@ static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = {
1693 "unknown Dell", STAC_DELL_M6_DMIC), 1696 "unknown Dell", STAC_DELL_M6_DMIC),
1694 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x029f, 1697 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x029f,
1695 "Dell Studio 1537", STAC_DELL_M6_DMIC), 1698 "Dell Studio 1537", STAC_DELL_M6_DMIC),
1699 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02a0,
1700 "Dell Studio 17", STAC_DELL_M6_DMIC),
1696 {} /* terminator */ 1701 {} /* terminator */
1697}; 1702};
1698 1703
@@ -2080,6 +2085,7 @@ static unsigned int dell_3st_pin_configs[14] = {
2080}; 2085};
2081 2086
2082static unsigned int *stac927x_brd_tbl[STAC_927X_MODELS] = { 2087static unsigned int *stac927x_brd_tbl[STAC_927X_MODELS] = {
2088 [STAC_D965_REF_NO_JD] = ref927x_pin_configs,
2083 [STAC_D965_REF] = ref927x_pin_configs, 2089 [STAC_D965_REF] = ref927x_pin_configs,
2084 [STAC_D965_3ST] = d965_3st_pin_configs, 2090 [STAC_D965_3ST] = d965_3st_pin_configs,
2085 [STAC_D965_5ST] = d965_5st_pin_configs, 2091 [STAC_D965_5ST] = d965_5st_pin_configs,
@@ -2088,6 +2094,7 @@ static unsigned int *stac927x_brd_tbl[STAC_927X_MODELS] = {
2088}; 2094};
2089 2095
2090static const char *stac927x_models[STAC_927X_MODELS] = { 2096static const char *stac927x_models[STAC_927X_MODELS] = {
2097 [STAC_D965_REF_NO_JD] = "ref-no-jd",
2091 [STAC_D965_REF] = "ref", 2098 [STAC_D965_REF] = "ref",
2092 [STAC_D965_3ST] = "3stack", 2099 [STAC_D965_3ST] = "3stack",
2093 [STAC_D965_5ST] = "5stack", 2100 [STAC_D965_5ST] = "5stack",
@@ -4545,14 +4552,17 @@ again:
4545 4552
4546 switch (spec->multiout.num_dacs) { 4553 switch (spec->multiout.num_dacs) {
4547 case 0x3: /* 6 Channel */ 4554 case 0x3: /* 6 Channel */
4555 spec->multiout.hp_nid = 0x17;
4548 spec->mixer = stac92hd73xx_6ch_mixer; 4556 spec->mixer = stac92hd73xx_6ch_mixer;
4549 spec->init = stac92hd73xx_6ch_core_init; 4557 spec->init = stac92hd73xx_6ch_core_init;
4550 break; 4558 break;
4551 case 0x4: /* 8 Channel */ 4559 case 0x4: /* 8 Channel */
4560 spec->multiout.hp_nid = 0x18;
4552 spec->mixer = stac92hd73xx_8ch_mixer; 4561 spec->mixer = stac92hd73xx_8ch_mixer;
4553 spec->init = stac92hd73xx_8ch_core_init; 4562 spec->init = stac92hd73xx_8ch_core_init;
4554 break; 4563 break;
4555 case 0x5: /* 10 Channel */ 4564 case 0x5: /* 10 Channel */
4565 spec->multiout.hp_nid = 0x19;
4556 spec->mixer = stac92hd73xx_10ch_mixer; 4566 spec->mixer = stac92hd73xx_10ch_mixer;
4557 spec->init = stac92hd73xx_10ch_core_init; 4567 spec->init = stac92hd73xx_10ch_core_init;
4558 }; 4568 };
@@ -4642,6 +4652,9 @@ again:
4642 return err; 4652 return err;
4643 } 4653 }
4644 4654
4655 if (spec->board_config == STAC_92HD73XX_NO_JD)
4656 spec->hp_detect = 0;
4657
4645 codec->patch_ops = stac92xx_patch_ops; 4658 codec->patch_ops = stac92xx_patch_ops;
4646 4659
4647 codec->proc_widget_hook = stac92hd7x_proc_hook; 4660 codec->proc_widget_hook = stac92hd7x_proc_hook;
@@ -5138,6 +5151,10 @@ static int patch_stac927x(struct hda_codec *codec)
5138 */ 5151 */
5139 codec->bus->needs_damn_long_delay = 1; 5152 codec->bus->needs_damn_long_delay = 1;
5140 5153
5154 /* no jack detecion for ref-no-jd model */
5155 if (spec->board_config == STAC_D965_REF_NO_JD)
5156 spec->hp_detect = 0;
5157
5141 return 0; 5158 return 0;
5142} 5159}
5143 5160