From: Santosh Shilimkar <santosh.shilimkar@ti.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: Sricharan R <r.sricharan@ti.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
"linux@arm.linux.org.uk" <linux@arm.linux.org.uk>,
"tony@atomide.com" <tony@atomide.com>,
"rnayak@ti.com" <rnayak@ti.com>,
Marc Zyngier <Marc.Zyngier@arm.com>,
"grant.likely@linaro.org" <grant.likely@linaro.org>,
"robherring2@gmail.com" <robherring2@gmail.com>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"galak@codeaurora.org" <galak@codeaurora.org>,
"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
"nm@ti.com" <nm@ti.com>,
"bcousson@baylibre.com" <bcousson@baylibr>
Subject: Re: [PATCH V4 1/4] DRIVERS: IRQCHIP: IRQ-GIC: Add support for routable irqs
Date: Fri, 15 Nov 2013 10:01:03 -0500 [thread overview]
Message-ID: <5286372F.3000302@ti.com> (raw)
In-Reply-To: <20131115112329.GE1709@e106331-lin.cambridge.arm.com>
On Friday 15 November 2013 06:23 AM, Mark Rutland wrote:
> On Thu, Nov 14, 2013 at 04:46:36PM +0000, Sricharan R wrote:
>> Hi Mark,
>>
>> On Thursday 14 November 2013 07:31 PM, Mark Rutland wrote:
>>> On Thu, Nov 14, 2013 at 12:18:47PM +0000, Sricharan R wrote:
>>>> In some socs the gic can be preceded by a crossbar IP which
>>>> routes the peripheral interrupts to the gic inputs. The peripheral
>>>> interrupts are associated with a fixed crossbar input line and the
>>>> crossbar routes that to one of the free gic input line.
>>>>
>>>> The DT entries for peripherals provides the fixed crossbar input line
>>>> as its interrupt number and the mapping code should associate this with
>>>> a free gic input line. This patch adds the support inside the gic irqchip
>>>> to handle such routable irqs. The routable irqs are registered in a linear
>>>> domain. The registered routable domain's callback should be implemented
>>>> to get a free irq and to configure the IP to route it.
>>>>
>>>> Cc: Thomas Gleixner <tglx@linutronix.de>
>>>> Cc: Linus Walleij <linus.walleij@linaro.org>
>>>> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>>> Cc: Russell King <linux@arm.linux.org.uk>
>>>> Cc: Tony Lindgren <tony@atomide.com>
>>>> Cc: Rajendra Nayak <rnayak@ti.com>
>>>> Cc: Marc Zyngier <marc.zyngier@arm.com>
>>>> Cc: Grant Likely <grant.likely@linaro.org>
>>>> Cc: Rob Herring <rob.herring@calxeda.com>
>>>> Signed-off-by: Sricharan R <r.sricharan@ti.com>
>>>> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>>> ---
>>>> [V2] Added default routable-irqs functions to avoid
>>>> unnecessary if checks as per Thomas Gleixner comments
>>>> and renamed routable-irq binding as per
>>>> Kumar Gala <galak@codeaurora.org> comments.
>>>>
>>>> [V3] Addressed unnecessary warn-on and updated default
>>>> xlate function as per Thomas Gleixner comments
>>>>
>>>> Documentation/devicetree/bindings/arm/gic.txt | 6 ++
>>>> drivers/irqchip/irq-gic.c | 81 ++++++++++++++++++++++---
>>>> include/linux/irqchip/arm-gic.h | 7 ++-
>>>> 3 files changed, 83 insertions(+), 11 deletions(-)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt
>>>> index 3dfb0c0..5357745 100644
>>>> --- a/Documentation/devicetree/bindings/arm/gic.txt
>>>> +++ b/Documentation/devicetree/bindings/arm/gic.txt
>>>> @@ -49,6 +49,11 @@ Optional
>>>> regions, used when the GIC doesn't have banked registers. The offset is
>>>> cpu-offset * cpu-nr.
>>>>
>>>> +- arm,routable-irqs : Total number of gic irq inputs which are not directly
>>>> + connected from the peripherals, but are routed dynamically
>>>> + by a crossbar/multiplexer preceding the GIC. The GIC irq
>>>> + input line is assigned dynamically when the corresponding
>>>> + peripheral's crossbar line is mapped.
>>> I'm not keen on the design of the arm,routable-irqs property. The set of
>>> IRQs which the crossbar IP can use is a property of which IRQ lines it
>>> has routed to the GIC. I don't see why that should be considered a
>>> property of the GIC; it's a property of the crossbar IP's attachment to
>>> the GIC.
>>>
>>> Given we already have a mechanism for describing the attachment (i.e.
>>> the interrupts property) where the property appears on the node for the
>>> device generating/propagating the interrupt, I don't see why we should
>>> do differently here.
>> We did try using interrupts=<> property for all peripherals and
>> mapping them as crossbar's parent. But that approach of representing
>> crossbar as a interrupt parent was not accepted, since the crossbar
>> was just routing the interrupts from peripherals to GIC and nothing more.
>> Also mapping all the interrupts using interrupt-map like property by a fixed way
>> in DTS itself was considered hacky
>
> I'm not suggesting you should interrupt-map. I agree that that
> interrupt-map is not suitable for a dynamically configurable device like
> the crossbar.
>
> When you say that the crossbar is just routing the interrupts, at what
> level is it doing so? Does it accept a logical interrupt and output
> another logical interrupt, or does it just connect the two lines
> electrically?
>
Its just makes electrical connection between input and output line and
thats it.
Regards,
Santosh
WARNING: multiple messages have this Message-ID (diff)
From: santosh.shilimkar@ti.com (Santosh Shilimkar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V4 1/4] DRIVERS: IRQCHIP: IRQ-GIC: Add support for routable irqs
Date: Fri, 15 Nov 2013 10:01:03 -0500 [thread overview]
Message-ID: <5286372F.3000302@ti.com> (raw)
In-Reply-To: <20131115112329.GE1709@e106331-lin.cambridge.arm.com>
On Friday 15 November 2013 06:23 AM, Mark Rutland wrote:
> On Thu, Nov 14, 2013 at 04:46:36PM +0000, Sricharan R wrote:
>> Hi Mark,
>>
>> On Thursday 14 November 2013 07:31 PM, Mark Rutland wrote:
>>> On Thu, Nov 14, 2013 at 12:18:47PM +0000, Sricharan R wrote:
>>>> In some socs the gic can be preceded by a crossbar IP which
>>>> routes the peripheral interrupts to the gic inputs. The peripheral
>>>> interrupts are associated with a fixed crossbar input line and the
>>>> crossbar routes that to one of the free gic input line.
>>>>
>>>> The DT entries for peripherals provides the fixed crossbar input line
>>>> as its interrupt number and the mapping code should associate this with
>>>> a free gic input line. This patch adds the support inside the gic irqchip
>>>> to handle such routable irqs. The routable irqs are registered in a linear
>>>> domain. The registered routable domain's callback should be implemented
>>>> to get a free irq and to configure the IP to route it.
>>>>
>>>> Cc: Thomas Gleixner <tglx@linutronix.de>
>>>> Cc: Linus Walleij <linus.walleij@linaro.org>
>>>> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>>> Cc: Russell King <linux@arm.linux.org.uk>
>>>> Cc: Tony Lindgren <tony@atomide.com>
>>>> Cc: Rajendra Nayak <rnayak@ti.com>
>>>> Cc: Marc Zyngier <marc.zyngier@arm.com>
>>>> Cc: Grant Likely <grant.likely@linaro.org>
>>>> Cc: Rob Herring <rob.herring@calxeda.com>
>>>> Signed-off-by: Sricharan R <r.sricharan@ti.com>
>>>> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>>> ---
>>>> [V2] Added default routable-irqs functions to avoid
>>>> unnecessary if checks as per Thomas Gleixner comments
>>>> and renamed routable-irq binding as per
>>>> Kumar Gala <galak@codeaurora.org> comments.
>>>>
>>>> [V3] Addressed unnecessary warn-on and updated default
>>>> xlate function as per Thomas Gleixner comments
>>>>
>>>> Documentation/devicetree/bindings/arm/gic.txt | 6 ++
>>>> drivers/irqchip/irq-gic.c | 81 ++++++++++++++++++++++---
>>>> include/linux/irqchip/arm-gic.h | 7 ++-
>>>> 3 files changed, 83 insertions(+), 11 deletions(-)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt
>>>> index 3dfb0c0..5357745 100644
>>>> --- a/Documentation/devicetree/bindings/arm/gic.txt
>>>> +++ b/Documentation/devicetree/bindings/arm/gic.txt
>>>> @@ -49,6 +49,11 @@ Optional
>>>> regions, used when the GIC doesn't have banked registers. The offset is
>>>> cpu-offset * cpu-nr.
>>>>
>>>> +- arm,routable-irqs : Total number of gic irq inputs which are not directly
>>>> + connected from the peripherals, but are routed dynamically
>>>> + by a crossbar/multiplexer preceding the GIC. The GIC irq
>>>> + input line is assigned dynamically when the corresponding
>>>> + peripheral's crossbar line is mapped.
>>> I'm not keen on the design of the arm,routable-irqs property. The set of
>>> IRQs which the crossbar IP can use is a property of which IRQ lines it
>>> has routed to the GIC. I don't see why that should be considered a
>>> property of the GIC; it's a property of the crossbar IP's attachment to
>>> the GIC.
>>>
>>> Given we already have a mechanism for describing the attachment (i.e.
>>> the interrupts property) where the property appears on the node for the
>>> device generating/propagating the interrupt, I don't see why we should
>>> do differently here.
>> We did try using interrupts=<> property for all peripherals and
>> mapping them as crossbar's parent. But that approach of representing
>> crossbar as a interrupt parent was not accepted, since the crossbar
>> was just routing the interrupts from peripherals to GIC and nothing more.
>> Also mapping all the interrupts using interrupt-map like property by a fixed way
>> in DTS itself was considered hacky
>
> I'm not suggesting you should interrupt-map. I agree that that
> interrupt-map is not suitable for a dynamically configurable device like
> the crossbar.
>
> When you say that the crossbar is just routing the interrupts, at what
> level is it doing so? Does it accept a logical interrupt and output
> another logical interrupt, or does it just connect the two lines
> electrically?
>
Its just makes electrical connection between input and output line and
thats it.
Regards,
Santosh
WARNING: multiple messages have this Message-ID (diff)
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: Sricharan R <r.sricharan@ti.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
"linux@arm.linux.org.uk" <linux@arm.linux.org.uk>,
"tony@atomide.com" <tony@atomide.com>,
"rnayak@ti.com" <rnayak@ti.com>,
Marc Zyngier <Marc.Zyngier@arm.com>,
"grant.likely@linaro.org" <grant.likely@linaro.org>,
"robherring2@gmail.com" <robherring2@gmail.com>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"galak@codeaurora.org" <galak@codeaurora.org>,
"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
"nm@ti.com" <nm@ti.com>,
"bcousson@baylibre.com" <bcousson@baylibre.com>
Subject: Re: [PATCH V4 1/4] DRIVERS: IRQCHIP: IRQ-GIC: Add support for routable irqs
Date: Fri, 15 Nov 2013 10:01:03 -0500 [thread overview]
Message-ID: <5286372F.3000302@ti.com> (raw)
In-Reply-To: <20131115112329.GE1709@e106331-lin.cambridge.arm.com>
On Friday 15 November 2013 06:23 AM, Mark Rutland wrote:
> On Thu, Nov 14, 2013 at 04:46:36PM +0000, Sricharan R wrote:
>> Hi Mark,
>>
>> On Thursday 14 November 2013 07:31 PM, Mark Rutland wrote:
>>> On Thu, Nov 14, 2013 at 12:18:47PM +0000, Sricharan R wrote:
>>>> In some socs the gic can be preceded by a crossbar IP which
>>>> routes the peripheral interrupts to the gic inputs. The peripheral
>>>> interrupts are associated with a fixed crossbar input line and the
>>>> crossbar routes that to one of the free gic input line.
>>>>
>>>> The DT entries for peripherals provides the fixed crossbar input line
>>>> as its interrupt number and the mapping code should associate this with
>>>> a free gic input line. This patch adds the support inside the gic irqchip
>>>> to handle such routable irqs. The routable irqs are registered in a linear
>>>> domain. The registered routable domain's callback should be implemented
>>>> to get a free irq and to configure the IP to route it.
>>>>
>>>> Cc: Thomas Gleixner <tglx@linutronix.de>
>>>> Cc: Linus Walleij <linus.walleij@linaro.org>
>>>> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>>> Cc: Russell King <linux@arm.linux.org.uk>
>>>> Cc: Tony Lindgren <tony@atomide.com>
>>>> Cc: Rajendra Nayak <rnayak@ti.com>
>>>> Cc: Marc Zyngier <marc.zyngier@arm.com>
>>>> Cc: Grant Likely <grant.likely@linaro.org>
>>>> Cc: Rob Herring <rob.herring@calxeda.com>
>>>> Signed-off-by: Sricharan R <r.sricharan@ti.com>
>>>> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>>> ---
>>>> [V2] Added default routable-irqs functions to avoid
>>>> unnecessary if checks as per Thomas Gleixner comments
>>>> and renamed routable-irq binding as per
>>>> Kumar Gala <galak@codeaurora.org> comments.
>>>>
>>>> [V3] Addressed unnecessary warn-on and updated default
>>>> xlate function as per Thomas Gleixner comments
>>>>
>>>> Documentation/devicetree/bindings/arm/gic.txt | 6 ++
>>>> drivers/irqchip/irq-gic.c | 81 ++++++++++++++++++++++---
>>>> include/linux/irqchip/arm-gic.h | 7 ++-
>>>> 3 files changed, 83 insertions(+), 11 deletions(-)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt
>>>> index 3dfb0c0..5357745 100644
>>>> --- a/Documentation/devicetree/bindings/arm/gic.txt
>>>> +++ b/Documentation/devicetree/bindings/arm/gic.txt
>>>> @@ -49,6 +49,11 @@ Optional
>>>> regions, used when the GIC doesn't have banked registers. The offset is
>>>> cpu-offset * cpu-nr.
>>>>
>>>> +- arm,routable-irqs : Total number of gic irq inputs which are not directly
>>>> + connected from the peripherals, but are routed dynamically
>>>> + by a crossbar/multiplexer preceding the GIC. The GIC irq
>>>> + input line is assigned dynamically when the corresponding
>>>> + peripheral's crossbar line is mapped.
>>> I'm not keen on the design of the arm,routable-irqs property. The set of
>>> IRQs which the crossbar IP can use is a property of which IRQ lines it
>>> has routed to the GIC. I don't see why that should be considered a
>>> property of the GIC; it's a property of the crossbar IP's attachment to
>>> the GIC.
>>>
>>> Given we already have a mechanism for describing the attachment (i.e.
>>> the interrupts property) where the property appears on the node for the
>>> device generating/propagating the interrupt, I don't see why we should
>>> do differently here.
>> We did try using interrupts=<> property for all peripherals and
>> mapping them as crossbar's parent. But that approach of representing
>> crossbar as a interrupt parent was not accepted, since the crossbar
>> was just routing the interrupts from peripherals to GIC and nothing more.
>> Also mapping all the interrupts using interrupt-map like property by a fixed way
>> in DTS itself was considered hacky
>
> I'm not suggesting you should interrupt-map. I agree that that
> interrupt-map is not suitable for a dynamically configurable device like
> the crossbar.
>
> When you say that the crossbar is just routing the interrupts, at what
> level is it doing so? Does it accept a logical interrupt and output
> another logical interrupt, or does it just connect the two lines
> electrically?
>
Its just makes electrical connection between input and output line and
thats it.
Regards,
Santosh
next prev parent reply other threads:[~2013-11-15 15:01 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-14 12:18 [PATCH V4 0/4] DRIVERS: IRQCHIP: Add support for crossbar IP Sricharan R
2013-11-14 12:18 ` Sricharan R
2013-11-14 12:18 ` Sricharan R
2013-11-14 12:18 ` [PATCH V4 1/4] DRIVERS: IRQCHIP: IRQ-GIC: Add support for routable irqs Sricharan R
2013-11-14 12:18 ` Sricharan R
2013-11-14 12:18 ` Sricharan R
2013-11-14 12:33 ` Thomas Gleixner
2013-11-14 12:33 ` Thomas Gleixner
2013-11-14 12:34 ` Sricharan R
2013-11-14 12:34 ` Sricharan R
2013-11-14 12:34 ` Sricharan R
[not found] ` <1384431530-2166-2-git-send-email-r.sricharan-l0cyMroinI0@public.gmane.org>
2013-11-14 14:01 ` Mark Rutland
2013-11-14 14:01 ` Mark Rutland
2013-11-14 14:01 ` Mark Rutland
2013-11-14 16:46 ` Sricharan R
2013-11-14 16:46 ` Sricharan R
2013-11-14 16:46 ` Sricharan R
2013-11-15 11:23 ` Mark Rutland
2013-11-15 11:23 ` Mark Rutland
2013-11-15 15:01 ` Santosh Shilimkar [this message]
2013-11-15 15:01 ` Santosh Shilimkar
2013-11-15 15:01 ` Santosh Shilimkar
2013-12-02 10:26 ` Sricharan R
2013-12-02 10:26 ` Sricharan R
2013-11-14 12:18 ` [PATCH V4 2/4] DRIVERS: IRQCHIP: CROSSBAR: Add support for Crossbar IP Sricharan R
2013-11-14 12:18 ` Sricharan R
2013-11-14 12:18 ` Sricharan R
2013-11-14 14:12 ` Mark Rutland
2013-11-14 14:12 ` Mark Rutland
2013-11-14 16:41 ` Sricharan R
2013-11-14 16:41 ` Sricharan R
2013-11-14 16:41 ` Sricharan R
2013-11-15 11:07 ` Mark Rutland
2013-11-15 11:07 ` Mark Rutland
2013-11-14 12:18 ` [PATCH V4 3/4] ARM: OMAP4+: Correct Wakeup-gen code to use physical irq number Sricharan R
2013-11-14 12:18 ` Sricharan R
2013-11-14 12:18 ` Sricharan R
2013-11-14 12:18 ` [PATCH V4 4/4] ARM: DRA: Enable Crossbar IP support for DRA7XX Sricharan R
2013-11-14 12:18 ` Sricharan R
2013-11-14 12:18 ` Sricharan R
[not found] ` <1384431530-2166-1-git-send-email-r.sricharan-l0cyMroinI0@public.gmane.org>
2013-11-14 14:25 ` [PATCH V4 0/4] DRIVERS: IRQCHIP: Add support for crossbar IP Santosh Shilimkar
2013-11-14 14:25 ` Santosh Shilimkar
2013-11-14 14:25 ` Santosh Shilimkar
2013-11-19 8:37 ` Linus Walleij
2013-11-19 8:37 ` Linus Walleij
2013-11-19 8:37 ` Linus Walleij
2013-12-02 6:27 ` Sricharan R
2013-12-02 6:27 ` Sricharan R
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=5286372F.3000302@ti.com \
--to=santosh.shilimkar@ti.com \
--cc=Marc.Zyngier@arm.com \
--cc=bcousson@baylibr \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=grant.likely@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=nm@ti.com \
--cc=r.sricharan@ti.com \
--cc=rnayak@ti.com \
--cc=rob.herring@calxeda.com \
--cc=robherring2@gmail.com \
--cc=tglx@linutronix.de \
--cc=tony@atomide.com \
/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.