Linux PARISC architecture development
 help / color / mirror / Atom feed
From: Grant Grundler <grundler@parisc-linux.org>
To: Matthew Wilcox <matthew@wil.cx>
Cc: parisc-linux@parisc-linux.org
Subject: Re: [parisc-linux] Generic IRQ support
Date: Thu, 9 Dec 2004 22:51:40 -0700	[thread overview]
Message-ID: <20041210055140.GC26739@colo.lackof.org> (raw)
In-Reply-To: <20041209152944.GP10881@parcelfarce.linux.theplanet.co.uk>

On Thu, Dec 09, 2004 at 03:29:44PM +0000, Matthew Wilcox wrote:
> 
> I've been looking at using the new generic IRQ code for PA, and I think
> we can do it.

Yes - it's certainly feasible.
I've proposed something similar several years ago:
    http://lists.parisc-linux.org/pipermail/parisc-linux/2000-October/009640.html

Last year Thibaut Varene and I even took a run at it.
Our goal was to pickup/add generic support for IRQ affinity.
We got ~60% done after a few monthes but ran out of time.

> The irq_regions code has to go, of course.  The data structures used by
> the generic code are just incompatible.  So the new scheme looks like
> this:
> 
> An irq number is just a small integer.  Skipping 0-15 as being legacy
> isa/eisa/suckyio (maybe) interrupts, we start allocating irq numbers
> at 16.  Each interrupt (as opposed to each interrupt region) has its own
> vector of irq operations.  Mostly they'll be the same, but this lets us
> allocate the irq numbers in an arbitrary way.

yup - that should work fine.

> 
> Machines with iosapic have one CPU interrupt per iosapic interrupt,
> so we can get rid of the hierarchy.  The iosapic still needs to be told
> that we've finished processing the interrupt, but that can be done by
> the ->end method.

We can't entirely get rid of the hierarchy.
There are configurations where we might have to share a CPU EIR.
Since N-class is working now, I'm mostly concerned about it on that
class of platform. Especially if we want to support MSI or MSI-X.

> Native devices (such as Zalon/Bluefish) also need no hierarchy.  They
> just take a CPU interrupt.
> 
> For lasi/dino/wax/asp (hereinafter referred to as lasi), we really do
> have hierarchical interrupts.  So lasi will take a native interrupt,
> then reads the status register, translates that to a Linux interrupt
> number and calls __do_irq() again.
> 
> EISA is just as much fun, only it goes through an additional layer of
> indirection; we call wax's IRQ handler which decodes its status register
> and calls the EISA interrupt handler, which decodes its status register
> and calls the driver's interrupt handler.
> 
> I intend to get iosapic & suckyio working under this scheme, then post
> what I have.  At that point, someone else can step in and do old-gsc
> devices ;-)

You probably want to look at the source tree from Thibaut since
that's basically the same approach we took then...most of the
changes should still apply.
Please poke (gently) if I can help.

thanks,
grant
_______________________________________________
parisc-linux mailing list
parisc-linux@lists.parisc-linux.org
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

  reply	other threads:[~2004-12-10  5:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-09 15:29 [parisc-linux] Generic IRQ support Matthew Wilcox
2004-12-10  5:51 ` Grant Grundler [this message]
2004-12-10 13:10   ` Matthew Wilcox

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=20041210055140.GC26739@colo.lackof.org \
    --to=grundler@parisc-linux.org \
    --cc=matthew@wil.cx \
    --cc=parisc-linux@parisc-linux.org \
    /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