From: David Miller <davem@davemloft.net>
To: mchan@broadcom.com
Cc: mcarlson@broadcom.com, netdev@vger.kernel.org,
linux-pci@atrey.karlin.mff.cuni.cz, linas@austin.ibm.com
Subject: Re: [PATCH 5/7] pci: Export the pci_restore_msi_state() function
Date: Sun, 21 Oct 2007 21:45:20 -0700 (PDT) [thread overview]
Message-ID: <20071021.214520.66310568.davem@davemloft.net> (raw)
In-Reply-To: <1551EAE59135BE47B544934E30FC4FC002AABB04@nt-irva-0751.brcm.ad.broadcom.com>
From: "Michael Chan" <mchan@broadcom.com>
Date: Sun, 21 Oct 2007 21:01:17 -0700
> David Miller wrote:
>
> > I'm not so sure about this.
> >
> > Perhaps, instead, you should do a pci_msi_disable() and
> > pci_msi_enable() in the error detection and recovery sequence.
>
> If we just detected PCI errors on this slot, I don't think it's
> a good idea to continue writing to the config space to disable
> MSI. Perhaps we can disable/enable after the slot reset.
Right, it would have to be after the slot reset.
> > Or, alternatively, save/restore those MSI registers by hand.
>
> We can do that, but we'll have to do it ahead of time when we enable
> MSI, not after errors have been detected. But the address/data can
> change as the CPU affinity changes during run time, right?
Yes, it can.
The core issue is that the ARCH level MSI code invokes
write_msi_msg(), not the generic code, exactly because there
are platform level issues wherein the firmware is the only
legal way to write the MSI settings in PCI config space.
However, the MSI state restore code was not architected similarly. It
does the write_msi_msg() directly, instead of letting platform level
code is in ARCH hooks.
Therefore I think we need to attack this in two stages:
1) First changeset moves the write_msi_msg() call currently in
__pci_restore_msi_state() into an ARCH overridable handler.
This would allow powerpc to deal with this properly.
pci_restor_msi_state() can get exported to modules in this
change
2) The Tigon3 error recovery changes, as they were.
But I have to ask, can anyone see how e1000 handles MSI properly
in it's PCI error support?
next prev parent reply other threads:[~2007-10-22 4:45 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-19 21:36 [PATCH 5/7] pci: Export the pci_restore_msi_state() function Matt Carlson
2007-10-19 23:29 ` Linas Vepstas
2007-10-20 0:36 ` Michael Chan
2007-10-20 0:04 ` Linas Vepstas
2007-10-20 0:27 ` David Miller
2007-10-20 0:46 ` [BUG] powerpc does not save msi state [was " Linas Vepstas
2007-10-20 0:53 ` David Miller
2007-10-20 6:43 ` Michael Ellerman
2007-10-20 22:50 ` Michael Chan
2007-10-21 21:13 ` Benjamin Herrenschmidt
2007-10-22 19:54 ` Linas Vepstas
2007-10-23 0:23 ` David Miller
2007-10-23 0:32 ` Benjamin Herrenschmidt
2007-10-20 1:29 ` Benjamin Herrenschmidt
2007-10-20 1:12 ` Michael Chan
2007-10-20 0:25 ` Linas Vepstas
2007-10-21 23:21 ` David Miller
2007-10-22 1:49 ` Michael Ellerman
2007-10-22 18:13 ` Linas Vepstas
2007-10-22 21:24 ` Benjamin Herrenschmidt
2007-10-23 0:13 ` Linas Vepstas
2007-10-23 0:29 ` Benjamin Herrenschmidt
2007-10-23 4:20 ` Michael Ellerman
2007-10-22 4:01 ` Michael Chan
2007-10-22 4:45 ` David Miller [this message]
2007-10-22 18:19 ` Linas Vepstas
2007-10-22 18:07 ` Linas Vepstas
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=20071021.214520.66310568.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=linas@austin.ibm.com \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=mcarlson@broadcom.com \
--cc=mchan@broadcom.com \
--cc=netdev@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).