All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Daney <ddaney.cavm@gmail.com>
To: Andrew Bresticker <abrestic@chromium.org>
Cc: Ralf Baechle <ralf@linux-mips.org>,
	Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Jeffrey Deans <jeffrey.deans@imgtec.com>,
	Markos Chandras <markos.chandras@imgtec.com>,
	Paul Burton <paul.burton@imgtec.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jason Cooper <jason@lakedaemon.net>,
	Linux-MIPS <linux-mips@linux-mips.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 03/12] of: Add binding document for MIPS GIC
Date: Wed, 03 Sep 2014 17:06:30 -0700	[thread overview]
Message-ID: <5407AD06.6070402@gmail.com> (raw)
In-Reply-To: <CAL1qeaG_vSiBToi9ZU2=+Guj98gWE_AgmrR7=Z6-PxSNfdH9sA@mail.gmail.com>

On 09/03/2014 04:53 PM, Andrew Bresticker wrote:
> On Tue, Sep 2, 2014 at 5:50 PM, David Daney <ddaney.cavm@gmail.com> wrote:
[...]
>>
>> Your comments don't really make sense to me in the context of my knowledge
>> of the GIC.
>>
>> Of course all the CP0 timer and performance counter interrupts are per-CPU
>> and routed directly to the corresponding CP0_Cause[IP7..IP2] bits.  We are
>> don't need to give them further consideration.
>>
>>
>> Here is the scenario you should consider:
>>
>>    o 16 CPU cores.
>>    o 1 GIC routing interrupts from external sources to the 16 CPUs.
>>    o 2 network controllers each with an interrupt line routed to the GIC.
>>
>> Q: What would the GIC "interrupts" property look like?
>>
>> Note that the GIC doesn't have a single "interrupt-parent", as it can route
>> interrupts to *all* 16 CPUs.
>>
>> I propose that the GIC have neither an "interrupt-parent", nor "interrupts".
>> The fact that it is an "mti,global-interrupt-controller", means that the
>> software drivers for the GIC already know how to route interrupts, and any
>> information the device tree could contain is redundant.
>
> Ok, I misunderstood your opposition to the binding.
>
> My intention for the "interrupt-parent" and "interrupts" property of
> the GIC was to express that GIC interrupts are routed to the CPU
> interrupt vectors and that a certain set of these vectors are
> available for use by the GIC.  I would agree that these are mostly
> redundant (obviously the GIC routes interrupts to CPU interrupt
> vecotrs) and that it is not the most accurate description of the
> GIC-CPU relationship (the CPU interrupt controller are per-CPU, not
> global, and the GIC can route interrupts to any of them), though I'm
> not sure that there's a better way of describing it in DT.
>
> So that leaves us with something like this:
>
> interrupt-controller@1bdc0000 {
>          compatible = "mti,global-interrupt-controller";
>
>          interrupt-controller;
>          #interrupt-cells = <2>;
>
>          available-cpu-vectors = <2>, <3>, ...


Exactly what I had in mind, except for the missing "reg" property.

This gives software the information it needs, but doesn't impose any policy.

I will defer to others on the exact name the "available-cpu-vectors" 
should have.




> };
>
> DT folks, thoughts?
>
>

  reply	other threads:[~2014-09-04  0:06 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-29 22:14 [PATCH 00/12] MIPS: GIC device-tree support Andrew Bresticker
2014-08-29 22:14 ` [PATCH 01/12] MIPS: Provide a generic plat_irq_dispatch Andrew Bresticker
2014-08-31 17:34   ` Jonas Gorski
2014-08-31 17:34     ` Jonas Gorski
2014-08-29 22:14 ` [PATCH 02/12] MIPS: Set vint handler when mapping CPU interrupts Andrew Bresticker
2014-08-29 22:14 ` [PATCH 03/12] of: Add binding document for MIPS GIC Andrew Bresticker
2014-08-29 22:14   ` Andrew Bresticker
2014-08-30  7:53   ` Arnd Bergmann
2014-08-30  7:53     ` Arnd Bergmann
2014-08-31 18:34     ` Andrew Bresticker
2014-08-31 18:34       ` Andrew Bresticker
2014-09-01 11:01   ` Mark Rutland
2014-09-01 11:01     ` Mark Rutland
2014-09-01 12:11     ` James Hogan
2014-09-01 12:11       ` James Hogan
2014-09-02  0:53     ` Andrew Bresticker
2014-09-02  0:53       ` Andrew Bresticker
2014-09-02  9:33       ` Mark Rutland
2014-09-02  9:33         ` Mark Rutland
2014-09-02 16:36         ` Andrew Bresticker
2014-09-02 16:36           ` Andrew Bresticker
2014-09-02 17:27   ` David Daney
2014-09-02 17:27     ` David Daney
2014-09-02 19:36     ` Andrew Bresticker
2014-09-03  0:50       ` David Daney
2014-09-03  0:50         ` David Daney
2014-09-03 23:53         ` Andrew Bresticker
2014-09-03 23:53           ` Andrew Bresticker
2014-09-04  0:06           ` David Daney [this message]
2014-08-29 22:14 ` [PATCH 04/12] MIPS: GIC: Move MIPS_GIC_IRQ_BASE into platform irq.h Andrew Bresticker
2014-08-30  7:57   ` Arnd Bergmann
2014-08-30  7:57     ` Arnd Bergmann
2014-08-31 18:54     ` Andrew Bresticker
2014-09-01  8:34       ` Arnd Bergmann
2014-09-01  8:34         ` Arnd Bergmann
2014-09-01  9:05         ` John Crispin
2014-09-02  0:08         ` Andrew Bresticker
2014-09-02 22:22           ` Andrew Bresticker
2014-09-03 15:08             ` Arnd Bergmann
2014-08-29 22:14 ` [PATCH 05/12] MIPS: GIC: Add device-tree support Andrew Bresticker
2014-08-29 22:14   ` Andrew Bresticker
2014-08-30  7:54   ` Arnd Bergmann
2014-08-30  7:54     ` Arnd Bergmann
2014-08-31 18:42     ` Andrew Bresticker
2014-08-29 22:14 ` [PATCH 06/12] MIPS: GIC: Add generic IPI support when using DT Andrew Bresticker
2014-08-29 22:14 ` [PATCH 07/12] MIPS: GIC: Implement irq_set_type callback Andrew Bresticker
2014-08-29 22:14 ` [PATCH 08/12] MIPS: GIC: Implement generic irq_ack/irq_eoi callbacks Andrew Bresticker
2014-08-29 22:14 ` [PATCH 09/12] MIPS: GIC: Fix gic_set_affinity() return value Andrew Bresticker
2014-08-29 22:14 ` [PATCH 10/12] MIPS: GIC: Support local interrupts Andrew Bresticker
2014-08-29 22:14 ` [PATCH 11/12] MIPS: GIC: Use local interrupts for timer Andrew Bresticker
2014-08-29 22:14 ` [PATCH 12/12] MIPS: Malta: Map GIC local interrupts Andrew Bresticker
2014-08-30  6:33 ` [PATCH 00/12] MIPS: GIC device-tree support John Crispin
2014-08-30  6:33   ` John Crispin
2014-08-31 18:32   ` Andrew Bresticker
2014-08-31 18:32     ` Andrew Bresticker

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=5407AD06.6070402@gmail.com \
    --to=ddaney.cavm@gmail.com \
    --cc=abrestic@chromium.org \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=jason@lakedaemon.net \
    --cc=jeffrey.deans@imgtec.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=mark.rutland@arm.com \
    --cc=markos.chandras@imgtec.com \
    --cc=paul.burton@imgtec.com \
    --cc=pawel.moll@arm.com \
    --cc=ralf@linux-mips.org \
    --cc=robh+dt@kernel.org \
    --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 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.