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

From: Takashi Iwai
Date: Thu Oct 10 2024 - 01:16:57 EST


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?


thanks,

Takashi