Re: m68k: Convert to genirq (WIP)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxxxxxxx

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

[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux