[LAU] irq sharing

Mark Knecht markknecht at gmail.com
Tue Aug 24 13:54:30 UTC 2010

On Tue, Aug 24, 2010 at 5:10 AM, David Santamauro
<david.santamauro at gmail.com> wrote:
> Hi,
> I've decided to get back to diagnosing why my delta 1010 inputs have a
> background noise and stumbled across a few websites indicating that the
> problem could be irq sharing.
> My delta shares irq 20 with usb devices:
> $ cat /proc/interrupts |grep ICE
>  20:    1325915    1326971    1335010    1348560    1337725
> 1330100    1336582    1346152   IO-APIC-fasteoi   ehci_hcd:usb1,
> uhci_hcd:usb2, ICE1712
> Is there a way to forcibly assign ICE1712 to another IRQ? I just want
> to test the theory.
> thanks
> David

IRQ's and their numbering are physical things. Their assignment is
made, fundamentally, when the motherboard is designed and is hardwired
based on the PC board traces. You cannot change those.

For desktop machines the control you do have is to move PCI devices to
different PCI slots. Asus motherboards are usually pretty good about
calling out what slots share interrupts with other devices. Check your
MB manual.

If you don't have a manual use your eyes and think about the whole IRQ
list. (Not just the part you showed.) Look for another PCI card that
seems to be on an interrupt by itself and then switch that card with
your sound card.

For USB devices, if you have multiple USB controllers and _if_ they
use different IRQs, then you may be able to choose a different
controller by choosing a different USB connector to plug into. Move
your USB devices if this appears to be true about your motherboard.
(It is on many of mine...)

Note that sharing IRQs with a USB controller isn't necessarily bad. It
depends on what sort of USB device is attached, how its driver is
written, and how many interrupts it generates. However, all things
being equal, it's better if everything is completely separated as that
allows very little interaction.

Hope this helps,

More information about the Linux-audio-user mailing list