From: Roland Dreier <rolandd@cisco.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
tom.l.nguyen@intel.com, Greg KH <gregkh@suse.de>
Subject: Re: PCI MSI: the new interrupt routing headache
Date: Fri, 18 Nov 2005 12:52:22 -0800 [thread overview]
Message-ID: <52acg14r21.fsf@cisco.com> (raw)
In-Reply-To: <437C18AF.7050508@pobox.com> (Jeff Garzik's message of "Thu, 17 Nov 2005 00:44:15 -0500")
Jeff> What needs to be done, to detect working PCI message
Jeff> signalled interrupts such that pci_enable_msi() fails
Jeff> properly?
There are two things that cause MSIs not to work. First, the PCI host
bridge may not have working MSI support. To handle this, we have the
"msi_quirk" which is set by the PCI quirk code. For example, this is
used on systems with AMD-8131 PCI-X bridges. (As I've noted
elsewhere, this is actually too crude a method -- actual systems exist
with e.g. both AMD-8131 and Nforce4 PCI bridges, so that MSI works for
PCIe devices but not devices below the AMD-8131)
Second, there are PCI devices that have an MSI capability but which
don't have working MSI support. Most revisions of the e1000 fall into
this category. In this case, it is up to the driver to know when it's
safe to try to enable MSI.
However, given that MSI/MSI-X is not in wide use, there is undoubtedly
much more broken hardware (both chipsets and devices) that we don't
know about and need to add quirks or driver workarounds for.
Hence, in the interest of discovering this hardware and also in
getting less cryptic bug reports, it's a good idea to add a test that
interrupts actually work in any driver that tries to enable MSI or
MSI-X. Since it requires knowledge of a device to know how to get the
device to trigger an interrupt, this test has to be done in each
driver and can't be centralized.
- R.
prev parent reply other threads:[~2005-11-18 20:52 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-17 5:44 PCI MSI: the new interrupt routing headache Jeff Garzik
2005-11-17 19:07 ` Max Krasnyansky
2005-11-18 20:52 ` Roland Dreier [this message]
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=52acg14r21.fsf@cisco.com \
--to=rolandd@cisco.com \
--cc=gregkh@suse.de \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--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