linux/sound/pci
Athaariq Ardhiansyah e9fbee0673 ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops
[ Upstream commit c062166995 ]

Realtek codec on HP Envy laptop series are heavily modified by vendor.
Therefore, need intervention to make it work properly. The patch fixes:

- B&O soundbar speakers (between lid and keyboard) activation
- Enable LED on mute button
- Add missing process coefficient which affects the output amplifier
- Volume control synchronization between B&O soundbar and side speakers
- Unmute headset output on several HP Envy models
- Auto-enable headset mic when plugged

This patch was tested on HP Envy x360 13-AR0107AU with Realtek ALC285

The only unsolved problem is output amplifier of all built-in speakers
is too weak, which causes volume of built-in speakers cannot be loud
as vendor's proprietary driver due to missing _DSD parameter in the
firmware. The solution is currently on research. Expected to has another
patch in the future.

Potential fix to related issues, need test before close those issues:

- https://bugzilla.kernel.org/show_bug.cgi?id=189331
- https://bugzilla.kernel.org/show_bug.cgi?id=216632
- https://bugzilla.kernel.org/show_bug.cgi?id=216311
- https://bugzilla.kernel.org/show_bug.cgi?id=213507

Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>
Message-ID: <20240310140249.3695-1-foss@athaariq.my.id>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-26 18:21:32 -04:00
..
ac97 ALSA: ac97: Fix possible error value of *rac97 2023-09-19 12:22:40 +02:00
ali5451 ALSA: ali5451: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:05 +02:00
asihpi ALSA: asihpi: check pao in control_message() 2023-04-05 11:24:53 +02:00
au88x0 ALSA: au88x0: use explicitly signed char 2022-11-03 23:59:10 +09:00
aw2 ALSA: aw2: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:05 +02:00
ca0106 ALSA: ca0106: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:06 +02:00
cs46xx ALSA: cs46xx: Fix missing snd_card_free() call at probe error 2022-07-12 16:34:48 +02:00
cs5535audio ALSA: cs5535audio: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:06 +02:00
ctxfi ALSA: ctxfi: Add SB046x PCI ID 2022-05-30 09:29:18 +02:00
echoaudio ALSA: echoaudio: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:06 +02:00
emu10k1 ALSA: emu10k1: roll up loops in DSP setup code for Audigy 2023-07-27 08:46:57 +02:00
hda ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops 2024-03-26 18:21:32 -04:00
ice1712 ALSA: ice1712: Do not left ice->gpio_mutex locked in aureon_add_controls() 2023-03-10 09:40:04 +01:00
korg1212 ALSA: korg1212: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:07 +02:00
lola ALSA: lola: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:07 +02:00
lx6464es ALSA: pci: lx6464es: fix a debug loop 2023-02-14 19:18:01 +01:00
mixart
nm256 ALSA: nm256: Don't call card private_free at probe error path 2022-04-20 09:34:09 +02:00
oxygen ALSA: oxygen: Fix right channel of capture volume mixer 2024-01-25 14:52:47 -08:00
pcxhr ALSA: pcxhr: "fix" PCXHR_REG_TO_PORT definition 2021-09-16 11:09:04 +02:00
riptide ALSA: riptide: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:08 +02:00
rme9652 ALSA: rme9652: use explicitly signed char 2022-11-03 23:59:11 +09:00
trident
vx222 ALSA: vx222: fix null-ptr-deref 2021-09-07 07:13:19 +02:00
ymfpci ALSA: ymfpci: Fix the missing snd_card_free() call at probe error 2023-08-30 16:18:16 +02:00
ad1889.c ALSA: ad1889: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:12 +02:00
ad1889.h
ak4531_codec.c
als300.c ALSA: als300: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:05 +02:00
als4000.c ALSA: als4000: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:05 +02:00
atiixp_modem.c ALSA: atiixp: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:05 +02:00
atiixp.c ALSA: atiixp: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:05 +02:00
azt3328.c ALSA: azt3328: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:06 +02:00
azt3328.h
bt87x.c ALSA: bt87x: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:06 +02:00
cmipci.c ALSA: cmipci: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:06 +02:00
cs4281.c ALSA: cs4281: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:06 +02:00
cs5530.c
ens1370.c ALSA: ens137x: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:06 +02:00
ens1371.c
es1938.c ALSA: es1938: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:06 +02:00
es1968.c ALSA: es1968: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:07 +02:00
fm801.c ALSA: fm801: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:07 +02:00
intel8x0.c ALSA: intel8x0: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:07 +02:00
intel8x0m.c ALSA: intel8x0: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:07 +02:00
Kconfig ALSA: ISA: not for M68K 2021-11-25 09:48:28 +01:00
maestro3.c ALSA: maestro3: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:08 +02:00
Makefile
rme32.c ALSA: rme32: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:08 +02:00
rme96.c ALSA: rme96: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:08 +02:00
sis7019.c ALSA: sis7019: Fix the missing error handling 2022-04-20 09:34:05 +02:00
sis7019.h
sonicvibes.c ALSA: sonicvibes: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:08 +02:00
via82xx_modem.c ALSA: via82xx: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:08 +02:00
via82xx.c ALSA: via82xx: Fix the missing snd_card_free() call at probe error 2022-04-20 09:34:08 +02:00