Re: [PATCH v2] ALSA: hda/conexant - Fix audio routing for HP EliteOne 1000 G2

From: Vasiliy Kovalev
Date: Thu Oct 10 2024 - 04:49:57 EST



10.10.2024 08:17, Takashi Iwai wrote:
On Thu, 10 Oct 2024 05:32:18 +0200,
Kai-Heng Feng wrote:


On 2024/10/9 9:50 PM, Takashi Iwai wrote:
On Wed, 09 Oct 2024 15:42:48 +0200,
Vasiliy Kovalev wrote:

There is a problem with simultaneous audio output to headphones and
speakers, and when headphones are turned off, the speakers also turn
off and do not turn them on.

However, it was found that if you boot linux immediately after windows,
there are no such problems. When comparing alsa-info, the only difference
is the different configuration of Node 0x1d:

working conf. (windows): Pin-ctls: 0x80: HP
not working (linux): Pin-ctls: 0xc0: OUT HP

This patch disable the AC_PINCTL_OUT_EN bit of Node 0x1d and fixes the
described problem.

Signed-off-by: Vasiliy Kovalev <kovalev@xxxxxxxxxxxx>

Thanks, applied now.

Though this is already applied, is it possible to see if the issue
also happens on S4?

Linux doesn't put PCI devices like HDA to D3 during shutdown and
reboot while Windows does, that might be the reason boot Linux after
Windows can workaround the issue.

Linux does put PCI devices to D3 for hibernate (S4), so we can use it
as an experiment.

Right, it should have been the cached version so that the setup is
reapplied automatically; i.e. replace snd_hda_set_pin_ctl() with
snd_hda_set_pin_ctl_cached().

Vasiliy, care to test and submit an incremental fix?

Ok, I compiled the module with the proposed changes and sent it to the user for testing on a machine with this codec. After testing, I will write about the result.


thanks,

Takashi
--
Thanks,
Vasiliy Kovalev