All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@oracle.com>,
	Nishanth Menon <nm@ti.com>, Rob Herring <robh+dt@kernel.org>,
	<tglx@linutronix.de>, <jason@lakedaemon.net>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Linux ARM Mailing List <linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, Tero Kristo <t-kristo@ti.com>,
	Sekhar Nori <nsekhar@ti.com>,
	Device Tree Mailing List <devicetree@vger.kernel.org>,
	Grygorii Strashko <grygorii.strashko@ti.com>,
	Peter Ujfalusi <peter.ujfalusi@ti.com>
Subject: Re: [PATCH v2 00/10] Add support for TISCI irqchip drivers
Date: Tue, 23 Oct 2018 09:27:07 +0100	[thread overview]
Message-ID: <864lddt6ec.wl-marc.zyngier@arm.com> (raw)
In-Reply-To: <050161aa-a257-9bf8-b3c9-35b13925b556@ti.com>

On Tue, 23 Oct 2018 09:17:56 +0100,
Lokesh Vutla <lokeshvutla@ti.com> wrote:
> 
> Hi Santosh,
> 
> On Tuesday 23 October 2018 02:09 AM, Santosh Shilimkar wrote:
> > On 10/18/2018 8:40 AM, Lokesh Vutla wrote:
> >> TISCI abstracts the handling of IRQ routes where interrupt sources
> >> are not directly connected to host interrupt controller. This series
> >> adds support for:
> >> - TISCI commands needed for IRQ configuration
> >> - Interrupt Router(INTR) and Interrupt Aggregator(INTA) drivers
> >> 
> >> More information on TISCI IRQ management can be found here[1].
> >> Complete TISCI resource management information can be found here[2].
> >> AM65x SoC related TISCI information can be found here[3].
> >> INTR and INTA related information can be found in TRM[4].
> >> 
> > I didn't read the specs but from what you described in
> > INTA and INTR bindings, does the flow of IRQs like below ?
> > 
> > Device IRQ(e.g USB) -->INTR-->INTA--->HOST IRQ controller(GIC)
> 
> Not all devices in SoC are connected to INTA. Only the devices that
> are capable of generating events are connected to INTA. And INTA is
> connected to INTR.
> 
> So there are three ways in which IRQ can flow in AM65x SoC:
> 1) Device directly connected to GIC
> 	- Device IRQ --> GIC
> 	- (Most legacy peripherals like MMC, UART falls in this case)
> 2) Device connected to INTR.
> 	- Device IRQ --> INTR --> GIC
> 	- This is cases where you want to mux IRQs. Used for GPIOs and Mailboxes
> 	- (This is somewhat similar to crossbar on DRA7 devices)
> 3) Devices connected to INTA.
> 	- Device Event --> INTA --> INTR --> GIC
> 	- Used for DMA and networking devices.
> 
> Events are messages based on a hw protocol, sent by a master over a
> dedicated Event transport lane. Events are highly precise that no
> under/over flow of data transfer occurs at source/destination
> regardless of distance and latency. So this is mostly preferred in DMA
> and networking usecases. Now Interrupt Aggregator(IA) has the logic to
> converts these events to Interrupts.

Can we stop with these events already? What you describe here *is* an
interrupt. The fact that you have some other dedicated infrastructure
in your SoC is an implementation detail that doesn't concern the
kernel at all.

So this should be modelled as an interrupt, and not have its own
special interface at all.

Thanks,

	M.

-- 
Jazz is not dead, it just smell funny.

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <marc.zyngier@arm.com>
To: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@oracle.com>,
	Nishanth Menon <nm@ti.com>, Rob Herring <robh+dt@kernel.org>,
	tglx@linutronix.de, jason@lakedaemon.net,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Linux ARM Mailing List <linux-arm-kernel@lists.infradead.org>,
	linux-kernel@vger.kernel.org, Tero Kristo <t-kristo@ti.com>,
	Sekhar Nori <nsekhar@ti.com>,
	Device Tree Mailing List <devicetree@vger.kernel.org>,
	Grygorii Strashko <grygorii.strashko@ti.com>,
	Peter Ujfalusi <peter.ujfalusi@ti.com>
