All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: nm@ti.com, devicetree@vger.kernel.org, jason@lakedaemon.net,
	lokeshvutla@ti.com, linux-kernel@vger.kernel.org,
	t-kristo@ti.com, robh+dt@kernel.org, ssantosh@kernel.org,
	tglx@linutronix.de, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 2/2] irqchip/ti-sci-inta: Add support for unmapped event handling
Date: Mon, 12 Oct 2020 08:31:45 +0100	[thread overview]
Message-ID: <7e66c03285db40c6ce38b951b87bcb45@kernel.org> (raw)
In-Reply-To: <3e9974b8-c0ab-9de4-9b51-541c2093c42a@ti.com>

On 2020-10-09 09:58, Peter Ujfalusi wrote:
> Marc,
> 

[...]

> The design of irqchip/irq-ti-sci-inta.c, soc/ti/ti_sci_inta_msi.c and
> irqchip/irq-ti-sci-intr.c created to handle the interrupt needs present
> in K3 devices with NAVSS.
> DMSS of newer K3 devices extends and simplifies the NAVSS components 
> and
> a big part of that change was done with the INTA and DMAs.
> System Firmware also changed to adopt to these changes.
> 
> As an example, let's assume that we want an interrupt from a ring.
> The high level of the events in this case are:
> 
> NAVSS:
> 1.1 ring generates an internal signal (up or down)
> 1.2 the ringacc will send a (mapped) Global Event to INTA
> 1.3 When INTA receives the global event, it will signal it's outgoing
>     VINT to INTR
> 1.4 INTR will trigger a host interrupt.
> 
> DMSS
> 1.1 ring generates an internal signal (up or down)
> 1.2 the DMA (ring is now part of the DMA) will send an unmapped event 
> to
>     INTA
> 1.3 When INTA receives the unmapped event, it will send a (mapped)
>     Global Event to itself
> 1.4 When INTA receives the global event, it will signal it's outgoing
>     VINT to INTR
> 1.5 INTR will trigger a host interrupt.
> 
> The API from sysfw is the same to configure the global events and VINT,
> but we need to use the INTA's tisci device identification number to let
> sysfw know that the Global event number can be programmed into INTA's
> unmapped event steering register. The DMA no longer have this register,
> it sends unmapped event to INTA.
> 
> The unmapped event number is fixed per sources, they will arrive at the
> specific unmapped event configuration register of INTA.
> 
> INTA itself does not know which source are allocated to be used by
> Linux, the allocation is for the DMA resources and only the DMA driver
> knows which channels, rings, flows can be used and can ask the INTA MSI
> domain to create interrupts for those.
> 
> By handling the ti,unmapped-event-sources the INTA driver can make
> decision on the correct tisci dev_id to be used for the sysfw API to
> where the global event must be configured and the client drivers does
> not need to know how things are working under the hood.
> 
> There are components in DMSS which use is exactly how they worked 
> within
> NAVSS, they are not using unmapped events. Ringacc comes to mind first.
> 
> I can add a comment block to explain the nature of unmapped events and
> the reason why we need to do what we do.
> 
> Would this be acceptable?

That'd be useful, as long as it is shorter than the above.

         M.
-- 
Jazz is not dead. It just smells funny...

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: nm@ti.com, devicetree@vger.kernel.org, jason@lakedaemon.net,
	lokeshvutla@ti.com, linux-kernel@vger.kernel.org,
	t-kristo@ti.com, robh+dt@kernel.org, ssantosh@kernel.org,
	tglx@linutronix.de, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 2/2] irqchip/ti-sci-inta: Add support for unmapped event handling
Date: Mon, 12 Oct 2020 08:31:45 +0100	[thread overview]
Message-ID: <7e66c03285db40c6ce38b951b87bcb45@kernel.org> (raw)
In-Reply-To: <3e9974b8-c0ab-9de4-9b51-541c2093c42a@ti.com>

On 2020-10-09 09:58, Peter Ujfalusi wrote:
> Marc,
> 

[...]

