From: zonque@gmail.com (Daniel Mack)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 4/7] ARM: pxa: add devicetree code for irq handling
Date: Sat, 28 Jul 2012 11:56:32 +0200 [thread overview]
Message-ID: <5013B750.6060608@gmail.com> (raw)
In-Reply-To: <CAN1soZwGp=OKsyAy=iL7ZUvxG+VPBm-d==8Q-AiPqNUMoiPz-w@mail.gmail.com>
Hi Haojian,
On 28.07.2012 09:17, Haojian Zhuang wrote:
> On Fri, Jul 27, 2012 at 3:16 AM, Daniel Mack <zonque@gmail.com> wrote:
>> Properly register on-chip interrupt using the irqdomain logic. The
>> number of interrupts is taken from the devicetree node.
>>
>> Signed-off-by: Daniel Mack <zonque@gmail.com>
>> ---
>> arch/arm/mach-pxa/irq.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++
>> arch/arm/mach-pxa/pxa3xx.c | 17 +++++++++--
>> 2 files changed, 88 insertions(+), 2 deletions(-)
>>
>> +#ifdef CONFIG_OF
>> +static struct irq_domain *pxa_irq_domain;
>> +
>> +static int pxa_irq_map(struct irq_domain *h, unsigned int virq,
>> + irq_hw_number_t hw)
>> +{
>> + int irq, i = hw % 32;
>> + void __iomem *base = irq_base(hw / 32);
>> +
>> + /* initialize interrupt priority */
>> + if (cpu_has_ipr())
>> + __raw_writel(i | IPR_VALID, IRQ_BASE + IPR(i));
> Since we have DT support at here. Could we use property for interrupt priority?
Not sure what you mean here. Can you elaborate? I couldn't find any
reference to IRQ priorities in other platforms either.
Maybe we can also add that in a separate patch, which would also help in
tracking possible regressions du to such a change?
>> + irq = PXA_IRQ(virq);
> #ifdef CONFIG_PXA_HAVE_ISA_IRQS
> #define PXA_ISA_IRQ(x) (x)
> #define PXA_ISA_IRQ_NUM (16)
> #else
> #define PXA_ISA_IRQ_NUM (0)
> #endif
>
> Could we avoid to use PXA_IRQ() at here? We can make use of
> NR_IRQS_LEGACY that is 16. Since you already use irq_alloc_descs()
> to allocate irqs that virtual irq number starts from 16. So you needn't
> use PXA_IRQ() any more.
Ok, I changed this. Note that there's still need to subtract
NR_IRQS_LEGACY from the virq that is passed in to the .map function,
because early_irq_init() in kernel/irq/irqdesc.c will pre-allocate the
IRQs the platform claims to have natively, which defaults to 16 on PXA,
unless the machine descriptor sets nr_irqs, which it doesn't in case of DT.
I also found another hunk that I forgot to squash in the v2 series. I
will repost the whole thing and also include the two GPIO patches that
should go through your tree.
Thanks for the review,
Daniel
next prev parent reply other threads:[~2012-07-28 9:56 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-26 19:16 [PATCH v2 0/7] Assorted PXA3xx DT patches Daniel Mack
2012-07-26 19:16 ` [PATCH v2 1/7] RTC: add DT bindings to pxa-rtc Daniel Mack
2012-07-26 19:16 ` [PATCH v2 2/7] MMC: pxa-mci: add DT bindings Daniel Mack
2012-07-26 19:16 ` [PATCH v2 3/7] MTD: pxa3xx-nand: add devicetree bindings Daniel Mack
2012-07-26 19:16 ` [PATCH v2 4/7] ARM: pxa: add devicetree code for irq handling Daniel Mack
2012-07-28 7:17 ` Haojian Zhuang
2012-07-28 9:56 ` Daniel Mack [this message]
2012-07-28 15:42 ` Haojian Zhuang
2012-07-29 14:09 ` Arnd Bergmann
2012-07-29 20:40 ` Daniel Mack
2012-07-30 8:31 ` Arnd Bergmann
2012-07-30 8:34 ` Daniel Mack
2012-07-30 8:55 ` Haojian Zhuang
2012-07-30 9:31 ` Daniel Mack
2012-07-31 12:18 ` Arnd Bergmann
2012-07-29 15:08 ` Daniel Mack
2012-07-29 15:54 ` Haojian Zhuang
2012-07-29 19:01 ` Daniel Mack
2012-07-30 1:20 ` Haojian Zhuang
2012-07-30 1:24 ` Haojian Zhuang
2012-07-30 7:11 ` Daniel Mack
2012-07-29 16:13 ` Haojian Zhuang
2012-07-26 19:16 ` [PATCH v2 5/7] ARM: pxa3xx: skip default device initialization when booting via DT Daniel Mack
2012-07-26 19:16 ` [PATCH v2 6/7] ARM: pxa3xx: add generic DT machine code Daniel Mack
2012-07-26 19:16 ` [PATCH v2 7/7] ARM: pxa: add .dtsi files Daniel Mack
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=5013B750.6060608@gmail.com \
--to=zonque@gmail.com \
--cc=linux-arm-kernel@lists.infradead.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 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.