aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2014-09-11 07:43:16 -0400
committerTakashi Iwai <tiwai@suse.de>2014-09-11 07:43:49 -0400
commit998052b74574699bdd1e451b6556e4d7667a7a4e (patch)
tree3124898e873cdec28f724106e60d1bff760505f1 /sound/pci/hda
parente7e69265b6269763799a5de9c263fbbce32cd3a3 (diff)
parent7a9744cb455e6faa287e148394b4b422a6f3c5c4 (diff)
Merge branch 'for-linus' into for-next
Merging for-linus branch for syncing the latest STAC/IDT codec changes to be affected by the upcoming hda-jack rewrites.
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/ca0132_regs.h2
-rw-r--r--sound/pci/hda/patch_conexant.c9
-rw-r--r--sound/pci/hda/patch_realtek.c20
-rw-r--r--sound/pci/hda/patch_sigmatel.c17
4 files changed, 41 insertions, 7 deletions
diff --git a/sound/pci/hda/ca0132_regs.h b/sound/pci/hda/ca0132_regs.h
index 07e760937d3c..8371274aa811 100644
--- a/sound/pci/hda/ca0132_regs.h
+++ b/sound/pci/hda/ca0132_regs.h
@@ -20,7 +20,7 @@
20 */ 20 */
21 21
22#ifndef __CA0132_REGS_H 22#ifndef __CA0132_REGS_H
23#define __CA0312_REGS_H 23#define __CA0132_REGS_H
24 24
25#define DSP_CHIP_OFFSET 0x100000 25#define DSP_CHIP_OFFSET 0x100000
26#define DSP_DBGCNTL_MODULE_OFFSET 0xE30 26#define DSP_DBGCNTL_MODULE_OFFSET 0xE30
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index c0b03c112187..e0c5bc1d671b 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -216,6 +216,7 @@ enum {
216 CXT_FIXUP_HEADPHONE_MIC_PIN, 216 CXT_FIXUP_HEADPHONE_MIC_PIN,
217 CXT_FIXUP_HEADPHONE_MIC, 217 CXT_FIXUP_HEADPHONE_MIC,
218 CXT_FIXUP_GPIO1, 218 CXT_FIXUP_GPIO1,
219 CXT_FIXUP_ASPIRE_DMIC,
219 CXT_FIXUP_THINKPAD_ACPI, 220 CXT_FIXUP_THINKPAD_ACPI,
220 CXT_FIXUP_OLPC_XO, 221 CXT_FIXUP_OLPC_XO,
221 CXT_FIXUP_CAP_MIX_AMP, 222 CXT_FIXUP_CAP_MIX_AMP,
@@ -663,6 +664,12 @@ static const struct hda_fixup cxt_fixups[] = {
663 { } 664 { }
664 }, 665 },
665 }, 666 },
667 [CXT_FIXUP_ASPIRE_DMIC] = {
668 .type = HDA_FIXUP_FUNC,
669 .v.func = cxt_fixup_stereo_dmic,
670 .chained = true,
671 .chain_id = CXT_FIXUP_GPIO1,
672 },
666 [CXT_FIXUP_THINKPAD_ACPI] = { 673 [CXT_FIXUP_THINKPAD_ACPI] = {
667 .type = HDA_FIXUP_FUNC, 674 .type = HDA_FIXUP_FUNC,
668 .v.func = hda_fixup_thinkpad_acpi, 675 .v.func = hda_fixup_thinkpad_acpi,
@@ -743,7 +750,7 @@ static const struct hda_model_fixup cxt5051_fixup_models[] = {
743 750
744static const struct snd_pci_quirk cxt5066_fixups[] = { 751static const struct snd_pci_quirk cxt5066_fixups[] = {
745 SND_PCI_QUIRK(0x1025, 0x0543, "Acer Aspire One 522", CXT_FIXUP_STEREO_DMIC), 752 SND_PCI_QUIRK(0x1025, 0x0543, "Acer Aspire One 522", CXT_FIXUP_STEREO_DMIC),
746 SND_PCI_QUIRK(0x1025, 0x054c, "Acer Aspire 3830TG", CXT_FIXUP_GPIO1), 753 SND_PCI_QUIRK(0x1025, 0x054c, "Acer Aspire 3830TG", CXT_FIXUP_ASPIRE_DMIC),
747 SND_PCI_QUIRK(0x1043, 0x138d, "Asus", CXT_FIXUP_HEADPHONE_MIC_PIN), 754 SND_PCI_QUIRK(0x1043, 0x138d, "Asus", CXT_FIXUP_HEADPHONE_MIC_PIN),
748 SND_PCI_QUIRK(0x152d, 0x0833, "OLPC XO-1.5", CXT_FIXUP_OLPC_XO), 755 SND_PCI_QUIRK(0x152d, 0x0833, "OLPC XO-1.5", CXT_FIXUP_OLPC_XO),
749 SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo T400", CXT_PINCFG_LENOVO_TP410), 756 SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo T400", CXT_PINCFG_LENOVO_TP410),
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index cbc4d25e4538..6b1a5de07e35 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -373,6 +373,7 @@ static void alc_auto_init_amp(struct hda_codec *codec, int type)
373 case 0x10ec0885: 373 case 0x10ec0885:
374 case 0x10ec0887: 374 case 0x10ec0887:
375 /*case 0x10ec0889:*/ /* this causes an SPDIF problem */ 375 /*case 0x10ec0889:*/ /* this causes an SPDIF problem */
376 case 0x10ec0900:
376 alc889_coef_init(codec); 377 alc889_coef_init(codec);
377 break; 378 break;
378 case 0x10ec0888: 379 case 0x10ec0888:
@@ -2346,6 +2347,7 @@ static int patch_alc882(struct hda_codec *codec)
2346 switch (codec->vendor_id) { 2347 switch (codec->vendor_id) {
2347 case 0x10ec0882: 2348 case 0x10ec0882:
2348 case 0x10ec0885: 2349 case 0x10ec0885:
2350 case 0x10ec0900:
2349 break; 2351 break;
2350 default: 2352 default:
2351 /* ALC883 and variants */ 2353 /* ALC883 and variants */
@@ -4353,6 +4355,7 @@ enum {
4353 ALC292_FIXUP_TPT440_DOCK, 4355 ALC292_FIXUP_TPT440_DOCK,
4354 ALC283_FIXUP_BXBT2807_MIC, 4356 ALC283_FIXUP_BXBT2807_MIC,
4355 ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED, 4357 ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED,
4358 ALC282_FIXUP_ASPIRE_V5_PINS,
4356}; 4359};
4357 4360
4358static const struct hda_fixup alc269_fixups[] = { 4361static const struct hda_fixup alc269_fixups[] = {
@@ -4800,6 +4803,22 @@ static const struct hda_fixup alc269_fixups[] = {
4800 .chained_before = true, 4803 .chained_before = true,
4801 .chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE 4804 .chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
4802 }, 4805 },
4806 [ALC282_FIXUP_ASPIRE_V5_PINS] = {
4807 .type = HDA_FIXUP_PINS,
4808 .v.pins = (const struct hda_pintbl[]) {
4809 { 0x12, 0x90a60130 },
4810 { 0x14, 0x90170110 },
4811 { 0x17, 0x40000008 },
4812 { 0x18, 0x411111f0 },
4813 { 0x19, 0x411111f0 },
4814 { 0x1a, 0x411111f0 },
4815 { 0x1b, 0x411111f0 },
4816 { 0x1d, 0x40f89b2d },
4817 { 0x1e, 0x411111f0 },
4818 { 0x21, 0x0321101f },
4819 { },
4820 },
4821 },
4803 4822
4804}; 4823};
4805 4824
@@ -4811,6 +4830,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
4811 SND_PCI_QUIRK(0x1025, 0x0740, "Acer AO725", ALC271_FIXUP_HP_GATE_MIC_JACK), 4830 SND_PCI_QUIRK(0x1025, 0x0740, "Acer AO725", ALC271_FIXUP_HP_GATE_MIC_JACK),
4812 SND_PCI_QUIRK(0x1025, 0x0742, "Acer AO756", ALC271_FIXUP_HP_GATE_MIC_JACK), 4831 SND_PCI_QUIRK(0x1025, 0x0742, "Acer AO756", ALC271_FIXUP_HP_GATE_MIC_JACK),
4813 SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572), 4832 SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
4833 SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
4814 SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), 4834 SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
4815 SND_PCI_QUIRK(0x1028, 0x05da, "Dell Vostro 5460", ALC290_FIXUP_SUBWOOFER), 4835 SND_PCI_QUIRK(0x1028, 0x05da, "Dell Vostro 5460", ALC290_FIXUP_SUBWOOFER),
4816 SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), 4836 SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index f26ec04a29b5..60aebd0f5e56 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -565,8 +565,8 @@ static void stac_init_power_map(struct hda_codec *codec)
565 if (snd_hda_jack_tbl_get(codec, nid)) 565 if (snd_hda_jack_tbl_get(codec, nid))
566 continue; 566 continue;
567 if (def_conf == AC_JACK_PORT_COMPLEX && 567 if (def_conf == AC_JACK_PORT_COMPLEX &&
568 !(spec->vref_mute_led_nid == nid || 568 spec->vref_mute_led_nid != nid &&
569 is_jack_detectable(codec, nid))) { 569 is_jack_detectable(codec, nid)) {
570 snd_hda_jack_detect_enable_callback(codec, nid, 570 snd_hda_jack_detect_enable_callback(codec, nid,
571 STAC_PWR_EVENT, 571 STAC_PWR_EVENT,
572 jack_update_power); 572 jack_update_power);
@@ -4272,11 +4272,18 @@ static int stac_parse_auto_config(struct hda_codec *codec)
4272 return err; 4272 return err;
4273 } 4273 }
4274 4274
4275 stac_init_power_map(codec);
4276
4277 return 0; 4275 return 0;
4278} 4276}
4279 4277
4278static int stac_build_controls(struct hda_codec *codec)
4279{
4280 int err = snd_hda_gen_build_controls(codec);
4281
4282 if (err < 0)
4283 return err;
4284 stac_init_power_map(codec);
4285 return 0;
4286}
4280 4287
4281static int stac_init(struct hda_codec *codec) 4288static int stac_init(struct hda_codec *codec)
4282{ 4289{
@@ -4388,7 +4395,7 @@ static int stac_suspend(struct hda_codec *codec)
4388#endif /* CONFIG_PM */ 4395#endif /* CONFIG_PM */
4389 4396
4390static const struct hda_codec_ops stac_patch_ops = { 4397static const struct hda_codec_ops stac_patch_ops = {
4391 .build_controls = snd_hda_gen_build_controls, 4398 .build_controls = stac_build_controls,
4392 .build_pcms = snd_hda_gen_build_pcms, 4399 .build_pcms = snd_hda_gen_build_pcms,
4393 .init = stac_init, 4400 .init = stac_init,
4394 .free = stac_free, 4401 .free = stac_free,