Linux Sound subsystem development
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Vasiliy Kovalev <kovalev@altlinux.org>
Cc: Takashi Iwai <tiwai@suse.com>, Jaroslav Kysela <perex@perex.cz>,
	linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
	bo liu <bo.liu@senarytech.com>
Subject: Re: [PATCH] ALSA: hda/conexant - Fix audio routing for HP EliteOne 1000 G2
Date: Wed, 09 Oct 2024 14:09:48 +0200	[thread overview]
Message-ID: <87v7y1tr3n.wl-tiwai@suse.de> (raw)
In-Reply-To: <20241009111207.655842-1-kovalev@altlinux.org>

On Wed, 09 Oct 2024 13:12:07 +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@altlinux.org>

Interesting, is this pin not used by any routes, but it has to be set
up?  A bit more comments would be helpful for the quirk function.

In anyway, please give alsa-info.sh output.  Run the script with
--no-upload option and attach the output.


thanks,

Takashi


> ---
>  sound/pci/hda/patch_conexant.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
> index b61ce5e6f5ec5..47d1929184b2a 100644
> --- a/sound/pci/hda/patch_conexant.c
> +++ b/sound/pci/hda/patch_conexant.c
> @@ -303,6 +303,7 @@ enum {
>  	CXT_FIXUP_HP_SPECTRE,
>  	CXT_FIXUP_HP_GATE_MIC,
>  	CXT_FIXUP_MUTE_LED_GPIO,
> +	CXT_FIXUP_HP_ELITEONE_OUT_DIS,
>  	CXT_FIXUP_HP_ZBOOK_MUTE_LED,
>  	CXT_FIXUP_HEADSET_MIC,
>  	CXT_FIXUP_HP_MIC_NO_PRESENCE,
> @@ -320,6 +321,17 @@ static void cxt_fixup_stereo_dmic(struct hda_codec *codec,
>  	spec->gen.inv_dmic_split = 1;
>  }
>  
> +static void cxt_fixup_out_disable(struct hda_codec *codec,
> +				   const struct hda_fixup *fix, int action)
> +{
> +	if (action == HDA_FIXUP_ACT_PROBE) {
> +		unsigned int val;
> +
> +		val = snd_hda_codec_get_pin_target(codec, 0x1d);
> +		snd_hda_set_pin_ctl(codec, 0x1d, val & (~AC_PINCTL_OUT_EN));
> +	}
> +}
> +
>  static void cxt5066_increase_mic_boost(struct hda_codec *codec,
>  				   const struct hda_fixup *fix, int action)
>  {
> @@ -971,6 +983,10 @@ static const struct hda_fixup cxt_fixups[] = {
>  		.type = HDA_FIXUP_FUNC,
>  		.v.func = cxt_fixup_mute_led_gpio,
>  	},
> +	[CXT_FIXUP_HP_ELITEONE_OUT_DIS] = {
> +		.type = HDA_FIXUP_FUNC,
> +		.v.func = cxt_fixup_out_disable,
> +	},
>  	[CXT_FIXUP_HP_ZBOOK_MUTE_LED] = {
>  		.type = HDA_FIXUP_FUNC,
>  		.v.func = cxt_fixup_hp_zbook_mute_led,
> @@ -1061,6 +1077,7 @@ static const struct snd_pci_quirk cxt5066_fixups[] = {
>  	SND_PCI_QUIRK(0x103c, 0x83b2, "HP EliteBook 840 G5", CXT_FIXUP_HP_DOCK),
>  	SND_PCI_QUIRK(0x103c, 0x83b3, "HP EliteBook 830 G5", CXT_FIXUP_HP_DOCK),
>  	SND_PCI_QUIRK(0x103c, 0x83d3, "HP ProBook 640 G4", CXT_FIXUP_HP_DOCK),
> +	SND_PCI_QUIRK(0x103c, 0x83e5, "HP EliteOne 1000 G2", CXT_FIXUP_HP_ELITEONE_OUT_DIS),
>  	SND_PCI_QUIRK(0x103c, 0x8402, "HP ProBook 645 G4", CXT_FIXUP_MUTE_LED_GPIO),
>  	SND_PCI_QUIRK(0x103c, 0x8427, "HP ZBook Studio G5", CXT_FIXUP_HP_ZBOOK_MUTE_LED),
>  	SND_PCI_QUIRK(0x103c, 0x844f, "HP ZBook Studio G5", CXT_FIXUP_HP_ZBOOK_MUTE_LED),
> -- 
> 2.33.8
> 

  reply	other threads:[~2024-10-09 12:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-09 11:12 [PATCH] ALSA: hda/conexant - Fix audio routing for HP EliteOne 1000 G2 Vasiliy Kovalev
2024-10-09 12:09 ` Takashi Iwai [this message]
2024-10-09 12:28   ` Vasiliy Kovalev
2024-10-09 12:49     ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v7y1tr3n.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=bo.liu@senarytech.com \
    --cc=kovalev@altlinux.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox