Re: linux-kernel-digest V1 #824

David C. Davies (
Sat, 05 Apr 1997 23:22:33 -0500

> The SCSI drivers registers the IRQ with the SA_INTERRUPT flag,
> the network driver without this flag, so the IRQ can not be
> shared.

This problem has been known for a year or so ... PCMCIA needs shared fast and
slow interrupts.

A solution is available by reworking the existing fast/slow irq handlers, e.g.:

1. Walk the interrupt list for the signalled irq for FAST interrupts (irqs disabled)
2. enable irqs
3. if slow_irq_flag is set return (as for current fast irqs)
4. set a slow_irq_flag
5. walk the interrupt list for slow irqs
6. clear the slow_interrupt_flag
7. return (via signal handler code as for normal slow interrupts)

My questions on your proposal are:

> Get a list of all available PCI IRQ's, assign the first one
How to differentiate between ISA and PCI interrupts?

> The pci_set_*_irq call should be called in all drivers, just
> before the call of pcibios_read_config_byte() for the irq.
How will you figure out the mapping from the INT lines to the interrupt
controller IC inputs?