Thread (14 messages) 14 messages, 6 authors, 2009-01-23

Re: libata, devm_*, and MSI ?

From: Mark Lord <hidden>
Date: 2009-01-23 18:11:24
Also in: lkml

Robert Hancock wrote:
Mark Lord wrote:
quoted
Michael Ellerman wrote:
quoted
On Tue, 2009-01-20 at 20:02 -0800, Grant Grundler wrote:
..
..
quoted
quoted
The kernel shouldn't let you enable MSI if that's the case, ie.
pci_enable_msi() should fail.
..
Exactly.  So it shouldn't be that, then.
quoted
It might still be worth looking at the quirks though, in case there's
one for a previous revision of your bridge or something.
quoted
3) Make sure MMIO ranges for 0xfee00000 are routed to local APIC
   ie each bridge needs to route that address somehow (negative decode
is common for upstream).
4) manually trigger the MSI by doing a MMIO write to the correct
0xfee00000 address with the assigned vector in order to see if your
interrupt handler gets called.
And can you plug something directly into the PCIe bus? If so does MSI
work on that?
..

Yup.  PCIe cards have no problem with MSI in that box.

More later..
What kind of PCI-X bridge does that machine have? I know some AMD 
HyperTransport to PCI-X bridges have broken MSI, but those should be 
blacklisted already in the kernel..
..

Okay, I'm back looking at this now.  In the interim, the box has undergone
a complete re-install, and I think the original boot logs are gone for good.

Now (with 2.6.28.1), the boot code identifies a quirk, and pci_enable_msi()
does indeed fail where it once succeeded.  So all is well, but I don't know
why it wasn't working correctly earlier.

Oh well.

Cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help