From: Thomas Abraham <thomas.abraham@linaro.org> To: Rob Herring <robherring2@gmail.com> Cc: linux-arm-kernel@lists.infradead.org, devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org, grant.likely@secretlab.ca, marc.zyngier@arm.com, jamie@jamieiles.com, b-cousson@ti.com, shawn.guo@linaro.org, Rob Herring <rob.herring@calxeda.com> Subject: Re: [PATCH 5/5] ARM: gic: add OF based initialization Date: Thu, 15 Sep 2011 13:25:52 +0530 [thread overview] Message-ID: <CAJuYYwSFu2HC+u2NY41+yw9tEyy85RKa4Dpm3SL+jbwS_OOA0A@mail.gmail.com> (raw) In-Reply-To: <1316017900-19918-6-git-send-email-robherring2@gmail.com> Hi Rob, On 14 September 2011 22:01, Rob Herring <robherring2@gmail.com> wrote: > From: Rob Herring <rob.herring@calxeda.com> > > This adds gic initialization using device tree data. The initialization > functions are intended to be called by a generic OF interrupt > controller parsing function once the right pieces are in place. > > PPIs are handled using 3rd cell of interrupts properties to specify the cpu > mask the PPI is assigned to. > > Signed-off-by: Rob Herring <rob.herring@calxeda.com> > --- > Documentation/devicetree/bindings/arm/gic.txt | 53 ++++++++++++++++++++++++ > arch/arm/common/gic.c | 55 +++++++++++++++++++++++-- > arch/arm/include/asm/hardware/gic.h | 10 +++++ > 3 files changed, 114 insertions(+), 4 deletions(-) > create mode 100644 Documentation/devicetree/bindings/arm/gic.txt [...] > diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c > index d1ccc72..14de380 100644 > --- a/arch/arm/common/gic.c > +++ b/arch/arm/common/gic.c [...] > +void __init gic_of_init(struct device_node *node, struct device_node *parent) > +{ > + void __iomem *cpu_base; > + void __iomem *dist_base; > + int irq; > + struct irq_domain *domain = &gic_data[gic_cnt].domain; > + > + if (WARN_ON(!node)) > + return; > + > + dist_base = of_iomap(node, 0); > + WARN(!dist_base, "unable to map gic dist registers\n"); > + > + cpu_base = of_iomap(node, 1); > + WARN(!cpu_base, "unable to map gic cpu registers\n"); > + > + domain->nr_irq = gic_irq_count(dist_base); > + domain->irq_base = irq_alloc_descs(-1, 0, domain->nr_irq, numa_node_id()); For exynos4, all the interrupts originating from GIC are statically mapped to start from 32 in the linux virq space (GIC SPI interrupts start from 64). In the above code, since irq_base would be 0 for exynos4, the interrupt mapping is not working correctly. In your previous version of the patch, you have given a option to the platform code to choose the offset. Could that option be added to this series also. Or a provision to use platform specific translate function instead of the irq_domain_simple translator. Thanks, Thomas. [...]
WARNING: multiple messages have this Message-ID (diff)
From: thomas.abraham@linaro.org (Thomas Abraham) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 5/5] ARM: gic: add OF based initialization Date: Thu, 15 Sep 2011 13:25:52 +0530 [thread overview] Message-ID: <CAJuYYwSFu2HC+u2NY41+yw9tEyy85RKa4Dpm3SL+jbwS_OOA0A@mail.gmail.com> (raw) In-Reply-To: <1316017900-19918-6-git-send-email-robherring2@gmail.com> Hi Rob, On 14 September 2011 22:01, Rob Herring <robherring2@gmail.com> wrote: > From: Rob Herring <rob.herring@calxeda.com> > > This adds gic initialization using device tree data. The initialization > functions are intended to be called by a generic OF interrupt > controller parsing function once the right pieces are in place. > > PPIs are handled using 3rd cell of interrupts properties to specify the cpu > mask the PPI is assigned to. > > Signed-off-by: Rob Herring <rob.herring@calxeda.com> > --- > ?Documentation/devicetree/bindings/arm/gic.txt | ? 53 ++++++++++++++++++++++++ > ?arch/arm/common/gic.c ? ? ? ? ? ? ? ? ? ? ? ? | ? 55 +++++++++++++++++++++++-- > ?arch/arm/include/asm/hardware/gic.h ? ? ? ? ? | ? 10 +++++ > ?3 files changed, 114 insertions(+), 4 deletions(-) > ?create mode 100644 Documentation/devicetree/bindings/arm/gic.txt [...] > diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c > index d1ccc72..14de380 100644 > --- a/arch/arm/common/gic.c > +++ b/arch/arm/common/gic.c [...] > +void __init gic_of_init(struct device_node *node, struct device_node *parent) > +{ > + ? ? ? void __iomem *cpu_base; > + ? ? ? void __iomem *dist_base; > + ? ? ? int irq; > + ? ? ? struct irq_domain *domain = &gic_data[gic_cnt].domain; > + > + ? ? ? if (WARN_ON(!node)) > + ? ? ? ? ? ? ? return; > + > + ? ? ? dist_base = of_iomap(node, 0); > + ? ? ? WARN(!dist_base, "unable to map gic dist registers\n"); > + > + ? ? ? cpu_base = of_iomap(node, 1); > + ? ? ? WARN(!cpu_base, "unable to map gic cpu registers\n"); > + > + ? ? ? domain->nr_irq = gic_irq_count(dist_base); > + ? ? ? domain->irq_base = irq_alloc_descs(-1, 0, domain->nr_irq, numa_node_id()); For exynos4, all the interrupts originating from GIC are statically mapped to start from 32 in the linux virq space (GIC SPI interrupts start from 64). In the above code, since irq_base would be 0 for exynos4, the interrupt mapping is not working correctly. In your previous version of the patch, you have given a option to the platform code to choose the offset. Could that option be added to this series also. Or a provision to use platform specific translate function instead of the irq_domain_simple translator. Thanks, Thomas. [...]
next prev parent reply other threads:[~2011-09-15 7:55 UTC|newest] Thread overview: 164+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-09-14 16:31 [PATCH 0/5] GIC OF bindings Rob Herring 2011-09-14 16:31 ` Rob Herring 2011-09-14 16:31 ` Rob Herring 2011-09-14 16:31 ` [PATCH 1/5] irq: add declaration of irq_domain_simple_ops to irqdomain.h Rob Herring 2011-09-14 16:31 ` Rob Herring 2011-09-14 16:31 ` Rob Herring 2011-09-14 16:31 ` [PATCH 2/5] irq: fix existing domain check in irq_domain_add Rob Herring 2011-09-14 16:31 ` Rob Herring 2011-09-14 16:44 ` Thomas Gleixner 2011-09-14 16:44 ` Thomas Gleixner 2011-09-14 16:44 ` Thomas Gleixner 2011-09-17 23:24 ` Grant Likely 2011-09-17 23:24 ` Grant Likely 2011-09-17 23:24 ` Grant Likely 2011-09-14 16:31 ` [PATCH 3/5] of/irq: introduce of_irq_init Rob Herring 2011-09-14 16:31 ` Rob Herring 2011-09-14 16:31 ` Rob Herring 2011-09-15 10:41 ` Arnd Bergmann 2011-09-15 10:41 ` Arnd Bergmann 2011-09-15 10:41 ` Arnd Bergmann 2011-09-17 23:53 ` Grant Likely 2011-09-17 23:53 ` Grant Likely 2011-09-17 23:53 ` Grant Likely 2011-09-18 1:37 ` Rob Herring 2011-09-18 1:37 ` Rob Herring 2011-09-18 1:37 ` Rob Herring 2011-09-18 6:02 ` Grant Likely 2011-09-18 6:02 ` Grant Likely 2011-09-18 6:02 ` Grant Likely 2011-09-14 16:31 ` [PATCH 4/5] ARM: gic: allow irq_start to be 0 Rob Herring 2011-09-14 16:31 ` Rob Herring 2011-09-18 6:24 ` Grant Likely 2011-09-18 6:24 ` Grant Likely 2011-09-18 6:24 ` Grant Likely 2011-09-18 12:03 ` Russell King - ARM Linux 2011-09-18 12:03 ` Russell King - ARM Linux 2011-09-18 12:03 ` Russell King - ARM Linux 2011-09-14 16:31 ` [PATCH 5/5] ARM: gic: add OF based initialization Rob Herring 2011-09-14 16:31 ` Rob Herring 2011-09-14 16:31 ` Rob Herring 2011-09-14 17:46 ` Marc Zyngier 2011-09-14 17:46 ` Marc Zyngier 2011-09-14 17:46 ` Marc Zyngier 2011-09-14 17:57 ` Rob Herring 2011-09-14 17:57 ` Rob Herring 2011-09-14 17:57 ` Rob Herring 2011-09-14 18:34 ` Marc Zyngier 2011-09-14 18:34 ` Marc Zyngier 2011-09-14 18:34 ` Marc Zyngier 2011-09-14 18:51 ` Rob Herring 2011-09-14 18:51 ` Rob Herring 2011-09-14 18:51 ` Rob Herring 2011-09-18 0:13 ` Grant Likely 2011-09-18 0:13 ` Grant Likely 2011-09-18 0:13 ` Grant Likely 2011-09-15 7:55 ` Thomas Abraham [this message] 2011-09-15 7:55 ` Thomas Abraham 2011-09-15 10:07 ` Cousson, Benoit 2011-09-15 10:07 ` Cousson, Benoit 2011-09-15 10:07 ` Cousson, Benoit 2011-09-15 10:29 ` Russell King - ARM Linux 2011-09-15 10:29 ` Russell King - ARM Linux 2011-09-15 10:29 ` Russell King - ARM Linux 2011-09-15 12:28 ` Cousson, Benoit 2011-09-15 12:28 ` Cousson, Benoit 2011-09-15 12:28 ` Cousson, Benoit 2011-09-15 12:51 ` Russell King - ARM Linux 2011-09-15 12:51 ` Russell King - ARM Linux 2011-09-15 12:51 ` Russell King - ARM Linux 2011-09-15 13:03 ` Cousson, Benoit 2011-09-15 13:03 ` Cousson, Benoit 2011-09-15 13:03 ` Cousson, Benoit 2011-09-15 13:11 ` Rob Herring 2011-09-15 13:11 ` Rob Herring 2011-09-15 13:11 ` Rob Herring 2011-09-15 13:52 ` Cousson, Benoit 2011-09-15 13:52 ` Cousson, Benoit 2011-09-15 13:52 ` Cousson, Benoit 2011-09-15 16:43 ` Rob Herring 2011-09-15 16:43 ` Rob Herring 2011-09-15 16:43 ` Rob Herring 2011-09-18 21:23 ` Rob Herring 2011-09-18 21:23 ` Rob Herring 2011-09-18 21:23 ` Rob Herring 2011-09-19 12:09 ` Cousson, Benoit 2011-09-19 12:09 ` Cousson, Benoit 2011-09-19 12:09 ` Cousson, Benoit 2011-09-19 13:48 ` Rob Herring 2011-09-19 13:48 ` Rob Herring 2011-09-19 13:48 ` Rob Herring 2011-09-19 14:32 ` Cousson, Benoit 2011-09-19 14:32 ` Cousson, Benoit 2011-09-19 14:32 ` Cousson, Benoit 2011-09-19 21:14 ` Grant Likely 2011-09-19 21:14 ` Grant Likely 2011-09-19 21:14 ` Grant Likely 2011-09-19 21:53 ` Rob Herring 2011-09-19 21:53 ` Rob Herring 2011-09-19 21:53 ` Rob Herring 2011-09-20 0:22 ` Grant Likely 2011-09-20 0:22 ` Grant Likely 2011-09-20 0:22 ` Grant Likely 2011-09-20 4:18 ` Grant Likely 2011-09-20 4:18 ` Grant Likely 2011-09-20 4:18 ` Grant Likely 2011-09-20 15:23 ` Cousson, Benoit 2011-09-20 15:23 ` Cousson, Benoit 2011-09-20 15:23 ` Cousson, Benoit 2011-09-19 16:00 ` Russell King - ARM Linux 2011-09-19 16:00 ` Russell King - ARM Linux 2011-09-19 16:00 ` Russell King - ARM Linux 2011-09-19 20:49 ` Grant Likely 2011-09-19 20:49 ` Grant Likely 2011-09-19 20:49 ` Grant Likely 2011-09-19 9:47 ` Cousson, Benoit 2011-09-19 9:47 ` Cousson, Benoit 2011-09-19 9:47 ` Cousson, Benoit 2011-09-19 13:33 ` Russell King - ARM Linux 2011-09-19 13:33 ` Russell King - ARM Linux 2011-09-19 13:33 ` Russell King - ARM Linux 2011-09-19 17:44 ` Grant Likely 2011-09-19 17:44 ` Grant Likely 2011-09-19 17:44 ` Grant Likely 2011-09-16 16:09 ` Dave Martin 2011-09-16 16:09 ` Dave Martin 2011-09-16 16:09 ` Dave Martin 2011-09-18 6:21 ` Grant Likely 2011-09-18 6:21 ` Grant Likely 2011-09-18 6:21 ` Grant Likely 2011-09-19 12:07 ` Dave Martin 2011-09-19 12:07 ` Dave Martin 2011-09-19 12:07 ` Dave Martin 2011-09-19 13:08 ` Cousson, Benoit 2011-09-19 13:08 ` Cousson, Benoit 2011-09-19 13:08 ` Cousson, Benoit 2011-09-18 6:15 ` Grant Likely 2011-09-18 6:15 ` Grant Likely 2011-09-18 6:15 ` Grant Likely 2011-09-19 8:47 ` Cousson, Benoit 2011-09-19 8:47 ` Cousson, Benoit 2011-09-19 8:47 ` Cousson, Benoit 2011-09-15 12:54 ` Rob Herring 2011-09-15 12:54 ` Rob Herring 2011-09-15 12:54 ` Rob Herring 2011-09-16 9:34 ` Thomas Abraham 2011-09-16 9:34 ` Thomas Abraham 2011-09-16 9:34 ` Thomas Abraham 2011-09-18 6:10 ` Grant Likely 2011-09-18 6:10 ` Grant Likely 2011-09-18 6:10 ` Grant Likely 2011-09-19 12:59 ` Thomas Abraham 2011-09-19 12:59 ` Thomas Abraham 2011-09-19 12:59 ` Thomas Abraham 2011-09-15 10:43 ` Arnd Bergmann 2011-09-15 10:43 ` Arnd Bergmann 2011-09-15 10:43 ` Arnd Bergmann 2011-09-18 6:30 ` Grant Likely 2011-09-18 6:30 ` Grant Likely 2011-09-18 6:30 ` Grant Likely 2011-09-15 8:50 ` [PATCH 0/5] GIC OF bindings Jamie Iles 2011-09-15 8:50 ` Jamie Iles 2011-09-15 13:53 ` Shawn Guo 2011-09-15 13:53 ` Shawn Guo 2011-09-15 13:53 ` Shawn Guo
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=CAJuYYwSFu2HC+u2NY41+yw9tEyy85RKa4Dpm3SL+jbwS_OOA0A@mail.gmail.com \ --to=thomas.abraham@linaro.org \ --cc=b-cousson@ti.com \ --cc=devicetree-discuss@lists.ozlabs.org \ --cc=grant.likely@secretlab.ca \ --cc=jamie@jamieiles.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=rob.herring@calxeda.com \ --cc=robherring2@gmail.com \ --cc=shawn.guo@linaro.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.