linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Brad Boyer <flar@cynthia.pants.nu>
To: Finn Thain <fthain@telegraphics.com.au>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	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 09:19:24 -0700	[thread overview]
Message-ID: <20110810161924.GA26257@cynthia.pants.nu> (raw)
In-Reply-To: <alpine.OSX.2.00.1108102007430.203@ibook.local>

On Wed, Aug 10, 2011 at 08:53:16PM +1000, Finn Thain wrote:
> 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.

The only simple rules are that OSS only exists on one model, the Mac IIfx,
the PSC only exists on two (three, sort of) models: the Quadra 660AV
(which is also the Centris 660AV) and the Quadra 840AV, and the Baboon
only exists on one m68k model, the Powerbook 190 (it also exists on the
PowerBook 5300, but that is ppc).

What's messy is VIA2/RBV, which gets very complicated. The only simple
thing there is that the Mac IIfx doesn't have any of that because it
has OSS instead.

> > 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.

Not strictly true, but it's mapped onto IRQ_VIA2_0 in the other case.

> 
> >     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...

More help is always good. Hope I've been helpful as well.

	Brad Boyer
	flar@allandria.com


  reply	other threads:[~2011-08-10 16:46 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
2011-08-10 10:53       ` Finn Thain
2011-08-10 16:19         ` Brad Boyer [this message]
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=20110810161924.GA26257@cynthia.pants.nu \
    --to=flar@cynthia.pants.nu \
    --cc=fthain@telegraphics.com.au \
    --cc=geert@linux-m68k.org \
    --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).