[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.02.1309190012550.4089@ionos.tec.linutronix.de>
Date: Thu, 19 Sep 2013 00:13:55 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Sricharan R <r.sricharan@...com>
cc: Linus Walleij <linus.walleij@...aro.org>,
Santosh Shilimkar <santosh.shilimkar@...com>,
LKML <linux-kernel@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
LAK <linux-arm-kernel@...ts.infradead.org>,
Linux-OMAP <linux-omap@...r.kernel.org>,
Russell King <linux@....linux.org.uk>,
Tony Lindgren <tony@...mide.com>,
Rajendra Nayak <rnayak@...com>
Subject: Re: [RFC PATCH 1/4] DRIVERS: IRQCHIP: Add crossbar irqchip driver
On Wed, 18 Sep 2013, Sricharan R wrote:
> On Wednesday 18 September 2013 07:22 PM, Sricharan R wrote:
> > Hi Thomas,
> >
> > On Tuesday 17 September 2013 05:56 PM, Linus Walleij wrote:
> >> On Fri, Sep 13, 2013 at 4:24 PM, Thomas Gleixner <tglx@...utronix.de> wrote:
> >>
> >>> So why can't you make use of irq domains and have the whole routing
> >>> business implemented sanely?
> >>>
> >>> What's needed is in gic_init_bases():
> >>> irq
> >>> if (of_property_read(node, "routable_irqs", &nr_routable_irqs) {
> >>> irq_domain_add_legacy(nr_gic_irqs);
> >>> } else {
> >>> irq_domain_add_legacy(nr_per_cpu_irqs);
> >>> irq_domain_add_linear(nr_routable_irqs);
> >>> }
> >>>
> >>> Now that separate domain has an xlate function which grabs a free GIC
> >>> irq from a bitmap and returns the hardware irq number in the gic
> >>> space. The map/unmap callbacks take care of setting up / tearing down
> >>> the route in the crossbar.
> >> This is obviously the right approach, it's exactly what .map should do
> >> the only special thing here being that we have hardware to perform
> >> the mapping ... bah why didn't I realize this :-(
> >>
> >> Yours,
> >> Linus Walleij
> > Thanks for the suggestion.
> >
> > So as i understand this, this implies using the GIC domain itself and
> > add the support for dynamically routable irqs (like crossbar) with in the
> > GIC driver itself right ?
> Please ignore this. So the question was more of how to implement the
> call outs in the case of routable irqs from map/ unmap callbacks.
If you look closely at what I suggested, you'll notice that I added a
separate domain in the routed case. Go figure ...
Thanks,
tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists