From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Brad Boyer <flar@allandria.com>
Cc: Finn Thain <fthain@telegraphics.com.au>,
"Linux/m68k" <linux-m68k@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Linux Kernel Development <linux-kernel@vger.kernel.org>
Subject: Re: m68k: Convert to genirq (WIP)
Date: Wed, 10 Aug 2011 11:59:08 +0200 [thread overview]
Message-ID: <CAMuHMdXVt5+nCaCSH3+z0fsL+vhOOTgbKsOAses8OudT-1OZGQ@mail.gmail.com> (raw)
In-Reply-To: <20110605062702.GA2034@cynthia.pants.nu>
On Sun, Jun 5, 2011 at 08:27, Brad Boyer <flar@allandria.com> wrote:
> If we could really map all the interrupt controllers, we could probably
> cut down on the largest interrupt number. Most Macs really only have
> 20 or 30 actual interrupt sources. The problem is the two or three
> layers of cascaded mess. None of them have just a single layer. Just
> getting rid of the fixed global mapping could take us down to 64 since
> nothing has both Baboon and PSC, but we have unique numbers for them.
> We have 3 whole blocks of 8 just for PSC, even though that's just in
> two models. We don't even know what most of those do, if anything.
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
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
IRQ_AUTO_6 (if via_alt_mapping) conflict: psc_irq
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
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.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-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
next prev parent reply other threads:[~2011-08-10 9:59 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-28 18:32 m68k: Convert to genirq (WIP) Geert Uytterhoeven
2011-05-31 8:35 ` Geert Uytterhoeven
2011-05-31 9:50 ` Thomas Gleixner
2011-05-31 19:54 ` Geert Uytterhoeven
2011-05-31 20:10 ` Thomas Gleixner
2011-06-03 11:20 ` Finn Thain
2011-06-03 11:33 ` Geert Uytterhoeven
2011-06-05 6:27 ` Brad Boyer
2011-06-05 7:45 ` Geert Uytterhoeven
2011-08-10 9:59 ` Geert Uytterhoeven [this message]
2011-08-10 10:53 ` Finn Thain
2011-08-10 16:19 ` Brad Boyer
2011-08-26 9:52 ` Geert Uytterhoeven
2011-08-26 11:21 ` Finn Thain
2011-08-26 11:32 ` Geert Uytterhoeven
2011-08-26 16:09 ` Brad Boyer
2011-06-04 17:56 ` Geert Uytterhoeven
2011-06-15 19:44 ` Geert Uytterhoeven
2011-06-16 19:30 ` Geert Uytterhoeven
2011-06-16 20:03 ` Thomas Gleixner
2011-06-17 3:45 ` Finn Thain
2011-06-17 5:01 ` Geert Uytterhoeven
2011-08-08 13:08 ` Geert Uytterhoeven
2011-08-10 10:48 ` Finn Thain
2011-06-16 19:45 ` Geert Uytterhoeven
2011-06-16 21:10 ` Michael Schmitz
2011-06-17 17:25 ` Andreas Schwab
2011-06-17 17:22 ` Andreas Schwab
2011-06-19 10:17 ` Geert Uytterhoeven
2011-06-19 11:19 ` Andreas Schwab
2011-06-19 13:36 ` Geert Uytterhoeven
2011-06-19 13:58 ` Andreas Schwab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAMuHMdXVt5+nCaCSH3+z0fsL+vhOOTgbKsOAses8OudT-1OZGQ@mail.gmail.com \
--to=geert@linux-m68k.org \
--cc=flar@allandria.com \
--cc=fthain@telegraphics.com.au \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).