From: "Jon Smirl" <jonsmirl@gmail.com>
To: "Roland Dreier" <rdreier@cisco.com>
Cc: linuxppc-dev <Linuxppc-dev@ozlabs.org>
Subject: Re: demuxing irqs
Date: Sat, 13 Sep 2008 19:23:45 -0400 [thread overview]
Message-ID: <9e4733910809131623pe990495l96b31bd546d9fa6b@mail.gmail.com> (raw)
In-Reply-To: <adaljxvir57.fsf@cisco.com>
On Sat, Sep 13, 2008 at 7:04 PM, Roland Dreier <rdreier@cisco.com> wrote:
> > The muxed interrupts are inside a SOC CPU. For example eight GPIOs
> > can each individually be enabled to trigger hardware interrupt 7. When
> > I get hw interrupt 7 i want to demux it into 8 virtual interrupts.
> > There are eight bit registers for individually acking, enabling, etc
> > each of the eight multiplexed interrupts. With eight virutal
> > interrupts each user can register a different handler and isn't aware
> > the muxing is going on.
>
> I see... well, assuming all the issues around handling multiple
> simultaneous (or overlapping) interrupts are OK, you could look at how
> arch/powerpc/sysdev/uic.c handles the cascaded interrupt controllers for
> 4xx SoCs. The idea of that code is that you get an interrupt, and look
> look at interrupt cause register 0, and see interrupt X, and to handle
> interrupt X you read interrupt cause register 1 to see which the real
> interrupt is. And you might see interrupt Y, which means to go onto
> interrupt cause register 2.
I'm getting bogged down in the details. For example after doing
irq_alloc_host() some drivers follow it with
set_irq_chained_handler(). It the uic case it doesn't.
I'm not getting my main hardware int acknowleged, my handler gets
called repeatedly. This is probably from using a chained_handler.
Do I need a match function in irq_host_ops?
I have a 'struct irq_chip' with the mask/unmask/ack/etc functions.
I also need to know what the first virq number is out of the eight I
asked for in irq_alloc_host().
>
> - R.
>
--
Jon Smirl
jonsmirl@gmail.com
next prev parent reply other threads:[~2008-09-13 23:23 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-13 19:06 demuxing irqs Jon Smirl
2008-09-13 22:41 ` Roland Dreier
2008-09-13 22:54 ` Jon Smirl
2008-09-13 23:04 ` Roland Dreier
2008-09-13 23:23 ` Jon Smirl [this message]
2008-09-14 14:06 ` Jon Smirl
2008-09-14 23:25 ` Jon Smirl
2008-09-15 3:06 ` Jon Smirl
2008-09-16 12:17 ` Anton Vorontsov
2008-09-16 12:37 ` Jon Smirl
2008-09-16 13:12 ` Anton Vorontsov
2008-09-16 13:36 ` Jon Smirl
2008-09-16 14:14 ` Anton Vorontsov
2008-09-16 14:24 ` Jon Smirl
2008-09-16 17:49 ` Scott Wood
2008-09-16 18:32 ` Jon Smirl
2008-09-16 21:42 ` Anton Vorontsov
2008-09-16 22:08 ` Jon Smirl
2008-09-16 23:24 ` Scott Wood
2008-09-16 23:47 ` Jon Smirl
2008-09-17 12:56 ` Anton Vorontsov
2008-09-17 14:09 ` Jon Smirl
2008-09-17 17:54 ` Stephen Neuendorffer
2008-09-16 14:29 ` Jon Smirl
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=9e4733910809131623pe990495l96b31bd546d9fa6b@mail.gmail.com \
--to=jonsmirl@gmail.com \
--cc=Linuxppc-dev@ozlabs.org \
--cc=rdreier@cisco.com \
/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).