diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-12-19 02:22:57 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-12-19 02:22:57 -0500 |
commit | 0ff555192a8d20385d49d1c420e2e8d409b3c0da (patch) | |
tree | b6e4b6cae1028a310a3488ebf745954c51694bfc /sound/pci/hda/patch_sigmatel.c | |
parent | 3218c178b41b420cb7e0d120c7a137a3969242e5 (diff) | |
parent | 9e43f0de690211cf7153b5f3ec251bc315647ada (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.c | 17 |
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 | ||
71 | enum { | 71 | enum { |
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 | ||
129 | enum { | 130 | enum { |
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 | ||
1666 | static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { | 1668 | static 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 | ||
2082 | static unsigned int *stac927x_brd_tbl[STAC_927X_MODELS] = { | 2087 | static 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 | ||
2090 | static const char *stac927x_models[STAC_927X_MODELS] = { | 2096 | static 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 | ||