]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ALSA: hda: Poll jack events for LS7A HD-Audio
authorHuacai Chen <chenhuacai@loongson.cn>
Fri, 15 Nov 2024 15:06:53 +0000 (23:06 +0800)
committerTakashi Iwai <tiwai@suse.de>
Mon, 18 Nov 2024 13:40:01 +0000 (14:40 +0100)
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>
sound/pci/hda/hda_intel.c

index 6e271777feb9c958e7d30a779577b8ee6b3f7a5c..4a62440adfafdb351e96de3c4c9fed478432e4ac 100644 (file)
@@ -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");