From: Linas Vepstas <linas@linas.org>
To: paulus@samba.org, linuxppc64-dev@ozlabs.org
Cc: johnrose@austin.ibm.com, linux-pci@atrey.karlin.mff.cuni.cz,
bluesmoke-devel@lists.sourceforge.net,
linux-kernel@vger.kernel.org
Subject: [PATCH 26/42]: ppc64: Add "partion endpoint" support
Date: Thu, 3 Nov 2005 18:53:20 -0600 [thread overview]
Message-ID: <20051104005320.GA27049@mail.gnucash.org> (raw)
In-Reply-To: <20051103235918.GA25616@mail.gnucash.org>
26-eeh-partition-endpoint.patch
New versions of firmware introduce a new method by which the
"partition endpoint" (the point at which the pci bus is cut).
This code adds the support for this (mandatory) new feature.
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Index: linux-2.6.14-git3/arch/powerpc/platforms/pseries/eeh.c
===================================================================
--- linux-2.6.14-git3.orig/arch/powerpc/platforms/pseries/eeh.c 2005-11-02 14:42:38.986155538 -0600
+++ linux-2.6.14-git3/arch/powerpc/platforms/pseries/eeh.c 2005-11-02 14:43:49.212307192 -0600
@@ -83,6 +83,7 @@
static int ibm_read_slot_reset_state;
static int ibm_read_slot_reset_state2;
static int ibm_slot_error_detail;
+static int ibm_get_config_addr_info;
static int eeh_subsystem_enabled;
@@ -457,6 +458,7 @@
static void
rtas_pci_slot_reset(struct pci_dn *pdn, int state)
{
+ int config_addr;
int rc;
BUG_ON (pdn==NULL);
@@ -467,8 +469,13 @@
return;
}
+ /* Use PE configuration address, if present */
+ config_addr = pdn->eeh_config_addr;
+ if (pdn->eeh_pe_config_addr)
+ config_addr = pdn->eeh_pe_config_addr;
+
rc = rtas_call(ibm_set_slot_reset,4,1, NULL,
- pdn->eeh_config_addr,
+ config_addr,
BUID_HI(pdn->phb->buid),
BUID_LO(pdn->phb->buid),
state);
@@ -695,8 +702,22 @@
eeh_subsystem_enabled = 1;
pdn->eeh_mode |= EEH_MODE_SUPPORTED;
pdn->eeh_config_addr = regs[0];
+
+ /* If the newer, better, ibm,get-config-addr-info is supported,
+ * then use that instead. */
+ pdn->eeh_pe_config_addr = 0;
+ if (ibm_get_config_addr_info != RTAS_UNKNOWN_SERVICE) {
+ unsigned int rets[2];
+ ret = rtas_call (ibm_get_config_addr_info, 4, 2, rets,
+ pdn->eeh_config_addr,
+ info->buid_hi, info->buid_lo,
+ 0);
+ if (ret == 0)
+ pdn->eeh_pe_config_addr = rets[0];
+ }
#ifdef DEBUG
- printk(KERN_DEBUG "EEH: %s: eeh enabled\n", dn->full_name);
+ printk(KERN_DEBUG "EEH: %s: eeh enabled, config=%x pe_config=%x\n",
+ dn->full_name, pdn->eeh_config_addr, pdn->eeh_pe_config_addr);
#endif
} else {
@@ -748,6 +769,7 @@
ibm_read_slot_reset_state2 = rtas_token("ibm,read-slot-reset-state2");
ibm_read_slot_reset_state = rtas_token("ibm,read-slot-reset-state");
ibm_slot_error_detail = rtas_token("ibm,slot-error-detail");
+ ibm_get_config_addr_info = rtas_token("ibm,get-config-addr-info");
if (ibm_set_eeh_option == RTAS_UNKNOWN_SERVICE)
return;
Index: linux-2.6.14-git3/include/asm-ppc64/pci-bridge.h
===================================================================
--- linux-2.6.14-git3.orig/include/asm-ppc64/pci-bridge.h 2005-11-02 14:39:24.755392219 -0600
+++ linux-2.6.14-git3/include/asm-ppc64/pci-bridge.h 2005-11-02 14:43:49.218306351 -0600
@@ -63,6 +63,7 @@
int devfn; /* for pci devices */
int eeh_mode; /* See eeh.h for possible EEH_MODEs */
int eeh_config_addr;
+ int eeh_pe_config_addr; /* new-style partition endpoint address */
int eeh_check_count; /* # times driver ignored error */
int eeh_freeze_count; /* # times this device froze up. */
int eeh_is_bridge; /* device is pci-to-pci bridge */
next prev parent reply other threads:[~2005-11-04 0:53 UTC|newest]
Thread overview: 131+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-03 23:59 [PATCH 0/42] PCI Error Recovery for PPC64 and misc device drivers Linas Vepstas
2005-11-04 0:42 ` [PATCH 1/42] ppc64: uniform usage of bus unit id interfaces linas
2005-11-04 0:47 ` [PATCH 2/42]: ppc64: misc minor cleanup Linas Vepstas
2005-11-04 0:48 ` [PATCH 3/42]: ppc64: PCI address cache minor fixes Linas Vepstas
2005-11-04 0:48 ` [PATCH 4/42]: ppc64: PCI error rate statistics Linas Vepstas
2005-11-04 0:49 ` [PATCH 5/42]: ppc64: RTAS error reporting restructuring Linas Vepstas
2005-11-04 0:49 ` [PATCH 6/42]: ppc64: avoid PCI error reporting for empty slots Linas Vepstas
2005-11-04 0:49 ` [PATCH 7/42]: ppc64: serialize reports of PCI errors Linas Vepstas
2005-11-04 0:49 ` [PATCH 8/42]: ppc64: escape hatch for spinning interrupt deadlocks Linas Vepstas
2005-11-04 0:49 ` [PATCH 9/42]: ppc64: bugfix: crash on PCI hotplug Linas Vepstas
2005-11-04 0:49 ` [PATCH 10/42]: ppc64: bugfix: don't silently gnore PCI errors Linas Vepstas
2005-11-04 0:49 ` [PATCH 11/42]: ppc64: move code to powerpc directory from ppc64 Linas Vepstas
2005-11-04 0:50 ` [PATCH 12/42]: ppc64: PCI error event dispatcher Linas Vepstas
2005-11-04 0:50 ` [PATCH 13/42]: ppc64: PCI reset support routines Linas Vepstas
2005-11-04 0:50 ` [PATCH 14/42]: ppc64: Save & restore of PCI device BARS Linas Vepstas
2005-11-04 0:50 ` [PATCH 15/42]: Documentation: PCI Error Recovery Linas Vepstas
2005-11-04 0:50 ` [PATCH 16/42]: PCI: PCI Error reporting callbacks Linas Vepstas
2005-11-05 6:11 ` Greg KH
2005-11-06 23:25 ` Paul Mackerras
2005-11-07 17:55 ` linas
2005-11-07 18:27 ` Greg KH
2005-11-07 18:56 ` typedefs and structs [was Re: [PATCH 16/42]: PCI: PCI Error reporting callbacks] linas
2005-11-07 19:02 ` Greg KH
2005-11-07 19:36 ` linas
2005-11-07 20:02 ` Greg KH
2005-11-07 20:41 ` linas
2005-11-07 20:46 ` Greg KH
2005-11-08 1:11 ` Steven Rostedt
2005-11-08 1:18 ` Neil Brown
2005-11-08 23:36 ` typedefs and structs linas
2005-12-16 13:09 ` typedefs and structs [was Re: [PATCH 16/42]: PCI: PCI Error reporting callbacks] Denis Vlasenko
2005-12-16 13:22 ` Matthew Wilcox
2005-11-08 23:23 ` typedefs and structs linas
2005-11-08 23:33 ` Steven Rostedt
2005-11-09 9:22 ` Bernd Petrovitsch
2005-11-08 23:57 ` Kyle Moffett
2005-11-09 0:30 ` linas
2005-11-09 0:37 ` Douglas McNaught
2005-11-09 0:48 ` linas
2005-11-09 0:59 ` Douglas McNaught
2005-11-09 2:14 ` Dmitry Torokhov
2005-11-09 1:51 ` Kyle Moffett
2005-11-09 10:16 ` J.A. Magallon
2005-11-09 16:22 ` Vadim Lobanov
2005-11-09 19:20 ` linas
2005-11-09 19:36 ` thockin
2005-11-09 19:38 ` linas
2005-11-09 20:39 ` thockin
2005-11-09 21:53 ` Andreas Schwab
2005-11-09 22:00 ` Bernd Petrovitsch
2005-11-09 20:55 ` Matthew Wilcox
2005-11-09 20:26 ` linux-os (Dick Johnson)
2005-11-09 22:12 ` Vadim Lobanov
2005-11-09 22:37 ` linux-os (Dick Johnson)
2005-11-09 22:47 ` Vadim Lobanov
2005-11-09 22:54 ` typedefs and structs - trim request doug thompson
2005-11-09 23:29 ` typedefs and structs Andreas Schwab
2005-11-09 23:40 ` Vadim Lobanov
2005-11-10 3:39 ` Steven Rostedt
2005-11-10 3:49 ` Vadim Lobanov
2005-11-10 8:15 ` J.A. Magallon
2005-11-10 13:27 ` Nikita Danilov
2005-11-10 14:18 ` linux-os (Dick Johnson)
2005-11-10 19:21 ` Kyle Moffett
2005-11-10 19:28 ` Vadim Lobanov
2005-11-10 20:53 ` J.A. Magallon
2005-11-09 23:29 ` linas
2005-11-09 21:43 ` Vadim Lobanov
2005-11-10 0:27 ` linas
2005-11-08 23:57 ` David Gibson
2005-11-09 0:13 ` Zan Lynx
2005-11-09 0:42 ` linas
2005-11-09 9:25 ` Bernd Petrovitsch
2005-11-07 19:04 ` typedefs and structs [was Re: [PATCH 16/42]: PCI: PCI Error reporting callbacks] Randy.Dunlap
2005-11-07 19:57 ` [PATCH 1/7]: PCI revised [PATCH 16/42]: PCI: PCI Error reporting callbacks linas
2005-11-07 19:59 ` Christoph Hellwig
2005-11-07 20:03 ` Greg KH
2005-11-07 21:21 ` [PATCH 1/7]: PCI revised (2) " linas
2005-11-07 21:37 ` Greg KH
2005-11-07 21:54 ` Linus Torvalds
2005-11-07 22:54 ` Greg KH
2005-11-07 22:43 ` [PATCH 1/7]: PCI revised (3) " linas
2005-11-07 22:53 ` Greg KH
2005-11-07 23:19 ` linas
2005-11-08 2:43 ` Greg KH
2005-11-07 21:30 ` [PATCH 2/7]: Revised [PATCH 27/42]: SCSI: add PCI error recovery to IPR dev driver linas
2005-11-07 21:40 ` Brian King
2005-11-07 22:03 ` linas
2005-11-07 21:31 ` [PATCH 3/7]: Revised [PATCH 28/42]: SCSI: add PCI error recovery to Symbios " linas
2005-11-07 21:34 ` [PATCH 4/7]: Revised [PATCH 29/42]: ethernet: add PCI error recovery to e100 " linas
2005-11-07 21:36 ` [PATCH: 5/7]: Revised: [PATCH 30/42]: ethernet: add PCI error recovery to e1000 " linas
2005-11-07 21:37 ` [PATCH 6/7]: Revised [PATCH 31/42]: ethernet: add PCI error recovery to ixgb " linas
2005-11-07 21:39 ` [PATCH 7/7]: Revised [PATCH 32/42]: RFC: Add compile-time config options linas
2005-11-04 0:50 ` [PATCH 17/42]: ppc64: mark failed devices Linas Vepstas
2005-11-04 0:51 ` [PATCH 18/42]: ppc64: bugfix: crash on dlpar slot add, remove Linas Vepstas
2005-11-04 0:51 ` [PATCH 19/42]: ppc64: bugfix: crash on PHB add Linas Vepstas
2005-11-04 16:20 ` John Rose
2005-11-04 16:35 ` linas
2005-11-04 0:51 ` [PATCH 20/42]: ppc64: PCI hotplug common code elimination Linas Vepstas
2005-11-04 0:51 ` [PATCH 21/42]: PCI: cleanup/simplify ppc64 PCI hotplug code Linas Vepstas
2005-11-04 0:52 ` [PATCH 22/42]: PCI: remove duplicted pci " Linas Vepstas
2005-11-04 21:54 ` John Rose
2005-11-04 0:52 ` [PATCH 23/42]: ppc64: migrate common PCI " Linas Vepstas
2005-11-04 0:52 ` [PATCH 24/42]: ppc64: PCI Error Recovery: PPC64 core recovery routines Linas Vepstas
2005-11-04 0:53 ` [PATCH 25/42]: ppc64: Split out PCI address cache to its own file Linas Vepstas
2005-11-04 0:53 ` Linas Vepstas [this message]
2005-11-04 0:53 ` [PATCH 27/42]: SCSI: add PCI error recovery to IPR dev driver Linas Vepstas
2005-11-04 0:53 ` [PATCH 28/42]: SCSI: add PCI error recovery to Symbios " Linas Vepstas
2005-11-04 0:53 ` [PATCH 29/42]: ethernet: add PCI error recovery to e100 " Linas Vepstas
2005-11-04 1:34 ` Jesse Brandeburg
2005-11-04 1:51 ` Jesse Brandeburg
2005-11-04 0:54 ` [PATCH 30/42]: ethernet: add PCI error recovery to e1000 " Linas Vepstas
2005-11-04 0:54 ` [PATCH 31/42]: ethernet: add PCI error recovery to ixgb " Linas Vepstas
2005-11-04 0:54 ` [PATCH 32/42]: RFC: Add compile-time config options Linas Vepstas
2005-11-04 0:54 ` [PATCH 33/42]: ppc64: remove bogus printk Linas Vepstas
2005-11-04 0:54 ` [PATCH 34/42]: ppc64: Remove duplicate code Linas Vepstas
2005-11-04 0:54 ` [PATCH 35/42]: ppc64: bugfix: fill in un-initialzed field Linas Vepstas
2005-11-04 0:54 ` [PATCH 36/42]: ppc64: Use PE configuration address consistently Linas Vepstas
2005-11-04 0:54 ` [PATCH 37/42]: ppc64: set up the RTAS token just like the rest of them Linas Vepstas
2005-11-04 0:54 ` [PATCH 38/42]: ppc64: Don't continue with PCI Error recovery if slot reset failed Linas Vepstas
2005-11-04 0:55 ` [PATCH 39/42]: ppc64: handle multifunction PCI devices properly Linas Vepstas
2005-11-04 0:55 ` [PATCH 40/42]: ppc64: IOMMU: don't ioremap null pointers Linas Vepstas
2005-11-04 0:55 ` [PATCH 41/42]: ppc64: Save device BARS much earlier in the boot sequence Linas Vepstas
2005-11-04 22:14 ` linas
2005-11-04 0:55 ` [PATCH 42/42]: ppc64: get rid of per_cpu counters Linas Vepstas
2005-11-04 0:57 ` [PATCH 11/42]: ppc64: move code to powerpc directory from ppc64 Linas Vepstas
2005-11-04 22:14 ` [PATCH 0/42] PCI Error Recovery for PPC64 and misc device drivers Greg KH
2005-11-05 0:08 ` Paul Mackerras
2005-11-05 0:28 ` Greg KH
2005-11-05 0:46 ` Paul Mackerras
2005-11-05 1:28 ` Greg KH
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=20051104005320.GA27049@mail.gnucash.org \
--to=linas@linas.org \
--cc=bluesmoke-devel@lists.sourceforge.net \
--cc=johnrose@austin.ibm.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 \
/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
Powered by JetHome