| From c72b9bfe0f914639cc475585f45722a3eb57a56d Mon Sep 17 00:00:00 2001 |
| From: Hui Wang <hui.wang@canonical.com> |
| Date: Sat, 5 Dec 2020 13:11:30 +0800 |
| Subject: ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop |
| |
| From: Hui Wang <hui.wang@canonical.com> |
| |
| commit c72b9bfe0f914639cc475585f45722a3eb57a56d upstream. |
| |
| This change could fix 2 issues on this machine: |
| - the bass speaker's output volume can't be adjusted, that is because |
| the bass speaker is routed to the DAC (Nid 0x6) which has no volume |
| control. |
| - after plugging a headset with vol+, vol- and pause buttons on it, |
| press those buttons, nothing happens, this means those buttons |
| don't work at all. This machine has alc287 codec, need to add the |
| codec id to the disable/enable_headset_jack_key(), then the headset |
| button could work. |
| |
| The quirk of ALC285_FIXUP_THINKPAD_HEADSET_JACK could fix both of these |
| 2 issues. |
| |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Hui Wang <hui.wang@canonical.com> |
| Link: https://lore.kernel.org/r/20201205051130.8122-1-hui.wang@canonical.com |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/pci/hda/patch_realtek.c | 7 +++++++ |
| 1 file changed, 7 insertions(+) |
| |
| --- a/sound/pci/hda/patch_realtek.c |
| +++ b/sound/pci/hda/patch_realtek.c |
| @@ -3094,6 +3094,7 @@ static void alc_disable_headset_jack_key |
| case 0x10ec0215: |
| case 0x10ec0225: |
| case 0x10ec0285: |
| + case 0x10ec0287: |
| case 0x10ec0295: |
| case 0x10ec0289: |
| case 0x10ec0299: |
| @@ -3120,6 +3121,7 @@ static void alc_enable_headset_jack_key( |
| case 0x10ec0215: |
| case 0x10ec0225: |
| case 0x10ec0285: |
| + case 0x10ec0287: |
| case 0x10ec0295: |
| case 0x10ec0289: |
| case 0x10ec0299: |
| @@ -8526,6 +8528,11 @@ static const struct snd_hda_pin_quirk al |
| {0x14, 0x90170110}, |
| {0x19, 0x04a11040}, |
| {0x21, 0x04211020}), |
| + SND_HDA_PIN_QUIRK(0x10ec0287, 0x17aa, "Lenovo", ALC285_FIXUP_THINKPAD_HEADSET_JACK, |
| + {0x14, 0x90170110}, |
| + {0x17, 0x90170111}, |
| + {0x19, 0x03a11030}, |
| + {0x21, 0x03211020}), |
| SND_HDA_PIN_QUIRK(0x10ec0286, 0x1025, "Acer", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE, |
| {0x12, 0x90a60130}, |
| {0x17, 0x90170110}, |