linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: valmiki <valmikibow@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
	helgaas@kernel.org, marc.zyngier@arm.com, arnd@arndb.de
Subject: Re: Need clarity on PCIe MSI interrupt in device tree
Date: Wed, 4 Jan 2017 10:05:42 +0000	[thread overview]
Message-ID: <20170104100541.GA8329@leverpostej> (raw)
In-Reply-To: <2fea5a0c-7410-97fd-91d1-ae6a06ab1a52@gmail.com>

On Wed, Jan 04, 2017 at 08:47:43AM +0530, valmiki wrote:
> Hi,

Hi,

> I have confusion on MSI interrupt flags in PCIe documetation.
> 
> MSI interrupts are edge triggered, but i see some controllers use
> Ex:tegra <0 99 0x4>, here interrupt flags show 0x4 which means level
> sensitive as per include/dt-bindings/interrupt-controller/irq.h.

As Marc says, this isn't actually a description of an MSI, but rather
the interrupt generated by the interrupt controller, which is often (but
not always) built into PCIe host controllers.

This looks something like:

+--------+        +-----------------+            +----------+
|        |        +----------+      |~~msi~irq~~>|          |
| Device |==MSI==>| MSI ctrl | PCIe |            | IRQ ctrl |~~~> CPU
|        |        +----------+      |~~intx~irq~>|          |
+--------+        +-----------------+            +----------+

Each PCIe device sends MSIs to the MSI controller. In response to this,
the MSI controller raises a wired interrupt, which is named "msi" in the
DT binding because it is the interrupt generated by the MSI controller,
and the PCIe controller may raise several distinct interrupts which all
need names.

> May i know why is it like this, why MSI depicted as level sensitive
> in device tree.

As above, the interrupt from the MSI controller to the interrupt
controller is level sensitive, but this is not the case for the actual
MSIs.

Thanks,
Mark.

  parent reply	other threads:[~2017-01-04 10:05 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-04  3:17 Need clarity on PCIe MSI interrupt in device tree valmiki
2017-01-04  8:29 ` Marc Zyngier
2017-01-04 17:28   ` valmiki
2017-01-04 10:05 ` Mark Rutland [this message]
2017-01-04 17:29   ` valmiki
2017-01-04 17:39 ` Need clarity on MSI handling in RC driver valmiki
2017-01-04 17:46   ` Marc Zyngier
2017-01-06  2:30     ` valmiki

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=20170104100541.GA8329@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=arnd@arndb.de \
    --cc=helgaas@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=valmikibow@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).