[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071020004610.GR29903@austin.ibm.com>
Date: Fri, 19 Oct 2007 19:46:10 -0500
From: linas@...tin.ibm.com (Linas Vepstas)
To: David Miller <davem@...emloft.net>, linuxppc-dev@...abs.org
Cc: mchan@...adcom.com, mcarlson@...adcom.com, netdev@...r.kernel.org,
linux-pci@...ey.karlin.mff.cuni.cz,
Michael Ellerman <michael@...erman.id.au>
Subject: [BUG] powerpc does not save msi state [was Re: [PATCH 5/7] pci: Export the pci_restore_msi_state() function
Hi,
On Fri, Oct 19, 2007 at 05:27:06PM -0700, David Miller wrote:
> From: linas@...tin.ibm.com (Linas Vepstas)
> Date: Fri, 19 Oct 2007 19:04:21 -0500
>
> > 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.
>
> See the pci_restore_msi_state() call done from pci_restore_state()
> in drivers/pci/pci.c, that pci_restore_msi_state() code in
> drivers/pci/msi.c very much relies upon the entry->msg values
> being uptodate and valid.
>
> The MSI arch layer code is supposed to fill the entry->msg values in
> via arch_setup_msi_irq(). Perhaps the pseries code is forgetting to
> do that.
Yep. Thank you for confirming the correct location for the fix.
FWIW, it looks like not all that many arches do this; the output
for grep -r address_hi * is pretty thin. Then, looking at
i386/kernel/io_apic.c as an example, one can see that the
msi state save happens "by accident" if CONFIG_SMP is enabled;
and so its surely broekn on uniprocesor machines.
I'm cc'ing the powerpc mailing list to point this out:
it looks like only cell/axon_msi.c and mpic_u3msi.c
bother do do anything. I guess that there aren't any old
macintosh laptops that have msi on them? Because without
this, suspend and resume breaks.
Paul,
On the off chance your reading this, I'll send a pseries
patch on Monday, with luck (and some other patches too).
I'm not touching any of the other plaforms, you and benh
would know those better.
--linas
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists