aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2007-07-19 17:07:35 -0400
committerKumar Gala <galak@kernel.crashing.org>2007-07-23 23:29:09 -0400
commit2e56ff206b7c6c28b847ccdbe46ad69b3263ac32 (patch)
tree636f8d31a2b6c19fe21b12c61f47dcd96d393871 /include/asm-powerpc
parentd5269966e57484548bc5d38e117f161bf2f56ce9 (diff)
[POWERPC] Make endianess of cfg_addr for indirect pci ops runtime
Make it so we do a runtime check to know if we need to write cfg_addr as big or little endian. This is needed if we want to allow 86xx support to co-exist in the same kernel as other 6xx PPCs. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r--include/asm-powerpc/pci-bridge.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/asm-powerpc/pci-bridge.h b/include/asm-powerpc/pci-bridge.h
index 13cb0a97347..9ce8f2991ac 100644
--- a/include/asm-powerpc/pci-bridge.h
+++ b/include/asm-powerpc/pci-bridge.h
@@ -49,11 +49,13 @@ struct pci_controller {
49 * hanging if we don't have link and try to do config cycles to 49 * hanging if we don't have link and try to do config cycles to
50 * anything but the PHB. Only allow talking to the PHB if this is 50 * anything but the PHB. Only allow talking to the PHB if this is
51 * set. 51 * set.
52 * BIG_ENDIAN - cfg_addr is a big endian register
52 */ 53 */
53#define PPC_INDIRECT_TYPE_SET_CFG_TYPE (0x00000001) 54#define PPC_INDIRECT_TYPE_SET_CFG_TYPE (0x00000001)
54#define PPC_INDIRECT_TYPE_EXT_REG (0x00000002) 55#define PPC_INDIRECT_TYPE_EXT_REG (0x00000002)
55#define PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS (0x00000004) 56#define PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS (0x00000004)
56#define PPC_INDIRECT_TYPE_NO_PCIE_LINK (0x00000008) 57#define PPC_INDIRECT_TYPE_NO_PCIE_LINK (0x00000008)
58#define PPC_INDIRECT_TYPE_BIG_ENDIAN (0x00000010)
57 u32 indirect_type; 59 u32 indirect_type;
58 60
59 /* Currently, we limit ourselves to 1 IO range and 3 mem 61 /* Currently, we limit ourselves to 1 IO range and 3 mem
@@ -88,7 +90,7 @@ extern int early_find_capability(struct pci_controller *hose, int bus,
88 int dev_fn, int cap); 90 int dev_fn, int cap);
89 91
90extern void setup_indirect_pci(struct pci_controller* hose, 92extern void setup_indirect_pci(struct pci_controller* hose,
91 u32 cfg_addr, u32 cfg_data); 93 u32 cfg_addr, u32 cfg_data, u32 flags);
92extern void setup_grackle(struct pci_controller *hose); 94extern void setup_grackle(struct pci_controller *hose);
93 95
94#else 96#else