From: Christian Ruppert <christian.ruppert@abilis.com>
To: Vineet Gupta <Vineet.Gupta1@synopsys.com>
Cc: Grant Likely <grant.likely@secretlab.ca>,
Thomas Gleixner <tglx@linutronix.de>,
Rob Herring <rob.herring@calxeda.com>,
Rob Landley <rob@landley.net>,
devicetree-discuss@lists.ozlabs.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org,
Pierrick Hascoet <pierrick.hascoet@abilis.com>
Subject: Re: [PATCH V3] irqchip: Add TB10x interrupt controller driver (2)
Date: Mon, 3 Jun 2013 10:00:04 +0200 [thread overview]
Message-ID: <20130603080001.GA31808@ab42.lan> (raw)
In-Reply-To: <51AC2A99.30709@synopsys.com>
On Mon, Jun 03, 2013 at 11:03:13AM +0530, Vineet Gupta wrote:
> On 06/01/2013 04:31 PM, Christian Ruppert wrote:
> > On Fri, May 31, 2013 at 11:18:14PM +0100, Grant Likely wrote:
> >> On Fri, 31 May 2013 19:32:34 +0200 (CEST), Thomas Gleixner <tglx@linutronix.de> wrote:
> >>> On Fri, 31 May 2013, Christian Ruppert wrote:
> [...]
> >> The loop above is mapping each of the
> >> interrupt inputs on the parent controller so that each child controller
> >> can be chained to it as an input. I can't think of how else it could be
> >> set up with the current code if the drivers were kept separate.
> > This is exactly the intention. I haven't found an easier way to do this
> > either but I'm open to suggestions.
>
> But the child intc must only uplink to one parent intc IRQ line. In that
> case why do we need to enumerate the rest of them in code. Is that a
> limitation of framework or the parent intc (with it's legacy domain
> instantiation) is not doing something correct.
You are right, it would have been possible to "merge" several interrupt
sources onto the same ARC input. This is done (where required) further
down the interrupt controller hierarchy, however, and the way our
hardware is designed is that every input line of the tb10x-ictl controls
a separate output line. Every one of these output lines is connected to
a different ARC interrupt input. tb10x-ictl does not "merge" several
interrupts:
...
|
3 --+ 3
|
4 --+ 4
+-----+ |
5 --+.....+-----+ 5
|tb10x| | ARC770
6 --+.....+-----+ 6
|-ictl| |
7 --+.....+-----+ 7
| | |
8 --+.....+-----+ 8
| | |
... ...
> [...]
> >> If I were working on this system I'd drop the
> >> snps,arc700-intc node entirely and have a single abilis,tb10x-intc that
> >> encapsulated the properties of both (you would of course want to share
> >> handler functions for the 'normal' inputs without the custom features).
> >> That would eliminate the goofyness of listing 27 separate interrupts in
> >> the abilis,tb10x-ictl interrupts property.
> > To complicate things even further, some ARC CPU built-in peripherals
> > (e.g. timers) generate interrupts directly to the ARC built-in interrupt
> > controller (without going through the TB10x front-end), hence the
> > "goofy" list of interrupts in the TB10x DT node.
>
> But I presume that this is common-place for cascaded intc setups - some
> peripherals hooking up directly to topmost intc would be normal. But it
> seems I'm not as educated in area as I really should be.
Yep, that's completely normal. But it forces us to tell the driver which
ones of the interrupts it must manage and which ones it should ignore.
Greetings,
Christian
--
Christian Ruppert , <christian.ruppert@abilis.com>
/|
Tel: +41/(0)22 816 19-42 //| 3, Chemin du Pré-Fleuri
_// | bilis Systems CH-1228 Plan-les-Ouates
next prev parent reply other threads:[~2013-06-03 8:00 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-11 13:17 [PATCH] irqchip: Add TB10x interrupt controller driver Christian Ruppert
2013-05-07 12:37 ` [PATCH REBASE] " Christian Ruppert
2013-05-27 10:06 ` Vineet Gupta
2013-05-27 12:26 ` Thomas Gleixner
2013-05-28 16:34 ` [PATCH V2] " Christian Ruppert
2013-05-30 21:19 ` Grant Likely
2013-05-31 15:32 ` [PATCH V3] " Christian Ruppert
[not found] ` <1370014348-21121-1-git-send-email-christian.ruppert-ux6zf3SgZrrQT0dZR+AlfA@public.gmane.org>
2013-05-31 17:32 ` Thomas Gleixner
2013-05-31 22:18 ` Grant Likely
2013-06-01 11:01 ` Christian Ruppert
[not found] ` <20130601110133.GA4051-7oYq3qWSd+k@public.gmane.org>
2013-06-03 5:33 ` [PATCH V3] irqchip: Add TB10x interrupt controller driver (2) Vineet Gupta
2013-06-03 8:00 ` Christian Ruppert [this message]
2013-06-13 8:26 ` [PATCH V3] irqchip: Add TB10x interrupt controller driver Christian Ruppert
2013-06-03 4:05 ` Vineet Gupta
2013-06-03 9:51 ` Grant Likely
2013-06-25 13:29 ` Christian Ruppert
2013-06-25 13:33 ` Grant Likely
2013-06-25 13:58 ` Thomas Gleixner
2013-06-25 14:11 ` Christian Ruppert
2013-06-25 14:37 ` Thomas Gleixner
2013-06-25 16:29 ` [PATCH V4] " Christian Ruppert
2013-06-26 4:17 ` [PATCH V3] " Vineet Gupta
2013-06-26 14:01 ` [PATCH] ARC: [TB10x] Updates for irqchip driver Christian Ruppert
2013-06-27 2:33 ` Vineet Gupta
2013-06-26 4:23 ` [PATCH V3] irqchip: Add TB10x interrupt controller driver Vineet Gupta
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=20130603080001.GA31808@ab42.lan \
--to=christian.ruppert@abilis.com \
--cc=Vineet.Gupta1@synopsys.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pierrick.hascoet@abilis.com \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
--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).