[alsa-devel] snd-intel-hda: screaming IRQ with 3.5.3 kernel (HDMI)
Hi,
I have recently added a Radeon HD4670 to one of my older PCs, and have noticed that it has IRQ trouble when I try to enable the HDMI audio:
irq 17: nobody cared (try booting with the "irqpoll" option) Pid: 0, comm: swapper/0 Not tainted 3.5.3 #2 Call Trace: [<c1063806>] ? __report_bad_irq+0x11/0x94 [<c1063a2d>] ? note_interrupt+0x120/0x19b [<c1062325>] ? handle_irq_event_percpu+0xe8/0xfb [<c1062361>] ? handle_irq_event+0x29/0x40 [<c10640fc>] ? handle_level_irq+0x93/0x93 [<c1064163>] ? handle_fasteoi_irq+0x67/0x90 <IRQ> [<c1003625>] ? do_IRQ+0x2e/0x83 [<c1229829>] ? common_interrupt+0x29/0x30 [<c106007b>] ? audit_update_watch+0x59/0x285 [<c1007479>] ? default_idle+0x23/0x3b [<c1007b38>] ? cpu_idle+0x4b/0x7e [<c1314877>] ? start_kernel+0x2a4/0x2a7 handlers: [<f8c97b75>] azx_interrupt [snd_hda_intel] Disabling IRQ #17
This is frequently followed by KMS trouble too:
irq 16: nobody cared (try booting with the "irqpoll" option) Pid: 0, comm: swapper/0 Not tainted 3.5.3 #2 Call Trace: [<c1063806>] ? __report_bad_irq+0x11/0x94 [<c1063a2d>] ? note_interrupt+0x120/0x19b [<c1062325>] ? handle_irq_event_percpu+0xe8/0xfb [<c1062361>] ? handle_irq_event+0x29/0x40 [<c10640fc>] ? handle_level_irq+0x93/0x93 [<c1064163>] ? handle_fasteoi_irq+0x67/0x90 <IRQ> [<c1003625>] ? do_IRQ+0x2e/0x83 [<c1229829>] ? common_interrupt+0x29/0x30 [<c106007b>] ? audit_update_watch+0x59/0x285 [<c1007479>] ? default_idle+0x23/0x3b [<c1007b38>] ? cpu_idle+0x4b/0x7e [<c1314877>] ? start_kernel+0x2a4/0x2a7 handlers: [<f818bfb3>] radeon_driver_irq_handler_kms [radeon] [<f81fe55f>] usb_hcd_irq [usbcore] Disabling IRQ #16
The PCI entries are:
01:00.1 Audio device: ATI Technologies Inc RV710/730 Subsystem: ATI Technologies Inc RV710/730 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64 (2000ns min), Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 17 Region 0: Memory at ff8ec000 (32-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 3 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: snd_hda_intel
and:
01:00.0 VGA compatible controller: ATI Technologies Inc RV730 Pro AGP [Radeon HD 4600 Series] (prog-if 00 [VGA controller]) Subsystem: ATI Technologies Inc Device 0028 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+ Latency: 64 (2000ns min), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 16 Region 0: Memory at e0000000 (32-bit, prefetchable) [size=256M] Region 1: I/O ports at ec00 [size=256] Region 2: Memory at ff8f0000 (32-bit, non-prefetchable) [size=64K] Expansion ROM at ff800000 [disabled] [size=128K] Capabilities: [50] Power Management version 3 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] AGP version 3.0 Status: RQ=256 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8 Command: RQ=32 ArqSz=2 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x8 Kernel driver in use: radeon
Does anyone have any suggestions, please?
Thanks, Chris
At Sat, 08 Sep 2012 14:59:09 +0100, Chris Rankin wrote:
Hi,
I have recently added a Radeon HD4670 to one of my older PCs, and have noticed that it has IRQ trouble when I try to enable the HDMI audio:
irq 17: nobody cared (try booting with the "irqpoll" option) Pid: 0, comm: swapper/0 Not tainted 3.5.3 #2 Call Trace: [<c1063806>] ? __report_bad_irq+0x11/0x94 [<c1063a2d>] ? note_interrupt+0x120/0x19b [<c1062325>] ? handle_irq_event_percpu+0xe8/0xfb [<c1062361>] ? handle_irq_event+0x29/0x40 [<c10640fc>] ? handle_level_irq+0x93/0x93 [<c1064163>] ? handle_fasteoi_irq+0x67/0x90 <IRQ> [<c1003625>] ? do_IRQ+0x2e/0x83 [<c1229829>] ? common_interrupt+0x29/0x30 [<c106007b>] ? audit_update_watch+0x59/0x285 [<c1007479>] ? default_idle+0x23/0x3b [<c1007b38>] ? cpu_idle+0x4b/0x7e [<c1314877>] ? start_kernel+0x2a4/0x2a7 handlers: [<f8c97b75>] azx_interrupt [snd_hda_intel] Disabling IRQ #17
This is frequently followed by KMS trouble too:
irq 16: nobody cared (try booting with the "irqpoll" option) Pid: 0, comm: swapper/0 Not tainted 3.5.3 #2 Call Trace: [<c1063806>] ? __report_bad_irq+0x11/0x94 [<c1063a2d>] ? note_interrupt+0x120/0x19b [<c1062325>] ? handle_irq_event_percpu+0xe8/0xfb [<c1062361>] ? handle_irq_event+0x29/0x40 [<c10640fc>] ? handle_level_irq+0x93/0x93 [<c1064163>] ? handle_fasteoi_irq+0x67/0x90 <IRQ> [<c1003625>] ? do_IRQ+0x2e/0x83 [<c1229829>] ? common_interrupt+0x29/0x30 [<c106007b>] ? audit_update_watch+0x59/0x285 [<c1007479>] ? default_idle+0x23/0x3b [<c1007b38>] ? cpu_idle+0x4b/0x7e [<c1314877>] ? start_kernel+0x2a4/0x2a7 handlers: [<f818bfb3>] radeon_driver_irq_handler_kms [radeon] [<f81fe55f>] usb_hcd_irq [usbcore] Disabling IRQ #16
The PCI entries are:
01:00.1 Audio device: ATI Technologies Inc RV710/730 Subsystem: ATI Technologies Inc RV710/730 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64 (2000ns min), Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 17 Region 0: Memory at ff8ec000 (32-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 3 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: snd_hda_intel
and:
01:00.0 VGA compatible controller: ATI Technologies Inc RV730 Pro AGP [Radeon HD 4600 Series] (prog-if 00 [VGA controller]) Subsystem: ATI Technologies Inc Device 0028 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+ Latency: 64 (2000ns min), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 16 Region 0: Memory at e0000000 (32-bit, prefetchable) [size=256M] Region 1: I/O ports at ec00 [size=256] Region 2: Memory at ff8f0000 (32-bit, non-prefetchable) [size=64K] Expansion ROM at ff800000 [disabled] [size=128K] Capabilities: [50] Power Management version 3 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] AGP version 3.0 Status: RQ=256 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8 Command: RQ=32 ArqSz=2 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x8 Kernel driver in use: radeon
Does anyone have any suggestions, please?
Did you try any workaround boot options such as irqpoll, pci=nocrs or whatever?
Takashi
----- Original Message -----
Did you try any workaround boot options such as irqpoll, pci=nocrs or whatever?
No, because wouldn't "irqpoll" have forced polling for every IRQ on the box? I need to avoid polling on the video card's IRQ because it noticeably impacts the responsiveness. (I assume that the kernel switches to polling the device instead when it disables the IRQ anyway).
I didn't try "pci=nocrs" because I didn't know about it. I can try that tonight.
Cheers, Chris
At Mon, 10 Sep 2012 03:28:58 -0700 (PDT), Chris Rankin wrote:
----- Original Message -----
Did you try any workaround boot options such as irqpoll, pci=nocrs or whatever?
No, because wouldn't "irqpoll" have forced polling for every IRQ on the box?
No, you misunderstand.
Takashi
----- Original Message -----
Did you try any workaround boot options such as irqpoll, pci=nocrs or whatever?
OK, the "irqpoll=1" option does help here. Although this message is obviously scary:
Misrouted IRQ fixup and polling support enabled This may significantly impact system performance
And the "pci=nocrs" option does Really Bad Things to the display at boot-time.
So what is "irqpoll" actually doing, please? Is it just a temporary workaround for a driver bug?
Thanks, Chris
----- Original Message -----
Did you try any workaround boot options such as irqpoll, pci=nocrs or whatever?
Actually, it turns out that booting with "irqpoll=1" simply means that this problem takes longer to happen:
irq 17: nobody cared (try booting with the "irqpoll" option) Pid: 3347, comm: wineserver Not tainted 3.5.3 #2 Call Trace: [<c1063806>] ? __report_bad_irq+0x11/0x94 [<c1063a2d>] ? note_interrupt+0x120/0x19b [<c1062325>] ? handle_irq_event_percpu+0xe8/0xfb [<c1062361>] ? handle_irq_event+0x29/0x40 [<c1064163>] ? handle_fasteoi_irq+0x67/0x90 [<c1003957>] ? handle_irq+0x63/0x70 [<c1003625>] ? do_IRQ+0x2e/0x83 [<c1229829>] ? common_interrupt+0x29/0x30 handlers: [<f8d09b75>] azx_interrupt [snd_hda_intel] Disabling IRQ #17
Cheers, Chris
participants (2)
-
Chris Rankin
-
Takashi Iwai