diff options
Diffstat (limited to 'sound/pci/hda')
| -rw-r--r-- | sound/pci/hda/hda_intel.c | 1 | ||||
| -rw-r--r-- | sound/pci/hda/patch_conexant.c | 1 | ||||
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 7 | ||||
| -rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 17 |
4 files changed, 25 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 21e99cfa8c49..3128e1a6bc65 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
| @@ -2141,6 +2141,7 @@ static struct snd_pci_quirk probe_mask_list[] __devinitdata = { | |||
| 2141 | /* including bogus ALC268 in slot#2 that conflicts with ALC888 */ | 2141 | /* including bogus ALC268 in slot#2 that conflicts with ALC888 */ |
| 2142 | SND_PCI_QUIRK(0x17c0, 0x4085, "Medion MD96630", 0x01), | 2142 | SND_PCI_QUIRK(0x17c0, 0x4085, "Medion MD96630", 0x01), |
| 2143 | /* forced codec slots */ | 2143 | /* forced codec slots */ |
| 2144 | SND_PCI_QUIRK(0x1043, 0x1262, "ASUS W5Fm", 0x103), | ||
| 2144 | SND_PCI_QUIRK(0x1046, 0x1262, "ASUS W5F", 0x103), | 2145 | SND_PCI_QUIRK(0x1046, 0x1262, "ASUS W5F", 0x103), |
| 2145 | {} | 2146 | {} |
| 2146 | }; | 2147 | }; |
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index 56ce19e68cb5..4fcbe21829ab 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c | |||
| @@ -1848,6 +1848,7 @@ static const char *cxt5051_models[CXT5051_MODELS] = { | |||
| 1848 | 1848 | ||
| 1849 | static struct snd_pci_quirk cxt5051_cfg_tbl[] = { | 1849 | static struct snd_pci_quirk cxt5051_cfg_tbl[] = { |
| 1850 | SND_PCI_QUIRK(0x103c, 0x30cf, "HP DV6736", CXT5051_HP_DV6736), | 1850 | SND_PCI_QUIRK(0x103c, 0x30cf, "HP DV6736", CXT5051_HP_DV6736), |
| 1851 | SND_PCI_QUIRK(0x103c, 0x360b, "Compaq Presario CQ60", CXT5051_HP), | ||
| 1851 | SND_PCI_QUIRK(0x14f1, 0x0101, "Conexant Reference board", | 1852 | SND_PCI_QUIRK(0x14f1, 0x0101, "Conexant Reference board", |
| 1852 | CXT5051_LAPTOP), | 1853 | CXT5051_LAPTOP), |
| 1853 | SND_PCI_QUIRK(0x14f1, 0x5051, "HP Spartan 1.1", CXT5051_HP), | 1854 | SND_PCI_QUIRK(0x14f1, 0x5051, "HP Spartan 1.1", CXT5051_HP), |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index b8a0d3e79272..0fd258eba3a5 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
| @@ -776,6 +776,12 @@ static void alc_set_input_pin(struct hda_codec *codec, hda_nid_t nid, | |||
| 776 | pincap = (pincap & AC_PINCAP_VREF) >> AC_PINCAP_VREF_SHIFT; | 776 | pincap = (pincap & AC_PINCAP_VREF) >> AC_PINCAP_VREF_SHIFT; |
| 777 | if (pincap & AC_PINCAP_VREF_80) | 777 | if (pincap & AC_PINCAP_VREF_80) |
| 778 | val = PIN_VREF80; | 778 | val = PIN_VREF80; |
| 779 | else if (pincap & AC_PINCAP_VREF_50) | ||
| 780 | val = PIN_VREF50; | ||
| 781 | else if (pincap & AC_PINCAP_VREF_100) | ||
| 782 | val = PIN_VREF100; | ||
| 783 | else if (pincap & AC_PINCAP_VREF_GRD) | ||
| 784 | val = PIN_VREFGRD; | ||
| 779 | } | 785 | } |
| 780 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, val); | 786 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, val); |
| 781 | } | 787 | } |
| @@ -12058,6 +12064,7 @@ static struct snd_pci_quirk alc268_cfg_tbl[] = { | |||
| 12058 | SND_PCI_QUIRK(0x1028, 0x0253, "Dell OEM", ALC268_DELL), | 12064 | SND_PCI_QUIRK(0x1028, 0x0253, "Dell OEM", ALC268_DELL), |
| 12059 | SND_PCI_QUIRK(0x1028, 0x02b0, "Dell Inspiron Mini9", ALC268_DELL), | 12065 | SND_PCI_QUIRK(0x1028, 0x02b0, "Dell Inspiron Mini9", ALC268_DELL), |
| 12060 | SND_PCI_QUIRK(0x103c, 0x30cc, "TOSHIBA", ALC268_TOSHIBA), | 12066 | SND_PCI_QUIRK(0x103c, 0x30cc, "TOSHIBA", ALC268_TOSHIBA), |
| 12067 | SND_PCI_QUIRK(0x103c, 0x30f1, "HP TX25xx series", ALC268_TOSHIBA), | ||
| 12061 | SND_PCI_QUIRK(0x1043, 0x1205, "ASUS W7J", ALC268_3ST), | 12068 | SND_PCI_QUIRK(0x1043, 0x1205, "ASUS W7J", ALC268_3ST), |
| 12062 | SND_PCI_QUIRK(0x1179, 0xff10, "TOSHIBA A205", ALC268_TOSHIBA), | 12069 | SND_PCI_QUIRK(0x1179, 0xff10, "TOSHIBA A205", ALC268_TOSHIBA), |
| 12063 | SND_PCI_QUIRK(0x1179, 0xff50, "TOSHIBA A305", ALC268_TOSHIBA), | 12070 | SND_PCI_QUIRK(0x1179, 0xff50, "TOSHIBA A305", ALC268_TOSHIBA), |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 917bc5d3ac2c..d2fd8ef6aef8 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
| @@ -150,6 +150,7 @@ enum { | |||
| 150 | STAC_D965_REF, | 150 | STAC_D965_REF, |
| 151 | STAC_D965_3ST, | 151 | STAC_D965_3ST, |
| 152 | STAC_D965_5ST, | 152 | STAC_D965_5ST, |
| 153 | STAC_D965_5ST_NO_FP, | ||
| 153 | STAC_DELL_3ST, | 154 | STAC_DELL_3ST, |
| 154 | STAC_DELL_BIOS, | 155 | STAC_DELL_BIOS, |
| 155 | STAC_927X_MODELS | 156 | STAC_927X_MODELS |
| @@ -2154,6 +2155,13 @@ static unsigned int d965_5st_pin_configs[14] = { | |||
| 2154 | 0x40000100, 0x40000100 | 2155 | 0x40000100, 0x40000100 |
| 2155 | }; | 2156 | }; |
| 2156 | 2157 | ||
| 2158 | static unsigned int d965_5st_no_fp_pin_configs[14] = { | ||
| 2159 | 0x40000100, 0x40000100, 0x0181304e, 0x01014010, | ||
| 2160 | 0x01a19040, 0x01011012, 0x01016011, 0x40000100, | ||
| 2161 | 0x40000100, 0x40000100, 0x40000100, 0x01442070, | ||
| 2162 | 0x40000100, 0x40000100 | ||
| 2163 | }; | ||
| 2164 | |||
| 2157 | static unsigned int dell_3st_pin_configs[14] = { | 2165 | static unsigned int dell_3st_pin_configs[14] = { |
| 2158 | 0x02211230, 0x02a11220, 0x01a19040, 0x01114210, | 2166 | 0x02211230, 0x02a11220, 0x01a19040, 0x01114210, |
| 2159 | 0x01111212, 0x01116211, 0x01813050, 0x01112214, | 2167 | 0x01111212, 0x01116211, 0x01813050, 0x01112214, |
| @@ -2166,6 +2174,7 @@ static unsigned int *stac927x_brd_tbl[STAC_927X_MODELS] = { | |||
| 2166 | [STAC_D965_REF] = ref927x_pin_configs, | 2174 | [STAC_D965_REF] = ref927x_pin_configs, |
| 2167 | [STAC_D965_3ST] = d965_3st_pin_configs, | 2175 | [STAC_D965_3ST] = d965_3st_pin_configs, |
| 2168 | [STAC_D965_5ST] = d965_5st_pin_configs, | 2176 | [STAC_D965_5ST] = d965_5st_pin_configs, |
| 2177 | [STAC_D965_5ST_NO_FP] = d965_5st_no_fp_pin_configs, | ||
| 2169 | [STAC_DELL_3ST] = dell_3st_pin_configs, | 2178 | [STAC_DELL_3ST] = dell_3st_pin_configs, |
| 2170 | [STAC_DELL_BIOS] = NULL, | 2179 | [STAC_DELL_BIOS] = NULL, |
| 2171 | }; | 2180 | }; |
| @@ -2176,6 +2185,7 @@ static const char *stac927x_models[STAC_927X_MODELS] = { | |||
| 2176 | [STAC_D965_REF] = "ref", | 2185 | [STAC_D965_REF] = "ref", |
| 2177 | [STAC_D965_3ST] = "3stack", | 2186 | [STAC_D965_3ST] = "3stack", |
| 2178 | [STAC_D965_5ST] = "5stack", | 2187 | [STAC_D965_5ST] = "5stack", |
| 2188 | [STAC_D965_5ST_NO_FP] = "5stack-no-fp", | ||
| 2179 | [STAC_DELL_3ST] = "dell-3stack", | 2189 | [STAC_DELL_3ST] = "dell-3stack", |
| 2180 | [STAC_DELL_BIOS] = "dell-bios", | 2190 | [STAC_DELL_BIOS] = "dell-bios", |
| 2181 | }; | 2191 | }; |
| @@ -4079,7 +4089,12 @@ static int stac92xx_init(struct hda_codec *codec) | |||
| 4079 | pinctl = snd_hda_codec_read(codec, nid, 0, | 4089 | pinctl = snd_hda_codec_read(codec, nid, 0, |
| 4080 | AC_VERB_GET_PIN_WIDGET_CONTROL, 0); | 4090 | AC_VERB_GET_PIN_WIDGET_CONTROL, 0); |
| 4081 | /* if PINCTL already set then skip */ | 4091 | /* if PINCTL already set then skip */ |
| 4082 | if (!(pinctl & AC_PINCTL_IN_EN)) { | 4092 | /* Also, if both INPUT and OUTPUT are set, |
| 4093 | * it must be a BIOS bug; need to override, too | ||
| 4094 | */ | ||
| 4095 | if (!(pinctl & AC_PINCTL_IN_EN) || | ||
| 4096 | (pinctl & AC_PINCTL_OUT_EN)) { | ||
| 4097 | pinctl &= ~AC_PINCTL_OUT_EN; | ||
| 4083 | pinctl |= AC_PINCTL_IN_EN; | 4098 | pinctl |= AC_PINCTL_IN_EN; |
| 4084 | stac92xx_auto_set_pinctl(codec, nid, | 4099 | stac92xx_auto_set_pinctl(codec, nid, |
| 4085 | pinctl); | 4100 | pinctl); |
