diff options
author | Takashi Iwai <tiwai@suse.de> | 2014-09-11 07:43:16 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-09-11 07:43:49 -0400 |
commit | 998052b74574699bdd1e451b6556e4d7667a7a4e (patch) | |
tree | 3124898e873cdec28f724106e60d1bff760505f1 /sound/pci/hda | |
parent | e7e69265b6269763799a5de9c263fbbce32cd3a3 (diff) | |
parent | 7a9744cb455e6faa287e148394b4b422a6f3c5c4 (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.h | 2 | ||||
-rw-r--r-- | sound/pci/hda/patch_conexant.c | 9 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 20 | ||||
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 17 |
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 | ||
744 | static const struct snd_pci_quirk cxt5066_fixups[] = { | 751 | static 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 | ||
4358 | static const struct hda_fixup alc269_fixups[] = { | 4361 | static 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 | ||
4278 | static 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 | ||
4281 | static int stac_init(struct hda_codec *codec) | 4288 | static 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 | ||
4390 | static const struct hda_codec_ops stac_patch_ops = { | 4397 | static 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, |