Subject: Re: [PATCH v2 00/10] Add support for TISCI irqchip drivers
Date: Tue, 23 Oct 2018 09:27:07 +0100	[thread overview]
Message-ID: <864lddt6ec.wl-marc.zyngier@arm.com> (raw)
In-Reply-To: <050161aa-a257-9bf8-b3c9-35b13925b556@ti.com>

On Tue, 23 Oct 2018 09:17:56 +0100,
Lokesh Vutla <lokeshvutla@ti.com> wrote:
> 
> Hi Santosh,
> 
> On Tuesday 23 October 2018 02:09 AM, Santosh Shilimkar wrote:
> > On 10/18/2018 8:40 AM, Lokesh Vutla wrote:
> >> TISCI abstracts the handling of IRQ routes where interrupt sources
> >> are not directly connected to host interrupt controller. This series
> >> adds support for:
> >> - TISCI commands needed for IRQ configuration
> >> - Interrupt Router(INTR) and Interrupt Aggregator(INTA) drivers
> >> 
> >> More information on TISCI IRQ management can be found here[1].
> >> Complete TISCI resource management information can be found here[2].
> >> AM65x SoC related TISCI information can be found here[3].
> >> INTR and INTA related information can be found in TRM[4].
> >> 
> > I didn't read the specs but from what you described in
> > INTA and INTR bindings, does the flow of IRQs like below ?
> > 
> > Device IRQ(e.g USB) -->INTR-->INTA--->HOST IRQ controller(GIC)
> 
> Not all devices in SoC are connected to INTA. Only the devices that
> are capable of generating events are connected to INTA. And INTA is
> connected to INTR.
> 
> So there are three ways in which IRQ can flow in AM65x SoC:
> 1) Device directly connected to GIC
> 	- Device IRQ --> GIC
> 	- (Most legacy peripherals like MMC, UART falls in this case)
> 2) Device connected to INTR.
> 	- Device IRQ --> INTR --> GIC
> 	- This is cases where you want to mux IRQs. Used for GPIOs and Mailboxes
> 	- (This is somewhat similar to crossbar on DRA7 devices)
> 3) Devices connected to INTA.
> 	- Device Event --> INTA --> INTR --> GIC
> 	- Used for DMA and networking devices.
> 
> Events are messages based on a hw protocol, sent by a master over a
> dedicated Event transport lane. Events are highly precise that no
> under/over flow of data transfer occurs at source/destination
> regardless of distance and latency. So this is mostly preferred in DMA
> and networking usecases. Now Interrupt Aggregator(IA) has the logic to
> converts these events to Interrupts.

Can we stop with these events already? What you describe here *is* an
interrupt. The fact that you have some other dedicated infrastructure
in your SoC is an implementation detail that doesn't concern the
kernel at all.

So this should be modelled as an interrupt, and not have its own
special interface at all.

Thanks,

	M.

-- 
Jazz is not dead, it just smell funny.

WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 00/10] Add support for TISCI irqchip drivers
Date: Tue, 23 Oct 2018 09:27:07 +0100	[thread overview]
Message-ID: <864lddt6ec.wl-marc.zyngier@arm.com> (raw)
In-Reply-To: <050161aa-a257-9bf8-b3c9-35b13925b556@ti.com>

On Tue, 23 Oct 2018 09:17:56 +0100,
Lokesh Vutla <lokeshvutla@ti.com> wrote:
> 
> Hi Santosh,
> 
> On Tuesday 23 October 2018 02:09 AM, Santosh Shilimkar wrote:
> > On 10/18/2018 8:40 AM, Lokesh Vutla wrote:
> >> TISCI abstracts the handling of IRQ routes where interrupt sources
> >> are not directly connected to host interrupt controller. This series
> >> adds support for:
> >> - TISCI commands needed for IRQ configuration
> >> - Interrupt Router(INTR) and Interrupt Aggregator(INTA) drivers
> >> 
> >> More information on TISCI IRQ management can be found here[1].
> >> Complete TISCI resource management information can be found here[2].
> >> AM65x SoC related TISCI information can be found here[3].
> >> INTR and INTA related information can be found in TRM[4].
> >> 
> > I didn't read the specs but from what you described in
> > INTA and INTR bindings, does the flow of IRQs like below ?
> > 
> > Device IRQ(e.g USB) -->INTR-->INTA--->HOST IRQ controller(GIC)
> 
> Not all devices in SoC are connected to INTA. Only the devices that
> are capable of generating events are connected to INTA. And INTA is
> connected to INTR.
> 
> So there are three ways in which IRQ can flow in AM65x SoC:
> 1) Device directly connected to GIC
> 	- Device IRQ --> GIC
> 	- (Most legacy peripherals like MMC, UART falls in this case)
> 2) Device connected to INTR.
> 	- Device IRQ --> INTR --> GIC
> 	- This is cases where you want to mux IRQs. Used for GPIOs and Mailboxes
> 	- (This is somewhat similar to crossbar on DRA7 devices)
> 3) Devices connected to INTA.
> 	- Device Event --> INTA --> INTR --> GIC
> 	- Used for DMA and networking devices.
> 
> Events are messages based on a hw protocol, sent by a master over a
> dedicated Event transport lane. Events are highly precise that no
> under/over flow of data transfer occurs at source/destination
> regardless of distance and latency. So this is mostly preferred in DMA
> and networking usecases. Now Interrupt Aggregator(IA) has the logic to
> converts these events to Interrupts.

