[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.OSX.2.00.1108102007430.203@ibook.local>
Date: Wed, 10 Aug 2011 20:53:16 +1000 (EST)
From: Finn Thain <fthain@...egraphics.com.au>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
cc: Brad Boyer <flar@...andria.com>,
Linux/m68k <linux-m68k@...ts.linux-m68k.org>,
Thomas Gleixner <tglx@...utronix.de>,
Linux Kernel Development <linux-kernel@...r.kernel.org>
Subject: Re: m68k: Convert to genirq (WIP)
On Wed, 10 Aug 2011, Geert Uytterhoeven wrote:
>
> While looking into optimizing interrupts using chain handlers (which
> cannot be shared), I noticed several of these cascades are hung on the
> same interrupt. Hence we cannot use the optimization of chain handlers
> for them.
>
> Knowing which are mutually exclusive helps a lot, but my Mac knowledge
> is very limited.
>
> I derived from the code this list of cascade handlers and the interrupts
> they use:
>
> baboon_irq
> IRQ_NUBUS_C
>
> oss_irq
> OSS_IRQLEV_SCSI = IRQ_AUTO_2 conflict: via2_irq
> OSS_IRQLEV_SOUND = IRQ_AUTO_5 conflict: psc_irq
PSC and OSS are mutually exclusive.
VIA2 and OSS are also mutually exlusive.
>
> oss_nubus_irq
> OSS_IRQLEV_NUBUS = IRQ_AUTO_3 conflict: psc_irq
>
> psc_irq
> IRQ_AUTO_3 conflict: oss_nubus_irq
> IRQ_AUTO_4
> IRQ_AUTO_5 conflict: oss_irq
> IRQ_AUTO_6 conflict: via1_irq
>
> via1_irq
> OSS_IRQLEV_VIA1 = IRQ_AUTO_6 (on oss) conflict: psc_irq
>
> IRQ_AUTO_1 conflict: iop_ism_irq
iop_ism_irq is only used with OSS.
> IRQ_AUTO_6 (if via_alt_mapping) conflict: psc_irq
via_alt_mapping is not used with PSC.
>
> via2_irq
> IRQ_AUTO_2 conflict: oss_irq
>
> via_nubus_irq
> IRQ_MAC_NUBUS = IRQ_VIA2_1
>
> These are other interrupts using in the Mac core code, which may use the same
> interrupts as some of the cascades above:
>
> iop_ism_irq
> OSS_IRQLEV_IOPISM = 1 = IRQ_AUTO_1 (on oss) conflict: via1_irq
via1_irq is remapped to IRQ_AUTO_6 on OSS.
> IRQ_VIA2_0 (on !oss)
>
> mac_nmi_handler
> IRQ_AUTO_7
>
> timer handler
> IRQ_MAC_TIMER_1 = IRQ_VIA1_6
>
> So baboon and PSC are mutually exclusive? But they don't conflict w.r.t. to
> interrupt lines anyway, so they're not an issue.
>
> From the code, OSS and VIA are also mutually exclusive (except for via1_irq)?
>
> But PSC can coexist with OSS? That's where most of the conflicts are.
Hope this helps...
Finn
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
>
Powered by blists - more mailing lists