From: linas@austin.ibm.com (Linas Vepstas)
To: Brian King <brking@linux.vnet.ibm.com>
Cc: linuxppc-dev@ozlabs.org, linux-pci@atrey.karlin.mff.cuni.cz,
paulus@samba.org, thlin@linux.vnet.ibm.com
Subject: Re: [PATCH 1/1] powerpc: Add powerpc PCI-E reset API implementation
Date: Fri, 6 Apr 2007 15:30:32 -0500 [thread overview]
Message-ID: <20070406203032.GF4922@austin.ibm.com> (raw)
In-Reply-To: <46169D28.6010507@linux.vnet.ibm.com>
On Fri, Apr 06, 2007 at 02:19:04PM -0500, Brian King wrote:
> Linas Vepstas wrote:
> > On Fri, Apr 06, 2007 at 09:07:04AM -0500, Brian King wrote:
>
> >> + switch (state) {
> >> + case pci_reset_normal:
> >> + rtas_pci_slot_reset(pdn, 0);
> >
> > I find this naming confusing. rtas_pci_slot_reset(pdn, 0),
> > for PCI ad PCI-X means "deassert the reset"; it does not
> > mean "do a normal reset".
>
> Normal refers to the reset state of the slot, not the type of reset.
> I'm happy to change it if that would be less confusing.
Hmm. Well, then, can I get you to change it to "pcie_deassert_reset"?
> >> + case pci_reset_pcie_hot_reset:
and while we're at it, shorten this to "pcie_hot_reset"
> >> + case pci_reset_pcie_warm_reset:
"pcie_warm_reset"
> Correct. This is a PCI-E only API.
which is why I suggest the shortened names.
> I don't think we want to be
> supporting an API that allows asserting reset on a potentially
> shared PCI bus.
Actually, we very nearly do so already. The "pci error recovery" API
does define a way of coordinating a pending reset to be delivered
to multiple PCI functions or multiple PCI cards. What's missing
is an external, public API for triggering the thing; right now,
its only triggered by the hardware and handled by static, private
routines.
> >> + return 0;
> >
> > I notice that you do no error checking. I recently wrapped
> > rtas_set_slot_reset() to wait for slot status to settle down
> > before reporting success or failure of the reset.
>
> I didn't do any error checking because there was no error checking
> in __rtas_set_slot_reset either.
Yeah, its a new function: "eeh_wait_for_slot_status", its public,
but cleary very arch dependent. Just FYI, I don't think you'd want
to use it.
> > Although the PAPR maps 1 to hot reset, and 3 to #PERST, I always
> > had the impression that they managed to reverse meaing of these two
[...]
> The device may respond just fine to config cycles after a failed "3", but
> still not actually be in a healthy state. As a corollary, with this particular
> ipr adapter a hot reset appears to work from a pci config access perspective,
> but the adapter firmware ends up in a bad state since the adapter's processor
> does not get reset. Its not clear would don't have adapters that have issues
> in the other direction.
Yes... we had this conversation once before, didn't we? The ugliness of
it all made me scurry away to some other task.
--linas
next prev parent reply other threads:[~2007-04-06 20:30 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-06 14:07 [PATCH 1/1] powerpc: Add powerpc PCI-E reset API implementation Brian King
2007-04-06 18:52 ` Linas Vepstas
2007-04-06 19:19 ` Brian King
2007-04-06 20:30 ` Linas Vepstas [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-04-06 21:40 Brian King
2007-04-09 21:22 ` Linas Vepstas
2007-05-07 22:04 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=20070406203032.GF4922@austin.ibm.com \
--to=linas@austin.ibm.com \
--cc=brking@linux.vnet.ibm.com \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.org \
--cc=thlin@linux.vnet.ibm.com \
/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.