From: Grant Grundler <grundler@parisc-linux.org>
To: Andi Kleen <ak@suse.de>
Cc: Greg KH <gregkh@suse.de>, Arjan van de Ven <arjan@infradead.org>,
Andrew Vasquez <andrew.vasquez@qlogic.com>,
Jeff Garzik <jgarzik@pobox.com>,
"David S. Miller" <davem@davemloft.net>,
tom.l.nguyen@intel.com, roland@topspin.com,
linux-pci@atrey.karlin.mff.cuni.cz, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH] PCI: remove access to pci_[enable|disable]_msi() for drivers
Date: Wed, 8 Jun 2005 11:04:16 -0600 [thread overview]
Message-ID: <20050608170416.GB5908@colo.lackof.org> (raw)
In-Reply-To: <20050608133732.GV23831@wotan.suse.de>
On Wed, Jun 08, 2005 at 03:37:32PM +0200, Andi Kleen wrote:
> > The issue is, if pci_enable_msix() fails, we want to fall back to MSI,
> > so you need to call pci_enable_msi() for that (after calling
> > pci_disable_msi() before calling pci_enable_msix(), what a mess...)
>
> It is messy in that case, but still preferable to having MSI code
> in every driver. I suppose most devices will not use MSI-X for some time...
I was going to argue the opposite:
New devices are implementing MSI-X, not MSI.
e.g. IB/10GigE implement MSI-X.
But wording in the PCI-[XE] specs forecast what Andi said:
| 2.1.9. Message-Signaled Interrupts
| PCI-X devices are required to support message-signaled interrupts and
| must support a 64-bit message address, as specified in PCI 2.2.
PCI-E 1.0 has similar language:
| 6.1.4. Message Signaled Interrupt (MSI) Support
| The Message Signaled Interrupt (MSI) capability is defined in the
| PCI 2.3 Specification. MSI interrupt support, which is optional for
| PCI 2.3 devices, is required for PCI Express devices. MSI-capable
| devices deliver interrupts by performing memory write transactions.
| MSI is an edge-triggered interrupt; neither the PCI 2.3 Specification
| nor this specification support level-triggered MSI interrupts.
PCI 3.0 spec was the first to mention anything about MSI-X.
PCI-E 1.1 also mentions MSI-X:
| 6.1.4. Message Signaled Interrupt (MSI/MSI-X) Support
| MSI/MSI-X interrupt support, which is optional for PCI 3.0 devices,
| is required for PCI Express devices. All PCI Express devices that
| are capable of generating interrupts must support MSI or MSI-X or both.
| The MSI and MSI-X mechanisms deliver interrupts by performing memory
| write transactions. MSI and MSI-X are edge-triggered interrupt
| mechanisms; neither the PCI Local Bus Specification, Revision 3.0 nor
| this specification support level-triggered MSI/MSI-X interrupts.
My point is that MSI-X is optional (an alternative to MSI).
hth,
grant
next prev parent reply other threads:[~2005-06-08 17:01 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20050608060242.GA8035@mellanox.co.il>
2005-06-07 0:20 ` Greg KH
2005-06-07 1:09 ` Andrew Vasquez
2005-06-07 5:15 ` Greg KH
2005-06-07 7:31 ` Arjan van de Ven
2005-06-07 16:08 ` Grant Grundler
2005-06-07 16:10 ` Greg KH
2005-06-07 20:41 ` Arjan van de Ven
2005-06-07 22:08 ` Greg KH
2005-06-07 22:43 ` Roland Dreier
2005-06-08 4:42 ` Grant Grundler
2005-06-08 13:34 ` Andi Kleen
2005-06-08 13:37 ` Andi Kleen
2005-06-08 17:04 ` Grant Grundler [this message]
2005-06-09 4:54 ` Stefan Smietanowski
2005-06-09 5:26 ` Greg KH
2005-06-07 15:53 ` Grant Grundler
2005-06-07 16:12 ` Greg KH
2005-06-07 20:21 ` [RFC PATCH] PCI: remove access to pci_[enable|disable]_msi() for drivers - take 2 Greg KH
2005-06-07 22:17 ` Jeff Garzik
2005-06-08 5:55 ` Andrew Grover
2005-06-08 6:14 ` Jeff Garzik
2005-06-08 6:18 ` Jeff Garzik
2005-06-08 13:35 ` Andi Kleen
2005-06-08 15:57 ` Roland Dreier
2005-06-08 5:02 ` Grant Grundler
2005-06-08 13:32 ` Andi Kleen
2005-06-08 15:52 ` Roland Dreier
2005-06-09 14:03 ` Andi Kleen
2005-06-08 16:09 ` Ashok Raj
2005-06-09 1:37 ` Zwane Mwaikambo
2005-06-09 14:11 ` Andi Kleen
2005-06-09 15:58 ` Ashok Raj
2005-06-08 15:47 ` Roland Dreier
2005-06-08 13:31 ` Andi Kleen
2005-06-08 17:56 ` Greg KH
2005-06-08 15:18 ` Luben Tuikov
2005-06-08 18:47 ` Michael S. Tsirkin
2005-06-07 22:24 [RFC PATCH] PCI: remove access to pci_[enable|disable]_msi() for drivers Nguyen, Tom L
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=20050608170416.GB5908@colo.lackof.org \
--to=grundler@parisc-linux.org \
--cc=ak@suse.de \
--cc=andrew.vasquez@qlogic.com \
--cc=arjan@infradead.org \
--cc=davem@davemloft.net \
--cc=gregkh@suse.de \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=roland@topspin.com \
--cc=tom.l.nguyen@intel.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
all inboxes | Powered by JetHome®