summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/iseries/pci.h
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2005-10-14 16:49:58 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2005-10-14 16:49:58 +1000
commit20f48ccfa015d8b8391bbf07fc27618453f44969 (patch)
tree0a38839fb3c8899fe1eb3026a29daaabec65babc /arch/powerpc/platforms/iseries/pci.h
parentbffa8fc3835b0d3c4a59af8aceeea3aba823b032 (diff)
downloadlinux-20f48ccfa015d8b8391bbf07fc27618453f44969.tar.gz
linux-20f48ccfa015d8b8391bbf07fc27618453f44969.tar.bz2
linux-20f48ccfa015d8b8391bbf07fc27618453f44969.zip
powerpc: eliminate DsaAddr from pci_dn
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Diffstat (limited to 'arch/powerpc/platforms/iseries/pci.h')
-rw-r--r--arch/powerpc/platforms/iseries/pci.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/iseries/pci.h b/arch/powerpc/platforms/iseries/pci.h
index 94b4bfdceadf..33a8489fde54 100644
--- a/arch/powerpc/platforms/iseries/pci.h
+++ b/arch/powerpc/platforms/iseries/pci.h
@@ -30,6 +30,8 @@
* End Change Activity
*/
+#include <asm/pci-bridge.h>
+
struct pci_dev; /* For Forward Reference */
/*
@@ -45,6 +47,17 @@ struct pci_dev; /* For Forward Reference */
#define ISERIES_GET_DEVICE_FROM_SUBBUS(subbus) ((subbus >> 5) & 0x7)
#define ISERIES_GET_FUNCTION_FROM_SUBBUS(subbus) ((subbus >> 2) & 0x7)
+/*
+ * Generate a Direct Select Address for the Hypervisor
+ */
+static inline u64 iseries_ds_addr(struct device_node *node)
+{
+ struct pci_dn *pdn = PCI_DN(node);
+
+ return ((u64)pdn->busno << 48) + ((u64)pdn->bussubno << 40)
+ + ((u64)0x10 << 32);
+}
+
extern void iSeries_Device_Information(struct pci_dev*, int);
#endif /* _PLATFORMS_ISERIES_PCI_H */