From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: xen-devel@lists.xenproject.org, tim@xen.org,
stefano.stabellini@citrix.com
Subject: Re: [PATCH v5 2/6] xen/arm: IRQ: Store IRQ type in arch_irq_desc
Date: Mon, 12 May 2014 13:34:05 +0100 [thread overview]
Message-ID: <5370BFBD.2010308@linaro.org> (raw)
In-Reply-To: <1399543402.9513.28.camel@kazak.uk.xensource.com>
Hi Ian,
On 05/08/2014 11:03 AM, Ian Campbell wrote:
> On Fri, 2014-05-02 at 16:52 +0100, Julien Grall wrote:
>> For now, ARM uses different IRQ functions to setup an interrupt handler. This
>> is a bit annoying for common driver because we have to add idefery when
>> an IRQ is setup (see ns16550_init_postirq for an example).
>>
>> To avoid to completely fork the IRQ management code, we can introduce a field
>> to store the IRQ type (e.g level/edge ...).
>>
>> This patch also adds platform_get_irq which will retrieve the IRQ from the
>> device tree and setup correctly the IRQ type.
>>
>> In order to use this solution, we have to move init_IRQ earlier for the boot
>> CPU. It's fine because the code only depends on percpu.
>>
>> Signed-off-by: Julien Grall <julien.grall@linaro.org>
>
> Looks good. But based on the comments raised previously I am wondering
> if
> static int ppi_types[NR_PPIS]
> which is set on configuration of such an interrupt and propagated to the
> cpu local copy when a CPU comes up?
>
> Apart from avoiding the slightly odd per_cpu(0) (even if hidden behind a
> macro) it also means that there is less need to be concerned about which
> processor ends up initialising an interrupt, which would simplify some
> stuff around irq_set_type and platform_get_irq (essentially you could
> then sanity check the change against ppi_types and then propagate to all
> online cpus without further checks).
>
> Thoughts?
It looks good to me. I will give a try with this solution.
--
Julien Grall
next prev parent reply other threads:[~2014-05-12 12:34 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-02 15:52 [PATCH v5 0/6] xen/arm: Interrupt management reworking Julien Grall
2014-05-02 15:52 ` [PATCH v5 1/6] xen: Add convenient macro boot_cpu Julien Grall
2014-05-02 15:57 ` Andrew Cooper
2014-05-06 15:54 ` Julien Grall
2014-05-08 9:57 ` Ian Campbell
2014-05-12 12:36 ` Julien Grall
2014-05-08 9:55 ` Ian Campbell
2014-05-08 10:00 ` Jan Beulich
2014-05-08 10:19 ` Ian Campbell
2014-05-05 7:59 ` Jan Beulich
2014-05-06 15:58 ` Julien Grall
2014-05-06 16:04 ` Jan Beulich
2014-05-06 16:09 ` Andrew Cooper
2014-05-02 15:52 ` [PATCH v5 2/6] xen/arm: IRQ: Store IRQ type in arch_irq_desc Julien Grall
2014-05-08 10:03 ` Ian Campbell
2014-05-12 12:34 ` Julien Grall [this message]
2014-05-02 15:52 ` [PATCH v5 3/6] xen/arm: IRQ: Replace {request, setup}_dt_irq by {request, setup}_irq Julien Grall
2014-05-02 15:52 ` [PATCH v5 4/6] xen: IRQ: Add dev_id parameter to release_irq Julien Grall
2014-05-02 15:52 ` [PATCH v5 5/6] xen/arm: IRQ: extend {request, setup}_irq to take an irqflags in parameter Julien Grall
2014-05-02 15:52 ` [PATCH v5 6/6] xen/arm: IRQ: Handle multiple action per IRQ Julien Grall
2014-05-08 10:04 ` Ian Campbell
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=5370BFBD.2010308@linaro.org \
--to=julien.grall@linaro.org \
--cc=Ian.Campbell@citrix.com \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.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.