From: Qais Yousef <qais.yousef@imgtec.com>
To: Marc Zyngier <marc.zyngier@arm.com>, Mark Rutland <Mark.Rutland@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
Jason Cooper <jason@lakedaemon.net>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mips@linux-mips.org" <linux-mips@linux-mips.org>,
Jiang Liu <jiang.liu@linux.intel.com>,
Mark Brown <broonie@kernel.org>,
Lisa Parratt <Lisa.Parratt@imgtec.com>
Subject: Re: [PATCH 01/10] irqchip: irq-mips-gic: export gic_send_ipi
Date: Wed, 2 Sep 2015 11:48:44 +0100 [thread overview]
Message-ID: <55E6D40C.5060708@imgtec.com> (raw)
In-Reply-To: <55E6C788.2000405@arm.com>
On 09/02/2015 10:55 AM, Marc Zyngier wrote:
> On 02/09/15 10:33, Qais Yousef wrote:
>> On 08/28/2015 03:22 PM, Thomas Gleixner wrote:
>>> On Fri, 28 Aug 2015, Qais Yousef wrote:
>>>> Thanks a lot for the detailed explanation. I wasn't looking for a quick and
>>>> dirty solution but my view of the problem is much simpler than yours so my
>>>> idea of a solution would look quick and dirty. I have a better appreciation of
>>>> the problem now and a way to approach it :-)
>>>>
>>>> From DT point of view are we OK with this form then
>>>>
>>>> coprocessor {
>>>> interrupt-source = <&intc INT_SPEC COP_HWAFFINITY>;
>>>> interrupt-sink = <&intc INT_SPEC CPU_HWAFFINITY>;
>>>> }
>>>>
>>>> and if the root controller sends normal IPI as it sends normal device
>>>> interrupts then interrupt-sink can be a standard interrupts property (like in
>>>> my case)
>>>>
>>>> coprocessor {
>>>> interrupt-source = <&intc INT_SPEC COP_HWAFFINITY>;
>>>> interrupts = <INT_SPEC>;
>>>> }
>>>>
>>>> Does this look right to you? Is there something else that needs to be covered
>>>> still?
>>> I'm not an DT wizard. I leave that to the DT experts.
>>>
>> Hi Marc Zyngier, Mark Rutland,
>>
>> Any comments about the DT binding for the IPIs?
>>
>> To recap, the proposal which is based on Marc Zyngier's is to use
>> interrupt-source to represent an IPI from Linux CPU to a coprocessor and
>> interrupt-sink to receive an IPI from coprocessor to Linux CPU.
>> Hopefully the description above is self explanatory. Please let me know
>> if you need more info. Thomas covered the routing, synthesising, and
>> requesting parts in the core code. The remaining (high level) issue is
>> how to describe the IPIs in DT.
> I'm definitely *not* a DT expert! ;-) My initial binding proposal was
> only for wired interrupts, not for IPIs. There is definitely some common
> aspects, except for one part:
>
> Who decides on the IPI number? So far, we've avoided encoding IPI
> numbers in the DT just like we don't encode MSIs, because they are
> programmable things. My feeling is that we shouldn't put the IPI number
> in the DT because the rest of the kernel uses them as well and could
> decide to use this particular IPI number for its own use: *clash*.
I think this is covered in Thomas proposal to reserve IPIs. His thoughts
is to use a separate irq-domain for IPIs and use irq_reserve_ipi() and
irq_destroy_ipi() to get and release IPIs.
>
> The way I see it would be to have a pool of IPI numbers that the kernel
> requests for its own use first, leaving whatever remains to drivers.
That's what Thomas thinks too and he covered this by using
irq_reserve_ipi() and irq_destroy_ipi().
https://lkml.org/lkml/2015/8/26/713
It's worth noting in the light of this that INT_SPEC should be optional
since for hardware similar to mine there's not much to tell the
controller if it's all dynamic except where we want the IPI to be routed
to - the INT_SPEC is implicitly defined by the notion it's an IPI.
Thanks,
Qais
>
> Mark (as *you* are the expert ;-), what do you think?
>
> M.
next prev parent reply other threads:[~2015-09-02 10:48 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-24 12:39 [PATCH 00/10] Add support for img AXD audio hardware decoder Qais Yousef
2015-08-24 12:39 ` [PATCH 01/10] irqchip: irq-mips-gic: export gic_send_ipi Qais Yousef
2015-08-24 12:49 ` Thomas Gleixner
2015-08-24 13:02 ` Qais Yousef
2015-08-24 13:32 ` Marc Zyngier
2015-08-24 14:27 ` Qais Yousef
2015-08-24 15:07 ` Thomas Gleixner
2015-08-24 16:39 ` Qais Yousef
2015-08-24 17:17 ` Marc Zyngier
2015-08-26 11:23 ` Qais Yousef
2015-08-26 13:19 ` Thomas Gleixner
2015-08-26 14:57 ` Qais Yousef
2015-08-26 15:08 ` Thomas Gleixner
2015-08-26 15:41 ` Qais Yousef
2015-08-26 21:40 ` Thomas Gleixner
2015-08-27 2:22 ` Jiang Liu
2015-08-28 10:38 ` Qais Yousef
2015-08-28 14:22 ` Thomas Gleixner
2015-08-28 15:12 ` Qais Yousef
2015-09-02 9:33 ` Qais Yousef
2015-09-02 9:55 ` Marc Zyngier
2015-09-02 10:48 ` Qais Yousef [this message]
2015-09-02 11:53 ` Marc Zyngier
2015-09-02 13:25 ` Qais Yousef
2015-09-02 14:14 ` Marc Zyngier
2015-09-02 12:12 ` Jason Cooper
2015-08-24 14:55 ` Thomas Gleixner
2015-08-24 15:11 ` Qais Yousef
2015-08-24 12:39 ` [PATCH 02/10] dt: add img,axd.txt device tree binding document Qais Yousef
2015-08-24 13:26 ` Mark Rutland
2015-08-24 13:49 ` Qais Yousef
2015-08-24 12:39 ` [PATCH 03/10] ALSA: add AXD Audio Processing IP alsa driver Qais Yousef
2015-08-26 18:37 ` Mark Brown
2015-08-27 12:15 ` Qais Yousef
2015-08-27 15:32 ` Mark Brown
2015-08-28 9:22 ` Qais Yousef
2015-09-03 12:46 ` Mark Brown
2015-08-24 12:39 ` [PATCH 04/10] ALSA: axd: add fw binary header manipulation files Qais Yousef
2015-08-24 12:39 ` [PATCH 05/10] ALSA: axd: add buffers " Qais Yousef
2015-08-26 18:43 ` Mark Brown
2015-08-27 14:21 ` Qais Yousef
2015-08-29 9:47 ` Mark Brown
2015-09-01 10:00 ` Qais Yousef
2015-09-03 12:32 ` Mark Brown
2015-09-14 9:11 ` Qais Yousef
2015-09-14 18:50 ` Mark Brown
2015-08-24 12:39 ` [PATCH 06/10] ALSA: axd: add basic files for sending/receiving axd cmds Qais Yousef
2015-08-26 19:16 ` Mark Brown
2015-08-27 15:40 ` Qais Yousef
2015-08-29 10:18 ` Mark Brown
2015-09-01 10:46 ` Qais Yousef
2015-09-03 12:40 ` Mark Brown
2015-08-24 12:39 ` [PATCH 07/10] ALSA: axd: add cmd interface helper functions Qais Yousef
2015-08-24 12:39 ` [PATCH 08/10] ALSA: axd: add low level AXD platform setup files Qais Yousef
2015-08-24 12:39 ` [PATCH 09/10] ALSA: axd: add alsa compress offload operations Qais Yousef
2015-08-24 12:39 ` [PATCH 10/10] ALSA: axd: add Makefile Qais Yousef
2015-08-26 18:04 ` [PATCH 00/10] Add support for img AXD audio hardware decoder Mark Brown
2015-08-27 9:07 ` Qais Yousef
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=55E6D40C.5060708@imgtec.com \
--to=qais.yousef@imgtec.com \
--cc=Lisa.Parratt@imgtec.com \
--cc=Mark.Rutland@arm.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=jason@lakedaemon.net \
--cc=jiang.liu@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=marc.zyngier@arm.com \
--cc=tglx@linutronix.de \
/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