Subject: ISA IRQ troubles...
To: None <port-i386@netbsd.org>
From: Feico Dillema <dillema@acm.org>
List: port-i386
Date: 11/16/1998 12:38:55
Hi,

I could use some advise. I've been struggling to get some hardware
to work on NetBSD (basically -current, but I don't think it is a
-current problem). The hardware is an ISA PNP wdc controller  (IDE
CD-ROM controller) on a GUS audio card. 

I added a line to the isapnpdevs file, so that it gets recognized and 
configured `properly'. The quotes are there as the configuration seems
to go just fine, however it gets assigned IRQ 10 which is also assigned
to the `we' (non-pnp) ethernetcard. This networkcard seems to fail due
to this with message: `device timeout'.

Now I did some tracking and digging into the config code, enabled 
DEBUG_ISAPNP and so, as I thought that netbsd should have given IRQ 10 
to the IDE controller at all as it was already taken. However, it looks
like my hardware is to blame. Both cards use edge-triggered interrupts (E+)
(from the `we' driver source, and the DEBUG_ISAPNP) and according
isa_establish_intr in machdep.c, such interrupts should be able to
share an IRQ. Well, apparently not in this case. 

My question (assuming the hardware is to blame):

Is there a relatively elegant way/hook to tell netbsd not to 
allow interrupt sharing for a certain device?

Feico.