> The design of irqchip/irq-ti-sci-inta.c, soc/ti/ti_sci_inta_msi.c and
> irqchip/irq-ti-sci-intr.c created to handle the interrupt needs present
> in K3 devices with NAVSS.
> DMSS of newer K3 devices extends and simplifies the NAVSS components 
> and
> a big part of that change was done with the INTA and DMAs.
> System Firmware also changed to adopt to these changes.
> 
> As an example, let's assume that we want an interrupt from a ring.
> The high level of the events in this case are:
> 
> NAVSS:
> 1.1 ring generates an internal signal (up or down)
> 1.2 the ringacc will send a (mapped) Global Event to INTA
> 1.3 When INTA receives the global event, it will signal it's outgoing
>     VINT to INTR
> 1.4 INTR will trigger a host interrupt.
> 
> DMSS
> 1.1 ring generates an internal signal (up or down)
> 1.2 the DMA (ring is now part of the DMA) will send an unmapped event 
> to
>     INTA
> 1.3 When INTA receives the unmapped event, it will send a (mapped)
>     Global Event to itself
> 1.4 When INTA receives the global event, it will signal it's outgoing
>     VINT to INTR
> 1.5 INTR will trigger a host interrupt.
> 
> The API from sysfw is the same to configure the global events and VINT,
> but we need to use the INTA's tisci device identification number to let
> sysfw know that the Global event number can be programmed into INTA's
> unmapped event steering register. The DMA no longer have this register,
> it sends unmapped event to INTA.
> 
> The unmapped event number is fixed per sources, they will arrive at the
> specific unmapped event configuration register of INTA.
> 
> INTA itself does not know which source are allocated to be used by
> Linux, the allocation is for the DMA resources and only the DMA driver
> knows which channels, rings, flows can be used and can ask the INTA MSI
> domain to create interrupts for those.
> 
> By handling the ti,unmapped-event-sources the INTA driver can make
> decision on the correct tisci dev_id to be used for the sysfw API to
> where the global event must be configured and the client drivers does
> not need to know how things are working under the hood.
> 
> There are components in DMSS which use is exactly how they worked 
> within
> NAVSS, they are not using unmapped events. Ringacc comes to mind first.
> 
> I can add a comment block to explain the nature of unmapped events and
> the reason why we need to do what we do.
> 
> Would this be acceptable?

That'd be useful, as long as it is shorter than the above.

         M.
-- 
Jazz is not dead. It just smells funny...

  reply	other threads:[~2020-10-12  7:33 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-30  7:45 [PATCH v2 0/2] irqchip/ti-sci-inta: Support for unmapped events Peter Ujfalusi
2020-09-30  7:45 ` Peter Ujfalusi
2020-09-30  7:45 ` [PATCH v2 1/2] dt-bindings: irqchip: ti, sci-inta: Update for unmapped event handling Peter Ujfalusi
2020-09-30  7:45   ` [PATCH v2 1/2] dt-bindings: irqchip: ti,sci-inta: " Peter Ujfalusi
2020-09-30  7:45 ` [PATCH v2 2/2] irqchip/ti-sci-inta: Add support " Peter Ujfalusi
2020-09-30  7:45   ` Peter Ujfalusi
2020-09-30  8:33   ` Marc Zyngier
2020-09-30  8:33     ` Marc Zyngier
2020-09-30 10:01     ` Peter Ujfalusi
2020-09-30 10:01       ` Peter Ujfalusi
2020-09-30 13:13       ` Marc Zyngier
2020-09-30 13:13         ` Marc Zyngier
2020-10-01 11:42         ` Peter Ujfalusi
2020-10-01 11:42           ` Peter Ujfalusi
2020-10-09  8:58           ` Peter Ujfalusi
2020-10-09  8:58             ` Peter Ujfalusi
2020-10-12  7:31             ` Marc Zyngier [this message]
2020-10-12  7:31               ` Marc Zyngier
2020-10-12 11:52               ` Peter Ujfalusi
2020-10-12 11:52                 ` Peter Ujfalusi
2020-10-19 11:52     ` Peter Ujfalusi
2020-10-19 11:52       ` Peter Ujfalusi

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=7e66c03285db40c6ce38b951b87bcb45@kernel.org \
    --to=maz@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --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=peter.ujfalusi@ti.com \
    --cc=robh+dt@kernel.org \
    --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.