From: Huacai Chen <chenhuacai@loongson.cn>
Date: Fri, 15 Nov 2024 15:06:53 +0000 (+0800)
Subject: ALSA: hda: Poll jack events for LS7A HD-Audio
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=e3f8064d8b29036f037fd1ff6000e5d959d84843;p=users%2Fdwmw2%2Flinux.git

ALSA: hda: Poll jack events for LS7A HD-Audio

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.

Cc: stable@vger.kernel.org
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Link: https://patch.msgid.link/20241115150653.2819100-1-chenhuacai@loongson.cn
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---

diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 6e271777feb9c..4a62440adfafd 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -1859,6 +1859,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");