mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] ALSA: hda: Force MSI for Hygon H34M51A board
@ 2026-10-22  8:54 rppxj178543
  2026-10-23 13:34 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: rppxj178543 @ 2026-10-22  8:54 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, perex, fuhao, linux-kernel, renpanpan

From: renpanpan <renpanpan@kylinos.cn>

The Hygon HDA controller (PCI 1d94:14a9) has AZX_DCAPS_NO_MSI set in
the PCI ID table to use legacy INTx, as MSI may lose interrupts under
heavy load on some Hygon platforms (commit 41212ff3e4ed ("ALSA: hda:
Add support for Hygon family 18h model 5h HD-Audio")).

However, on the Kunlun H34M51A board (PCI subsystem 1d94:c950) the
INTx interrupt line is not wired.  /proc/interrupts shows zero count
for the HDA IRQ from boot, so the RIRB interrupt handler is never
called.  Without RIRB processing, azx_rirb_get_response() times out
after 1 s, switches to polling mode, and the resulting slow codec
communication delays card registration by ~20 s and breaks
unsolicited jack-detection event delivery.

Force MSI on for subsystem 1d94:c950 by adding it to msi_deny_list
with value 1.  The list is consulted in check_msi() before the
AZX_DCAPS_NO_MSI check, so H34M51A gets MSI enabled while other
Hygon platforms retain INTx.

Signed-off-by: renpanpan <renpanpan@kylinos.cn>
---
 sound/hda/controllers/intel.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/hda/controllers/intel.c b/sound/hda/controllers/intel.c
index 24015c73a67f..fa36ed4c1153 100644
--- a/sound/hda/controllers/intel.c
+++ b/sound/hda/controllers/intel.c
@@ -1669,6 +1669,7 @@ static const struct snd_pci_quirk msi_deny_list[] = {
 	SND_PCI_QUIRK(0x1179, 0xfb44, "Toshiba Satellite C870", 0), /* AMD Hudson */
 	SND_PCI_QUIRK(0x1849, 0x0888, "ASRock", 0), /* Athlon64 X2 + nvidia */
 	SND_PCI_QUIRK(0xa0a0, 0x0575, "Aopen MZ915-M", 0), /* ICH6 */
+	SND_PCI_QUIRK(0x1d94, 0xc950, "Hygon H34M51A", 1), /* INTx broken */
 	{}
 };
 
-- 
2.43.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] ALSA: hda: Force MSI for Hygon H34M51A board
  2026-10-22  8:54 [PATCH] ALSA: hda: Force MSI for Hygon H34M51A board rppxj178543
@ 2026-10-23 13:34 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2026-10-23 13:34 UTC (permalink / raw)
  To: rppxj178543; +Cc: alsa-devel, tiwai, perex, fuhao, linux-kernel, renpanpan

On Thu, 22 Oct 2026 10:54:38 +0200,
rppxj178543@163.com wrote:
> 
> From: renpanpan <renpanpan@kylinos.cn>
> 
> The Hygon HDA controller (PCI 1d94:14a9) has AZX_DCAPS_NO_MSI set in
> the PCI ID table to use legacy INTx, as MSI may lose interrupts under
> heavy load on some Hygon platforms (commit 41212ff3e4ed ("ALSA: hda:
> Add support for Hygon family 18h model 5h HD-Audio")).
> 
> However, on the Kunlun H34M51A board (PCI subsystem 1d94:c950) the
> INTx interrupt line is not wired.  /proc/interrupts shows zero count
> for the HDA IRQ from boot, so the RIRB interrupt handler is never
> called.  Without RIRB processing, azx_rirb_get_response() times out
> after 1 s, switches to polling mode, and the resulting slow codec
> communication delays card registration by ~20 s and breaks
> unsolicited jack-detection event delivery.
> 
> Force MSI on for subsystem 1d94:c950 by adding it to msi_deny_list
> with value 1.  The list is consulted in check_msi() before the
> AZX_DCAPS_NO_MSI check, so H34M51A gets MSI enabled while other
> Hygon platforms retain INTx.
> 
> Signed-off-by: renpanpan <renpanpan@kylinos.cn>

Applied now.  Thanks.


Takashi

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-23 13:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-22  8:54 [PATCH] ALSA: hda: Force MSI for Hygon H34M51A board rppxj178543
2026-10-23 13:34 ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®