On Fri, Feb 19, 2021 at 09:10:57AM +0100, Geert Uytterhoeven wrote: > Hi Michael, > > On Thu, Feb 18, 2021 at 11:11 PM Michael Schmitz <schmitz...@gmail.com> wrote: > > On 19/02/21 12:19 am, Arnd Bergmann wrote: > > > drivers/net/ethernet/8390/apne.c > > > drivers/net/ethernet/8390/ax88796.c > > > drivers/net/ethernet/8390/hydra.c > > > drivers/net/ethernet/8390/mac8390.c > > > drivers/net/ethernet/8390/ne.c > > > drivers/net/ethernet/8390/zorro8390.c > > [...] > > > Most of these are normal short-lived interrupts that only transfer > > > a few bytes or schedule deferred processing of some sort. > > > Most of the scsi and network drivers process the data in > > > a softirq, so those are generally fine here, but I do see that 8390 > > > (ne2000) ethernet and the drivers/ide drivers do transfer their > > > data in hardirq context. > > > > > > Arnd > > > > 8390 ethernet drivers are widely used on m68k platforms (Amiga and > > Atari). At least on Amiga, the corresponding interrupt is a hardirq so > > I'd advise caution. That said, the 8390 drivers might benefit from some > > refactoring (the way these drivers are compiled does prevent e.g. the > > APNE driver from being used with two different variants of PCMCIA > > interfaces. I had begun some work on making IO primitives runtime > > selected two years ago but that ended up looking too ugly ...). > > > > Can't recall what IPL the 8390 interrupts operate at - Geert? > > #define IRQ_AMIGA_PORTS IRQ_AUTO_2 > > Zorro expansion boards can also use > > #define IRQ_AMIGA_EXTER IRQ_AUTO_6 > > and some boards may have a jumper to select the latter, but all Amiga > Linux drivers use IRQ_AMIGA_PORTS.
The mac8390 driver will show up wherever NuBus interrupts are routed, which varies by hardware. It's frequently IRQ_AUTO_2 (due to being routed through the second VIA chip on most models), but it can be in other places on systems that don't use a second VIA chip. On the IIfx, NuBus interrupts get routed through OSS to IRQ_AUTO_3. I don't see any cases that use other interrupt levels, but some of the logic is a little harder to follow. It's not an 8390, but it looks like macmace actually uses two levels. The regular interrupt should show up at IRQ_AUTO_3 and the DMA interrupts at IRQ_AUTO_4. Most Macs only use 4 for serial, but this is an exception. Brad Boyer f...@allandria.com