diff options
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index bc86c36b4bfa..c9cf248ce8ec 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -2675,7 +2675,7 @@ static void alc269_shutup(struct hda_codec *codec) | |||
2675 | 2675 | ||
2676 | static struct coef_fw alc282_coefs[] = { | 2676 | static struct coef_fw alc282_coefs[] = { |
2677 | WRITE_COEF(0x03, 0x0002), /* Power Down Control */ | 2677 | WRITE_COEF(0x03, 0x0002), /* Power Down Control */ |
2678 | WRITE_COEF(0x05, 0x0700), /* FIFO and filter clock */ | 2678 | UPDATE_COEF(0x05, 0xff3f, 0x0700), /* FIFO and filter clock */ |
2679 | WRITE_COEF(0x07, 0x0200), /* DMIC control */ | 2679 | WRITE_COEF(0x07, 0x0200), /* DMIC control */ |
2680 | UPDATE_COEF(0x06, 0x00f0, 0), /* Analog clock */ | 2680 | UPDATE_COEF(0x06, 0x00f0, 0), /* Analog clock */ |
2681 | UPDATE_COEF(0x08, 0xfffc, 0x0c2c), /* JD */ | 2681 | UPDATE_COEF(0x08, 0xfffc, 0x0c2c), /* JD */ |
@@ -2786,7 +2786,7 @@ static void alc282_shutup(struct hda_codec *codec) | |||
2786 | 2786 | ||
2787 | static struct coef_fw alc283_coefs[] = { | 2787 | static struct coef_fw alc283_coefs[] = { |
2788 | WRITE_COEF(0x03, 0x0002), /* Power Down Control */ | 2788 | WRITE_COEF(0x03, 0x0002), /* Power Down Control */ |
2789 | WRITE_COEF(0x05, 0x0700), /* FIFO and filter clock */ | 2789 | UPDATE_COEF(0x05, 0xff3f, 0x0700), /* FIFO and filter clock */ |
2790 | WRITE_COEF(0x07, 0x0200), /* DMIC control */ | 2790 | WRITE_COEF(0x07, 0x0200), /* DMIC control */ |
2791 | UPDATE_COEF(0x06, 0x00f0, 0), /* Analog clock */ | 2791 | UPDATE_COEF(0x06, 0x00f0, 0), /* Analog clock */ |
2792 | UPDATE_COEF(0x08, 0xfffc, 0x0c2c), /* JD */ | 2792 | UPDATE_COEF(0x08, 0xfffc, 0x0c2c), /* JD */ |
@@ -2817,6 +2817,7 @@ static struct coef_fw alc283_coefs[] = { | |||
2817 | UPDATE_COEF(0x40, 0xf800, 0x9800), /* Class D DC enable */ | 2817 | UPDATE_COEF(0x40, 0xf800, 0x9800), /* Class D DC enable */ |
2818 | UPDATE_COEF(0x42, 0xf000, 0x2000), /* DC offset */ | 2818 | UPDATE_COEF(0x42, 0xf000, 0x2000), /* DC offset */ |
2819 | WRITE_COEF(0x37, 0xfc06), /* Class D amp control */ | 2819 | WRITE_COEF(0x37, 0xfc06), /* Class D amp control */ |
2820 | UPDATE_COEF(0x1b, 0x8000, 0), /* HP JD control */ | ||
2820 | {} | 2821 | {} |
2821 | }; | 2822 | }; |
2822 | 2823 | ||
@@ -2884,6 +2885,9 @@ static void alc283_shutup(struct hda_codec *codec) | |||
2884 | 2885 | ||
2885 | alc_write_coef_idx(codec, 0x43, 0x9004); | 2886 | alc_write_coef_idx(codec, 0x43, 0x9004); |
2886 | 2887 | ||
2888 | /*depop hp during suspend*/ | ||
2889 | alc_write_coef_idx(codec, 0x06, 0x2100); | ||
2890 | |||
2887 | snd_hda_codec_write(codec, hp_pin, 0, | 2891 | snd_hda_codec_write(codec, hp_pin, 0, |
2888 | AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE); | 2892 | AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE); |
2889 | 2893 | ||
@@ -5610,9 +5614,9 @@ static void alc662_led_gpio1_mute_hook(void *private_data, int enabled) | |||
5610 | unsigned int oldval = spec->gpio_led; | 5614 | unsigned int oldval = spec->gpio_led; |
5611 | 5615 | ||
5612 | if (enabled) | 5616 | if (enabled) |
5613 | spec->gpio_led &= ~0x01; | ||
5614 | else | ||
5615 | spec->gpio_led |= 0x01; | 5617 | spec->gpio_led |= 0x01; |
5618 | else | ||
5619 | spec->gpio_led &= ~0x01; | ||
5616 | if (spec->gpio_led != oldval) | 5620 | if (spec->gpio_led != oldval) |
5617 | snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA, | 5621 | snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA, |
5618 | spec->gpio_led); | 5622 | spec->gpio_led); |
@@ -5919,6 +5923,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = { | |||
5919 | SND_PCI_QUIRK(0x1028, 0x0626, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), | 5923 | SND_PCI_QUIRK(0x1028, 0x0626, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), |
5920 | SND_PCI_QUIRK(0x1028, 0x0696, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), | 5924 | SND_PCI_QUIRK(0x1028, 0x0696, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), |
5921 | SND_PCI_QUIRK(0x1028, 0x0698, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), | 5925 | SND_PCI_QUIRK(0x1028, 0x0698, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), |
5926 | SND_PCI_QUIRK(0x1028, 0x069f, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), | ||
5922 | SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), | 5927 | SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), |
5923 | SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_BASS_1A), | 5928 | SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_BASS_1A), |
5924 | SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_BASS_MODE4_CHMAP), | 5929 | SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_BASS_MODE4_CHMAP), |