From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sricharan R Subject: Re: [RFC PATCH 1/4] DRIVERS: IRQCHIP: Add crossbar irqchip driver Date: Wed, 18 Sep 2013 19:22:16 +0530 Message-ID: <5239B010.8080605@ti.com> References: <1379000351-15672-1-git-send-email-r.sricharan@ti.com> <1379000351-15672-2-git-send-email-r.sricharan@ti.com> <523228B5.5070507@ti.com> <5232457A.8080709@ti.com> <52326D6B.2010003@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-doc-owner@vger.kernel.org To: Linus Walleij Cc: Thomas Gleixner , Santosh Shilimkar , LKML , "devicetree@vger.kernel.org" , "linux-doc@vger.kernel.org" , LAK , Linux-OMAP , Russell King , Tony Lindgren , Rajendra Nayak List-Id: linux-omap@vger.kernel.org Hi Thomas, On Tuesday 17 September 2013 05:56 PM, Linus Walleij wrote: > On Fri, Sep 13, 2013 at 4:24 PM, Thomas Gleixner 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 ? Regards, Sricharan From mboxrd@z Thu Jan 1 00:00:00 1970 From: r.sricharan@ti.com (Sricharan R) Date: Wed, 18 Sep 2013 19:22:16 +0530 Subject: [RFC PATCH 1/4] DRIVERS: IRQCHIP: Add crossbar irqchip driver In-Reply-To: References: <1379000351-15672-1-git-send-email-r.sricharan@ti.com> <1379000351-15672-2-git-send-email-r.sricharan@ti.com> <523228B5.5070507@ti.com> <5232457A.8080709@ti.com> <52326D6B.2010003@ti.com> Message-ID: <5239B010.8080605@ti.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Thomas, On Tuesday 17 September 2013 05:56 PM, Linus Walleij wrote: > On Fri, Sep 13, 2013 at 4:24 PM, Thomas Gleixner 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 ? Regards, Sricharan