CC: Linux-Audio-Developers
CC: linux1394-devel
Spencer Russell wrote:
Hey List,
So my initial concerns that the HDA Intel audio card shares the IRQ
with ohci1394 seem to have manifested themselves. Using the kernel
option pci=noacpi initially put most of my devices on IRQ11, but then
I was able to move them around using the BIOS. Unfortunately, whenever
I change the IRQs around, HDA Intel, ohci1394, and uhci_hcd:usb2 all
seem to move together, which to me indicates that there's some
lower-level hardware connection between the three of them.
This means that I get loads of xruns if I try to run jackd with a
firewire hard drive plugged in, which is a pain because I bought this
enclosure specifically so that I would have access to the hard drive
that has all my session files on it.
The current interrupt handler for ohci1394 is rather heavyweight. This
could cause these problems. However, ohci1394 is open source, so we can
solve that if we want to :).
You should try the new juju stack, and see if you experience the same
issues there.
I'm also wondering why/whether threaded IRQ's can't be software-demuxed
in the kernel. A very basic interrupt handler like this:
handle_irq() {
switch(irq_source) {
case HDA:
set_my_prio(high);
hda_handle_irq();
case 1394:
set_my_prio(low);
1394_handle_irq();
}
}
Ingo's threaded IRQ stuff does something like this, but I don't quite
know the details of it. I'm under the impression that it allows setting
the priority of the 'handle_irq()' but not of the dispatched IRQ handlers.
Greets,
Pieter