aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinas Vepstas <linas@linas.org>2005-11-03 19:55:19 -0500
committerPaul Mackerras <paulus@samba.org>2006-01-09 23:30:39 -0500
commit7684b40cb53ba00cc51271f1c42897b776c48fbc (patch)
tree19155abfd3b76d13b55dfb6fdf1a46e4a8c0a048 /include
parentd177c207ba16b1db31283e2d1fee7ad4a863584b (diff)
[PATCH] powerpc: Save device BARs much earlier in the boot sequence
241-eeh-save-bars-earlier.patch Save the PCI device bars *before* any PCI probing is done. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> (cherry picked from 76c902b919098860f3d4e125f847abcc4cb1782a commit)
Diffstat (limited to 'include')
-rw-r--r--include/asm-powerpc/pci-bridge.h8
-rw-r--r--include/asm-powerpc/ppc-pci.h3
2 files changed, 5 insertions, 6 deletions
diff --git a/include/asm-powerpc/pci-bridge.h b/include/asm-powerpc/pci-bridge.h
index a81bc363f350..b0d816fe2e27 100644
--- a/include/asm-powerpc/pci-bridge.h
+++ b/include/asm-powerpc/pci-bridge.h
@@ -61,9 +61,10 @@ struct pci_controller;
61struct iommu_table; 61struct iommu_table;
62 62
63struct pci_dn { 63struct pci_dn {
64 int busno; /* for pci devices */ 64 int busno; /* pci bus number */
65 int bussubno; /* for pci devices */ 65 int bussubno; /* pci subordinate bus number */
66 int devfn; /* for pci devices */ 66 int devfn; /* pci device and function number */
67 int class_code; /* pci device class */
67 68
68#ifdef CONFIG_PPC_PSERIES 69#ifdef CONFIG_PPC_PSERIES
69 int eeh_mode; /* See eeh.h for possible EEH_MODEs */ 70 int eeh_mode; /* See eeh.h for possible EEH_MODEs */
@@ -71,7 +72,6 @@ struct pci_dn {
71 int eeh_pe_config_addr; /* new-style partition endpoint address */ 72 int eeh_pe_config_addr; /* new-style partition endpoint address */
72 int eeh_check_count; /* # times driver ignored error */ 73 int eeh_check_count; /* # times driver ignored error */
73 int eeh_freeze_count; /* # times this device froze up. */ 74 int eeh_freeze_count; /* # times this device froze up. */
74 int eeh_is_bridge; /* device is pci-to-pci bridge */
75#endif 75#endif
76 int pci_ext_config_space; /* for pci devices */ 76 int pci_ext_config_space; /* for pci devices */
77 struct pci_controller *phb; /* for pci devices */ 77 struct pci_controller *phb; /* for pci devices */
diff --git a/include/asm-powerpc/ppc-pci.h b/include/asm-powerpc/ppc-pci.h
index 1a2db61694f2..f80482c7231f 100644
--- a/include/asm-powerpc/ppc-pci.h
+++ b/include/asm-powerpc/ppc-pci.h
@@ -58,8 +58,6 @@ void pci_addr_cache_remove_device(struct pci_dev *dev);
58void pci_addr_cache_build(void); 58void pci_addr_cache_build(void);
59struct pci_dev *pci_get_device_by_addr(unsigned long addr); 59struct pci_dev *pci_get_device_by_addr(unsigned long addr);
60 60
61void eeh_save_bars(struct pci_dev * pdev, struct pci_dn *pdn);
62
63/** 61/**
64 * eeh_slot_error_detail -- record and EEH error condition to the log 62 * eeh_slot_error_detail -- record and EEH error condition to the log
65 * @severity: 1 if temporary, 2 if permanent failure. 63 * @severity: 1 if temporary, 2 if permanent failure.
@@ -103,6 +101,7 @@ void eeh_restore_bars(struct pci_dn *);
103void rtas_configure_bridge(struct pci_dn *); 101void rtas_configure_bridge(struct pci_dn *);
104 102
105int rtas_write_config(struct pci_dn *, int where, int size, u32 val); 103int rtas_write_config(struct pci_dn *, int where, int size, u32 val);
104int rtas_read_config(struct pci_dn *, int where, int size, u32 *val);
106 105
107/** 106/**
108 * mark and clear slots: find "partition endpoint" PE and set or 107 * mark and clear slots: find "partition endpoint" PE and set or