Messages in this thread | | | Subject | Re: linux-kernel-digest V1 #824 | Date | Sat, 05 Apr 1997 23:22:33 -0500 | From | "David C. Davies" <> |
| |
> 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?
Regards,
Dave
| |