public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mingcong Bai <jeffbai@aosc.io>
To: Huacai Chen <chenhuacai@loongson.cn>
Cc: Takashi Iwai <tiwai@suse.com>, Jaroslav Kysela <perex@perex.cz>,
	Huacai Chen <chenhuacai@kernel.org>,
	linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
	Xuerui Wang <kernel@xen0n.name>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	stable@vger.kernel.org
Subject: Re: [PATCH] ALSA: hda: Poll jack events for LS7A HD-Audio
Date: Wed, 20 Nov 2024 15:02:07 +0800	[thread overview]
Message-ID: <c47281ea4b3f68cb8c3b0f3582e62fab@aosc.io> (raw)
In-Reply-To: <20241115150653.2819100-1-chenhuacai@loongson.cn>

Hi Huacai,

在 2024-11-15 23:06,Huacai Chen 写道:
> LS7A HD-Audio disable interrupts and use polling mode due to hardware
> drawbacks. As a result, unsolicited jack events are also unusable. If
> we want to support headphone hotplug, we need to also poll jack events.
> 
> Here we use 1500ms as the poll interval if no module parameter specify
> it.

A little late since Takashi Iwai already queued this patch, but for the 
sake of the record, I have tested this patch and found that it resolved 
the issue where hot-plugged (plugged in after boot) headphones were not 
detected on the following boards:

- Loongson XA61200
- Loongson XA612A0
- Loongson Loongson-3A5000-HV-7A2000-1w-V0.1-EVB
- ASUS XC-LS3A6M

Hooray.

But I would also like to note that this issue was only reproducible on 
Loongson (or Loongson-drived, in the case of that ASUS board) firmware. 
However, with the XA61200 board, when using Byosoft's firmware 
(https://github.com/loongson/Firmware/blob/main/6000Series/PC/XA61200/Byosoft_3A6000_7A2000_CRB_R0103.bin), 
audio jack hot-plugging works with or without this patch. So I do 
suspect that there are still a firmware issue at play.

Bottom line - this patch should have fixed audio jack hot-plugging for 
most users.

Best Regards,
Mingcong Bai

> 
> Cc: stable@vger.kernel.org
> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
> ---
>  sound/pci/hda/hda_intel.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> index b4540c5cd2a6..5060d5428caf 100644
> --- a/sound/pci/hda/hda_intel.c
> +++ b/sound/pci/hda/hda_intel.c
> @@ -1867,6 +1867,8 @@ static int azx_first_init(struct azx *chip)
>  		bus->polling_mode = 1;
>  		bus->not_use_interrupts = 1;
>  		bus->access_sdnctl_in_dword = 1;
> +		if (!chip->jackpoll_interval)
> +			chip->jackpoll_interval = msecs_to_jiffies(1500);
>  	}
> 
>  	err = pcim_iomap_regions(pci, 1 << 0, "ICH HD audio");

      parent reply	other threads:[~2024-11-20  7:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-15 15:06 [PATCH] ALSA: hda: Poll jack events for LS7A HD-Audio Huacai Chen
2024-11-18 13:41 ` Takashi Iwai
2024-11-20  7:02 ` Mingcong Bai [this message]

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=c47281ea4b3f68cb8c3b0f3582e62fab@aosc.io \
    --to=jeffbai@aosc.io \
    --cc=chenhuacai@kernel.org \
    --cc=chenhuacai@loongson.cn \
    --cc=jiaxun.yang@flygoat.com \
    --cc=kernel@xen0n.name \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=stable@vger.kernel.org \
    --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