Can we stop with these events already? What you describe here *is* an
interrupt. The fact that you have some other dedicated infrastructure
in your SoC is an implementation detail that doesn't concern the
kernel at all.

So this should be modelled as an interrupt, and not have its own
special interface at all.

Thanks,

	M.

-- 
Jazz is not dead, it just smell funny.

  reply	other threads:[~2018-10-23  8:27 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-18 15:40 [PATCH v2 00/10] Add support for TISCI irqchip drivers Lokesh Vutla
2018-10-18 15:40 ` Lokesh Vutla
2018-10-18 15:40 ` Lokesh Vutla
2018-10-18 15:40 ` [PATCH v2 01/10] firmware: ti_sci: Add support to get TISCI handle using of_phandle Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40 ` [PATCH v2 02/10] firmware: ti_sci: Add support for RM core ops Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40 ` [PATCH v2 03/10] firmware: ti_sci: Add support for IRQ management Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40 ` [PATCH v2 04/10] firmware: ti_sci: Add RM mapping table for am654 Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 20:42   ` Rob Herring
2018-10-18 20:42     ` Rob Herring
2018-10-18 20:42     ` Rob Herring
2018-10-18 15:40 ` [PATCH v2 05/10] firmware: ti_sci: Add helper apis to manage resources Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40 ` [PATCH v2 06/10] dt-bindings: irqchip: Introduce TISCI Interrupt router bindings Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-25 18:45   ` Rob Herring
2018-10-25 18:45     ` Rob Herring
2018-10-26  6:38     ` Lokesh Vutla
2018-10-26  6:38       ` Lokesh Vutla
2018-10-26  6:38       ` Lokesh Vutla
2018-10-18 15:40 ` [PATCH v2 07/10] irqchip: ti-sci-intr: Add support for Interrupt Router driver Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40 ` [PATCH v2 08/10] dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40 ` [PATCH v2 09/10] irqchip: ti-sci-inta: Add support for Interrupt Aggregator driver Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-19 15:22   ` Marc Zyngier
2018-10-19 15:22     ` Marc Zyngier
2018-10-22 14:35     ` Lokesh Vutla
2018-10-22 14:35       ` Lokesh Vutla
2018-10-22 14:35       ` Lokesh Vutla
2018-10-23 13:50       ` Marc Zyngier
2018-10-23 13:50         ` Marc Zyngier
2018-10-23 13:50         ` Marc Zyngier
2018-10-26  6:39         ` Lokesh Vutla
2018-10-26  6:39           ` Lokesh Vutla
2018-10-26  6:39           ` Lokesh Vutla
2018-10-26 20:19           ` Lokesh Vutla
2018-10-26 20:19             ` Lokesh Vutla
2018-10-26 20:19             ` Lokesh Vutla
2018-10-28 13:31             ` Marc Zyngier
2018-10-28 13:31               ` Marc Zyngier
2018-10-28 13:31               ` Marc Zyngier
2018-10-29 13:04               ` Lokesh Vutla
2018-10-29 13:04                 ` Lokesh Vutla
2018-10-29 13:04                 ` Lokesh Vutla
2018-11-01  7:55                 ` Peter Ujfalusi
2018-11-01  7:55                   ` Peter Ujfalusi
2018-11-01  7:55                   ` Peter Ujfalusi
2018-11-01  9:00                   ` Marc Zyngier
2018-11-01  9:00                     ` Marc Zyngier
2018-11-01  9:00                     ` Marc Zyngier
2018-11-01  9:14                     ` Peter Ujfalusi
2018-11-01  9:14                       ` Peter Ujfalusi
2018-11-01  9:14                       ` Peter Ujfalusi
2018-11-01 11:15                       ` Marc Zyngier
2018-11-01 11:15                         ` Marc Zyngier
2018-11-05  8:08                 ` Lokesh Vutla
2018-11-05  8:08                   ` Lokesh Vutla
2018-11-05  8:08                   ` Lokesh Vutla
2018-11-05 15:36                   ` Marc Zyngier
2018-11-05 15:36                     ` Marc Zyngier
2018-11-05 16:20                     ` Lokesh Vutla
2018-11-05 16:20                       ` Lokesh Vutla
2018-11-05 16:20                       ` Lokesh Vutla
2018-11-05 16:44                       ` Marc Zyngier
2018-11-05 16:44                         ` Marc Zyngier
2018-11-05 17:56                         ` Lokesh Vutla
2018-11-05 17:56                           ` Lokesh Vutla
2018-11-05 17:56                           ` Lokesh Vutla
2018-10-31 16:39         ` Grygorii Strashko
2018-10-31 16:39           ` Grygorii Strashko
2018-10-31 16:39           ` Grygorii Strashko
2018-10-31 18:21           ` Marc Zyngier
2018-10-31 18:21             ` Marc Zyngier
2018-10-31 18:38             ` Santosh Shilimkar
2018-10-31 18:38               ` Santosh Shilimkar
2018-10-31 18:42               ` Marc Zyngier
2018-10-31 18:42                 ` Marc Zyngier
2018-10-31 18:48                 ` Santosh Shilimkar
2018-10-31 18:48                   ` Santosh Shilimkar
2018-10-31 18:48                   ` Santosh Shilimkar
2018-10-31 20:33             ` Grygorii Strashko
2018-10-31 20:33               ` Grygorii Strashko
2018-10-31 20:33               ` Grygorii Strashko
2018-11-01 14:52               ` Marc Zyngier
2018-11-01 14:52                 ` Marc Zyngier
2018-11-01 15:36                 ` Grygorii Strashko
2018-11-01 15:36                   ` Grygorii Strashko
2018-11-01 15:36                   ` Grygorii Strashko
2018-11-01  9:09             ` Peter Ujfalusi
2018-11-01  9:09               ` Peter Ujfalusi
2018-11-01  9:09               ` Peter Ujfalusi
2018-10-22 10:42   ` Peter Ujfalusi
2018-10-22 10:42     ` Peter Ujfalusi
2018-10-22 10:42     ` Peter Ujfalusi
2018-10-22 10:43     ` Peter Ujfalusi
2018-10-22 10:43       ` Peter Ujfalusi
2018-10-22 10:43       ` Peter Ujfalusi
2018-10-18 15:40 ` [PATCH v2 10/10] soc: ti: am6: Enable interrupt controller drivers Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-18 15:40   ` Lokesh Vutla
2018-10-22 20:39 ` [PATCH v2 00/10] Add support for TISCI irqchip drivers Santosh Shilimkar
2018-10-22 20:39   ` Santosh Shilimkar
2018-10-23  8:17   ` Lokesh Vutla
2018-10-23  8:17     ` Lokesh Vutla
2018-10-23  8:17     ` Lokesh Vutla
2018-10-23  8:27     ` Marc Zyngier [this message]
2018-10-23  8:27       ` Marc Zyngier
2018-10-23  8:27       ` Marc Zyngier
2018-10-23 17:34     ` Santosh Shilimkar
2018-10-23 17:34       ` Santosh Shilimkar
2018-10-26  6:39       ` Lokesh Vutla
2018-10-26  6:39         ` Lokesh Vutla
2018-10-26  6:39         ` Lokesh Vutla

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=864lddt6ec.wl-marc.zyngier@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=grygorii.strashko@ti.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lokeshvutla@ti.com \
    --cc=nm@ti.com \
    --cc=nsekhar@ti.com \
    --cc=peter.ujfalusi@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=santosh.shilimkar@oracle.com \
    --cc=ssantosh@kernel.org \
    --cc=t-kristo@ti.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 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.