From: Linas Vepstas <linas@austin.ibm.com>
To: Brian King <brking@us.ibm.com>
Cc: Grant Grundler <grundler@parisc-linux.org>,
matthew@wil.cx, linux-scsi@vger.kernel.org,
linuxppc64-dev@ozlabs.org
Subject: Re: Symbios PCI error recovery [Was: Re: [PATCH/RFC] ppc64: EEH + SCSI recovery (IPR only)]
Date: Thu, 31 Mar 2005 14:14:09 -0600 [thread overview]
Message-ID: <20050331201409.GH15596@austin.ibm.com> (raw)
In-Reply-To: <4240581C.1000906@us.ibm.com>
On Tue, Mar 22, 2005 at 11:38:36AM -0600, Brian King was heard to remark:
> Linas Vepstas wrote:
> >
> > My current hardware will halt all i/o to/from the symbios controller
> > upon detection of a PCI error. The recovery proceedure that I am
> > currently using is to call system firmware (aka 'bios') to raise
> > and then lower the #RST pci signal line for 1/4 second, then wait 2
> > seconds for the PCI bus to settle, then restore the PCI config space
> > registers (BARs, interrupt line, etc) to what they used to be. Then,
> > I call sym_start_up() in an attempt to get the symbios card working
> > again. And that's where I get stuck ...
> >
> > My assumption is that after the #RST, that the symbios card will sit
> > there, dumb and stupid, with no scripts running. But sometimes I find
> > that the card has done something to make the PCI error hardware trip
> > again. Typically, this means that the card attempted to DMA to some
> > address that its not allowed to touch, or raised #SERR or possibly
> > #PERR (I can't tell which).
>
> What config registers are you restoring?
BAR's, grant, latency, interrupt, cacheline size.
> Is it possible symbios does not
> like something in your config restore?
possibly...
> Another possiblity is that asserting PCI reset is not cleanly resetting
> the card. Does PCI reset force BIST to be run on these cards? You could
> try to manually run BIST on the card after the PCI reset to see if that
I didn't see bist in the code, but I wasn't looking for it either. I
could try that.
> helps, or you could try power cycling the slot instead of using PCI reset.
yes I could :( I'll try that next. Problem is, not all slots are
power-cyclable, only the hotplug slots are. I've discoverd that
for example, the ethernet chips are soldered to the motherboard, and
can't be power-cycled (but fortunately, those don't give me trouble).
--linas
next prev parent reply other threads:[~2005-03-31 20:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20050223002409.GA10909@austin.ibm.com>
[not found] ` <20050223174356.GH13081@kroah.com>
[not found] ` <1109207532.5384.32.camel@gaston>
[not found] ` <20050224013137.GF2088@austin.ibm.com>
[not found] ` <20050226063609.GC7036@colo.lackof.org>
2005-03-21 23:10 ` Symbios PCI error recovery [Was: Re: [PATCH/RFC] ppc64: EEH + SCSI recovery (IPR only)] Linas Vepstas
2005-03-22 17:38 ` Brian King
2005-03-31 20:14 ` Linas Vepstas [this message]
2005-04-01 6:15 ` Grant Grundler
2005-03-22 17:57 ` Grant Grundler
2005-03-31 20:06 ` Linas Vepstas
2005-04-01 6:08 ` Grant Grundler
2005-04-01 15:27 ` Brian King
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=20050331201409.GH15596@austin.ibm.com \
--to=linas@austin.ibm.com \
--cc=brking@us.ibm.com \
--cc=grundler@parisc-linux.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linuxppc64-dev@ozlabs.org \
--cc=matthew@wil.cx \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.