From: "Cousson, Benoit" <b-cousson-l0cyMroinI0@public.gmane.org>
To: Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [PATCH 5/5] ARM: gic: add OF based initialization
Date: Thu, 15 Sep 2011 12:07:25 +0200 [thread overview]
Message-ID: <4E71CE5D.9030900@ti.com> (raw)
In-Reply-To: <CAJuYYwSFu2HC+u2NY41+yw9tEyy85RKa4Dpm3SL+jbwS_OOA0A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hi Rob,
On 9/15/2011 9:55 AM, Thomas Abraham wrote:
> Hi Rob,
>
> On 14 September 2011 22:01, Rob Herring<robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>> From: Rob Herring<rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
>>
>> 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-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
>> ---
>> 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.
I have another concern on a similar topic.
On OMAP4 the SoC interrupts external to the MPU (SPI) have an offset of
32. Only the internal PPI are between 0 and 31.
For the moment we add 32 to every SoC interrupts in the irq.h define,
but I'm assuming that this offset calculation should be done thanks to a
dedicated irq domain for the SPI.
The real HW physical number start at 0, and thus this is that value that
should be in the irq binding of the device.
So ideally we should have a irq domain for the PPI starting at 0 and
another one for the SPI starting at 32. Or 32 and 64 for the exynos4
case, but it looks like the PPI/SPI offset is always 32.
Regards,
Benoit
next prev parent reply other threads:[~2011-09-15 10:07 UTC|newest]
Thread overview: 56+ 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 ` [PATCH 2/5] irq: fix existing domain check in irq_domain_add Rob Herring
[not found] ` <1316017900-19918-3-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-14 16:44 ` Thomas Gleixner
2011-09-17 23:24 ` Grant Likely
2011-09-14 16:31 ` [PATCH 4/5] ARM: gic: allow irq_start to be 0 Rob Herring
[not found] ` <1316017900-19918-5-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-18 6:24 ` Grant Likely
2011-09-18 12:03 ` Russell King - ARM Linux
[not found] ` <1316017900-19918-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
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 ` [PATCH 3/5] of/irq: introduce of_irq_init Rob Herring
[not found] ` <1316017900-19918-4-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-15 10:41 ` Arnd Bergmann
2011-09-17 23:53 ` Grant Likely
[not found] ` <20110917235328.GA3523-e0URQFbLeQY2iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2011-09-18 1:37 ` Rob Herring
[not found] ` <4E754B56.1010404-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-18 6:02 ` Grant Likely
2011-09-14 16:31 ` [PATCH 5/5] ARM: gic: add OF based initialization Rob Herring
2011-09-14 17:46 ` Marc Zyngier
[not found] ` <4E70E88E.4090503-5wv7dgnIgG8@public.gmane.org>
2011-09-14 17:57 ` Rob Herring
2011-09-14 18:34 ` Marc Zyngier
[not found] ` <4E70F3C9.2010202-5wv7dgnIgG8@public.gmane.org>
2011-09-14 18:51 ` Rob Herring
[not found] ` <4E70F7BE.6020909-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-18 0:13 ` Grant Likely
2011-09-15 7:55 ` Thomas Abraham
[not found] ` <CAJuYYwSFu2HC+u2NY41+yw9tEyy85RKa4Dpm3SL+jbwS_OOA0A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-09-15 10:07 ` Cousson, Benoit [this message]
[not found] ` <4E71CE5D.9030900-l0cyMroinI0@public.gmane.org>
2011-09-15 10:29 ` Russell King - ARM Linux
[not found] ` <20110915102915.GJ6267-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-09-15 12:28 ` Cousson, Benoit
[not found] ` <4E71EF56.3050503-l0cyMroinI0@public.gmane.org>
2011-09-15 12:51 ` Russell King - ARM Linux
[not found] ` <20110915125107.GK6267-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-09-15 13:03 ` Cousson, Benoit
2011-09-15 13:11 ` Rob Herring
[not found] ` <4E71F978.6020402-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-15 13:52 ` Cousson, Benoit
2011-09-15 16:43 ` Rob Herring
2011-09-18 21:23 ` Rob Herring
[not found] ` <4E76615C.3000005-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-19 12:09 ` Cousson, Benoit
[not found] ` <4E77310A.3000106-l0cyMroinI0@public.gmane.org>
2011-09-19 13:48 ` Rob Herring
[not found] ` <4E774847.3020104-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-19 14:32 ` Cousson, Benoit
2011-09-19 21:14 ` Grant Likely
[not found] ` <CACxGe6v9nd5f5x-eu9hUyAqdS1+p3h6ixyutECYLdNo3ewDH0w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-09-19 21:53 ` Rob Herring
[not found] ` <4E77B9E3.40004-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-20 0:22 ` Grant Likely
2011-09-20 4:18 ` Grant Likely
2011-09-20 15:23 ` Cousson, Benoit
2011-09-19 16:00 ` Russell King - ARM Linux
2011-09-19 20:49 ` Grant Likely
[not found] ` <4E722B2D.4050307-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-19 9:47 ` Cousson, Benoit
[not found] ` <4E770FA6.2070305-l0cyMroinI0@public.gmane.org>
2011-09-19 13:33 ` Russell King - ARM Linux
[not found] ` <20110919133301.GR16381-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-09-19 17:44 ` Grant Likely
2011-09-18 6:15 ` Grant Likely
[not found] ` <20110918061526.GE3523-e0URQFbLeQY2iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2011-09-19 8:47 ` Cousson, Benoit
2011-09-16 16:09 ` Dave Martin
[not found] ` <20110916160939.GA2100-5wv7dgnIgG8@public.gmane.org>
2011-09-18 6:21 ` Grant Likely
2011-09-19 12:07 ` Dave Martin
2011-09-19 13:08 ` Cousson, Benoit
2011-09-15 12:54 ` Rob Herring
[not found] ` <4E71F593.2040903-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-16 9:34 ` Thomas Abraham
[not found] ` <CAJuYYwQ=tSh8k5ZOi2kx6KbMsQ4eVAvgE=T4kdckRSLjdj3dMQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-09-18 6:10 ` Grant Likely
[not found] ` <20110918061024.GD3523-e0URQFbLeQY2iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2011-09-19 12:59 ` Thomas Abraham
[not found] ` <1316017900-19918-6-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-09-15 10:43 ` Arnd Bergmann
2011-09-18 6:30 ` Grant Likely
2011-09-15 8:50 ` [PATCH 0/5] GIC OF bindings Jamie Iles
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=4E71CE5D.9030900@ti.com \
--to=b-cousson-l0cymroini0@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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: 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).