Thread (27 messages) 27 messages, 6 authors, 2007-10-23

Re: [PATCH 5/7] pci: Export the pci_restore_msi_state() function

From: Linas Vepstas <hidden>
Date: 2007-10-20 00:04:28

On Fri, Oct 19, 2007 at 05:36:17PM -0700, Michael Chan wrote:
On Fri, 2007-10-19 at 18:29 -0500, linas@austin.ibm.com wrote:
quoted
On Fri, Oct 19, 2007 at 02:36:56PM -0700, Matt Carlson wrote:
quoted
This patch exports the pci_restore_msi_state() function.  This function
is needed to restore the MSI state during PCI error recovery.

Signed-off-by: Linas Vepstas <redacted>
Signed-off-by: Matt Carlson <redacted>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Davem,

This patch is generically needed for recovery from PCI errors, 
and not just the tg3 that Matt is working on.

Matt, there are also several msi-related bugs in the pseries
architecture implementation, those patches will go out to 
Paul Mackerras seperately. I was hoping today ... but things 
came up. One little iddy-biddy problem is that the pseries
is not actually *saving* the msi state, and so, ahem, the 
restore isn't quite working out either. I'm still trying
to navigate around that.
Linas, the MSI state is saved automatically when the driver calls
pci_enable_msi(), so it doesn't need to be saved by pseries code.
I'm working in linux-2.6.23-rc8-mm1 at the moment, and I don't see
that happening. viz. read_msi_msg() is not called anywhere, and I need
to have valid msg->address_lo and msg->address_hi and msg->data
in order to be able to restore.

In particular, this has to happen after the call to arch_setup_msi_irqs
as otherwise, the arch hasn't yet filled these fields with correct values.

Perhaps this is fixed in the kernel you're working with?

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