diff options
| -rw-r--r-- | sound/pci/hda/patch_conexant.c | 8 | ||||
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 1 | ||||
| -rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 21 |
3 files changed, 20 insertions, 10 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index 56e52071c769..feabb44c7ca4 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c | |||
| @@ -1197,9 +1197,10 @@ static int patch_cxt5045(struct hda_codec *codec) | |||
| 1197 | case 0x103c: | 1197 | case 0x103c: |
| 1198 | case 0x1631: | 1198 | case 0x1631: |
| 1199 | case 0x1734: | 1199 | case 0x1734: |
| 1200 | /* HP, Packard Bell, & Fujitsu-Siemens laptops have really bad | 1200 | case 0x17aa: |
| 1201 | * sound over 0dB on NID 0x17. Fix max PCM level to 0 dB | 1201 | /* HP, Packard Bell, Fujitsu-Siemens & Lenovo laptops have |
| 1202 | * (originally it has 0x2b steps with 0dB offset 0x14) | 1202 | * really bad sound over 0dB on NID 0x17. Fix max PCM level to |
| 1203 | * 0 dB (originally it has 0x2b steps with 0dB offset 0x14) | ||
| 1203 | */ | 1204 | */ |
| 1204 | snd_hda_override_amp_caps(codec, 0x17, HDA_INPUT, | 1205 | snd_hda_override_amp_caps(codec, 0x17, HDA_INPUT, |
| 1205 | (0x14 << AC_AMPCAP_OFFSET_SHIFT) | | 1206 | (0x14 << AC_AMPCAP_OFFSET_SHIFT) | |
| @@ -2846,6 +2847,7 @@ static struct snd_pci_quirk cxt5066_cfg_tbl[] = { | |||
| 2846 | SND_PCI_QUIRK(0x1028, 0x0408, "Dell Inspiron One 19T", CXT5066_IDEAPAD), | 2847 | SND_PCI_QUIRK(0x1028, 0x0408, "Dell Inspiron One 19T", CXT5066_IDEAPAD), |
| 2847 | SND_PCI_QUIRK(0x1179, 0xff50, "Toshiba Satellite P500-PSPGSC-01800T", CXT5066_OLPC_XO_1_5), | 2848 | SND_PCI_QUIRK(0x1179, 0xff50, "Toshiba Satellite P500-PSPGSC-01800T", CXT5066_OLPC_XO_1_5), |
| 2848 | SND_PCI_QUIRK(0x1179, 0xffe0, "Toshiba Satellite Pro T130-15F", CXT5066_OLPC_XO_1_5), | 2849 | SND_PCI_QUIRK(0x1179, 0xffe0, "Toshiba Satellite Pro T130-15F", CXT5066_OLPC_XO_1_5), |
| 2850 | SND_PCI_QUIRK(0x17aa, 0x21b2, "Thinkpad X100e", CXT5066_IDEAPAD), | ||
| 2849 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "ideapad", CXT5066_IDEAPAD), | 2851 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "ideapad", CXT5066_IDEAPAD), |
| 2850 | {} | 2852 | {} |
| 2851 | }; | 2853 | }; |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 7404dba16f83..886d8e46bb37 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
| @@ -17871,7 +17871,6 @@ static struct snd_pci_quirk alc662_cfg_tbl[] = { | |||
| 17871 | ALC662_3ST_6ch_DIG), | 17871 | ALC662_3ST_6ch_DIG), |
| 17872 | SND_PCI_QUIRK_MASK(0x1854, 0xf000, 0x2000, "ASUS H13-200x", | 17872 | SND_PCI_QUIRK_MASK(0x1854, 0xf000, 0x2000, "ASUS H13-200x", |
| 17873 | ALC663_ASUS_H13), | 17873 | ALC663_ASUS_H13), |
| 17874 | SND_PCI_QUIRK(0x8086, 0xd604, "Intel mobo", ALC662_3ST_2ch_DIG), | ||
| 17875 | {} | 17874 | {} |
| 17876 | }; | 17875 | }; |
| 17877 | 17876 | ||
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 7fb7d017a347..a0e06d82da1f 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
| @@ -104,6 +104,7 @@ enum { | |||
| 104 | STAC_DELL_M4_2, | 104 | STAC_DELL_M4_2, |
| 105 | STAC_DELL_M4_3, | 105 | STAC_DELL_M4_3, |
| 106 | STAC_HP_M4, | 106 | STAC_HP_M4, |
| 107 | STAC_HP_DV4, | ||
| 107 | STAC_HP_DV5, | 108 | STAC_HP_DV5, |
| 108 | STAC_HP_HDX, | 109 | STAC_HP_HDX, |
| 109 | STAC_HP_DV4_1222NR, | 110 | STAC_HP_DV4_1222NR, |
| @@ -1544,11 +1545,9 @@ static unsigned int alienware_m17x_pin_configs[13] = { | |||
| 1544 | 0x904601b0, | 1545 | 0x904601b0, |
| 1545 | }; | 1546 | }; |
| 1546 | 1547 | ||
| 1547 | static unsigned int intel_dg45id_pin_configs[14] = { | 1548 | static unsigned int intel_dg45id_pin_configs[13] = { |
| 1548 | 0x02214230, 0x02A19240, 0x01013214, 0x01014210, | 1549 | 0x02214230, 0x02A19240, 0x01013214, 0x01014210, |
| 1549 | 0x01A19250, 0x01011212, 0x01016211, 0x40f000f0, | 1550 | 0x01A19250, 0x01011212, 0x01016211 |
| 1550 | 0x40f000f0, 0x40f000f0, 0x40f000f0, 0x014510A0, | ||
| 1551 | 0x074510B0, 0x40f000f0 | ||
| 1552 | }; | 1551 | }; |
| 1553 | 1552 | ||
| 1554 | static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { | 1553 | static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { |
| @@ -1693,6 +1692,7 @@ static unsigned int *stac92hd71bxx_brd_tbl[STAC_92HD71BXX_MODELS] = { | |||
| 1693 | [STAC_DELL_M4_2] = dell_m4_2_pin_configs, | 1692 | [STAC_DELL_M4_2] = dell_m4_2_pin_configs, |
| 1694 | [STAC_DELL_M4_3] = dell_m4_3_pin_configs, | 1693 | [STAC_DELL_M4_3] = dell_m4_3_pin_configs, |
| 1695 | [STAC_HP_M4] = NULL, | 1694 | [STAC_HP_M4] = NULL, |
| 1695 | [STAC_HP_DV4] = NULL, | ||
| 1696 | [STAC_HP_DV5] = NULL, | 1696 | [STAC_HP_DV5] = NULL, |
| 1697 | [STAC_HP_HDX] = NULL, | 1697 | [STAC_HP_HDX] = NULL, |
| 1698 | [STAC_HP_DV4_1222NR] = NULL, | 1698 | [STAC_HP_DV4_1222NR] = NULL, |
| @@ -1705,6 +1705,7 @@ static const char *stac92hd71bxx_models[STAC_92HD71BXX_MODELS] = { | |||
| 1705 | [STAC_DELL_M4_2] = "dell-m4-2", | 1705 | [STAC_DELL_M4_2] = "dell-m4-2", |
| 1706 | [STAC_DELL_M4_3] = "dell-m4-3", | 1706 | [STAC_DELL_M4_3] = "dell-m4-3", |
| 1707 | [STAC_HP_M4] = "hp-m4", | 1707 | [STAC_HP_M4] = "hp-m4", |
| 1708 | [STAC_HP_DV4] = "hp-dv4", | ||
| 1708 | [STAC_HP_DV5] = "hp-dv5", | 1709 | [STAC_HP_DV5] = "hp-dv5", |
| 1709 | [STAC_HP_HDX] = "hp-hdx", | 1710 | [STAC_HP_HDX] = "hp-hdx", |
| 1710 | [STAC_HP_DV4_1222NR] = "hp-dv4-1222nr", | 1711 | [STAC_HP_DV4_1222NR] = "hp-dv4-1222nr", |
| @@ -1723,7 +1724,7 @@ static struct snd_pci_quirk stac92hd71bxx_cfg_tbl[] = { | |||
| 1723 | SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xfff0, 0x3080, | 1724 | SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xfff0, 0x3080, |
| 1724 | "HP", STAC_HP_DV5), | 1725 | "HP", STAC_HP_DV5), |
| 1725 | SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xfff0, 0x30f0, | 1726 | SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xfff0, 0x30f0, |
| 1726 | "HP dv4-7", STAC_HP_DV5), | 1727 | "HP dv4-7", STAC_HP_DV4), |
| 1727 | SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xfff0, 0x3600, | 1728 | SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xfff0, 0x3600, |
| 1728 | "HP dv4-7", STAC_HP_DV5), | 1729 | "HP dv4-7", STAC_HP_DV5), |
| 1729 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x3610, | 1730 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x3610, |
| @@ -4768,6 +4769,9 @@ static void set_hp_led_gpio(struct hda_codec *codec) | |||
| 4768 | struct sigmatel_spec *spec = codec->spec; | 4769 | struct sigmatel_spec *spec = codec->spec; |
| 4769 | unsigned int gpio; | 4770 | unsigned int gpio; |
| 4770 | 4771 | ||
| 4772 | if (spec->gpio_led) | ||
| 4773 | return; | ||
| 4774 | |||
| 4771 | gpio = snd_hda_param_read(codec, codec->afg, AC_PAR_GPIO_CAP); | 4775 | gpio = snd_hda_param_read(codec, codec->afg, AC_PAR_GPIO_CAP); |
| 4772 | gpio &= AC_GPIO_IO_COUNT; | 4776 | gpio &= AC_GPIO_IO_COUNT; |
| 4773 | if (gpio > 3) | 4777 | if (gpio > 3) |
| @@ -5677,6 +5681,9 @@ again: | |||
| 5677 | spec->num_smuxes = 1; | 5681 | spec->num_smuxes = 1; |
| 5678 | spec->num_dmuxes = 1; | 5682 | spec->num_dmuxes = 1; |
| 5679 | /* fallthrough */ | 5683 | /* fallthrough */ |
| 5684 | case STAC_HP_DV4: | ||
| 5685 | spec->gpio_led = 0x01; | ||
| 5686 | /* fallthrough */ | ||
| 5680 | case STAC_HP_DV5: | 5687 | case STAC_HP_DV5: |
| 5681 | snd_hda_codec_set_pincfg(codec, 0x0d, 0x90170010); | 5688 | snd_hda_codec_set_pincfg(codec, 0x0d, 0x90170010); |
| 5682 | stac92xx_auto_set_pinctl(codec, 0x0d, AC_PINCTL_OUT_EN); | 5689 | stac92xx_auto_set_pinctl(codec, 0x0d, AC_PINCTL_OUT_EN); |
| @@ -5690,6 +5697,7 @@ again: | |||
| 5690 | spec->num_dmics = 1; | 5697 | spec->num_dmics = 1; |
| 5691 | spec->num_dmuxes = 1; | 5698 | spec->num_dmuxes = 1; |
| 5692 | spec->num_smuxes = 1; | 5699 | spec->num_smuxes = 1; |
| 5700 | spec->gpio_led = 0x08; | ||
| 5693 | break; | 5701 | break; |
| 5694 | } | 5702 | } |
| 5695 | 5703 | ||
| @@ -5746,7 +5754,8 @@ again: | |||
| 5746 | } | 5754 | } |
| 5747 | 5755 | ||
| 5748 | /* enable bass on HP dv7 */ | 5756 | /* enable bass on HP dv7 */ |
| 5749 | if (spec->board_config == STAC_HP_DV5) { | 5757 | if (spec->board_config == STAC_HP_DV4 || |
| 5758 | spec->board_config == STAC_HP_DV5) { | ||
| 5750 | unsigned int cap; | 5759 | unsigned int cap; |
| 5751 | cap = snd_hda_param_read(codec, 0x1, AC_PAR_GPIO_CAP); | 5760 | cap = snd_hda_param_read(codec, 0x1, AC_PAR_GPIO_CAP); |
| 5752 | cap &= AC_GPIO_IO_COUNT; | 5761 | cap &= AC_GPIO_IO_COUNT; |
