public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: "Nguyen, Tom L" <tom.l.nguyen@intel.com>
Cc: Linas Vepstas <linas@austin.ibm.com>,
	Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>,
	Greg KH <greg@kroah.com>,
	linux-pci@atrey.karlin.mff.cuni.cz, ak@muc.de,
	Paul Mackerras <paulus@samba.org>,
	linuxppc64-dev <linuxppc64-dev@ozlabs.org>,
	Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: RE: PCI Error Recovery API Proposal. (WAS::  [PATCH/RFC] PCIErrorRecovery)
Date: Fri, 18 Mar 2005 13:43:37 +1100	[thread overview]
Message-ID: <1111113817.25180.79.camel@gaston> (raw)
In-Reply-To: <C7AB9DA4D0B1F344BF2489FA165E5024080FDC40@orsmsx404.amr.corp.intel.com>

On Thu, 2005-03-17 at 10:53 -0800, Nguyen, Tom L wrote:

> To support the AER driver calling an upstream device to initiate a reset
> of the link we need a specific callback since the driver doing the reset
> is not the driver who got the error.  In the case of general PCI this
> could be useful if a PCI bus driver were available to support the
> callback for a bridge device.  This would also support specific error
> recovery calls to reset an endpoint adapter.  We need a call to request
> a driver to perform a reset on a link or device.  

That is quite implementation specific, it doesn't need to be part of the
API (the way the general error management is implemented in PCIE could
be completely done within the bus drivers I suppose). Again, I'm not
trying to define or force a given implementation. I'm trying to define
the driver-side API, that's all.

I have difficulties following all of your previous explanations, I must
admit. My point here is I'd like you to find out if the API can fit on
the driver side, and if not, what would need to be changed. For example,
we might want to distinguish between slot reset (full hard reset) and
link reset, that sort of thing (thus adding a new state for link reset
and a new return code for the others for requesting a link reset if
possible, platforms that don't do it, like IBM EEH PCI would just
fallback to full reset).

Again, the goal here is to have a way for drivers to be mostly bus
agnostic (that is not have to care if they are running on PCI, PCI-X,
PCIE, with or without IBM EEH mecanism, and whatever other mecanism
another vendor might provide) and still implement basic error recovery.

A driver _designed_ for a PCI-Express deviec that knows it's on PCI
Express can perfectly use additional APIs to gather more error details,
etc... but it would be nice to fit the "common needs" as much as
possible in a common and _SIMPLE_ API. The simplicity here is a
requirement, I'm very serious about it, because if it's not simple,
drivers either won't implement it or won't get it right.

Ben.



  reply	other threads:[~2005-03-18  2:44 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-17 18:53 PCI Error Recovery API Proposal. (WAS:: [PATCH/RFC] PCIErrorRecovery) Nguyen, Tom L
2005-03-18  2:43 ` Benjamin Herrenschmidt [this message]
2005-03-18  4:01 ` Paul Mackerras
  -- strict thread matches above, loose matches on Subject: below --
2005-03-18 19:29 PCI Error Recovery API Proposal. (WAS:: [PATCH/RFC]PCIErrorRecovery) Nguyen, Tom L
2005-03-18 18:33 Nguyen, Tom L
2005-03-18 17:24 Nguyen, Tom L
2005-03-18 18:10 ` Grant Grundler
2005-03-18 23:13   ` Benjamin Herrenschmidt
2005-03-18 17:17 Nguyen, Tom L
2005-03-17 18:33 PCI Error Recovery API Proposal. (WAS:: [PATCH/RFC] PCIErrorRecovery) Nguyen, Tom L
2005-03-17 22:57 ` Benjamin Herrenschmidt
2005-03-18  3:22 ` Paul Mackerras

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=1111113817.25180.79.camel@gaston \
    --to=benh@kernel.crashing.org \
    --cc=ak@muc.de \
    --cc=greg@kroah.com \
    --cc=linas@austin.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    --cc=linuxppc64-dev@ozlabs.org \
    --cc=paulus@samba.org \
    --cc=seto.hidetoshi@jp.fujitsu.com \
    --cc=tom.l.nguyen@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox