summaryrefslogtreecommitdiffstats
path: root/src/drivers/infiniband/arbel.h
diff options
context:
space:
mode:
authorMichael Brown2008-02-27 14:59:56 +0100
committerMichael Brown2008-02-27 14:59:56 +0100
commitbc3f0a25c6e3ce8344fa3c255a8e3a981f59309b (patch)
treedfd6a969a801e98f8ec12f2378fa14ba2b4ed72f /src/drivers/infiniband/arbel.h
parent[Infiniband] Centralise MAD operations (diff)
downloadipxe-bc3f0a25c6e3ce8344fa3c255a8e3a981f59309b.tar.gz
ipxe-bc3f0a25c6e3ce8344fa3c255a8e3a981f59309b.tar.xz
ipxe-bc3f0a25c6e3ce8344fa3c255a8e3a981f59309b.zip
[Infiniband] Add preliminary support for multi-port devices.
Arbel and Hermon cards both have multiple ports. Add the infrastructure required to register each port as a separate IB device. Don't yet register more than one port, since registration will currently fail unless a valid link is detected. Use ib_*_{set,get}_{drv,owner}data wrappers to access driver- and owner-private data on Infiniband structures.
Diffstat (limited to 'src/drivers/infiniband/arbel.h')
-rw-r--r--src/drivers/infiniband/arbel.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/drivers/infiniband/arbel.h b/src/drivers/infiniband/arbel.h
index 4d7e4fc6a..94fa67c1b 100644
--- a/src/drivers/infiniband/arbel.h
+++ b/src/drivers/infiniband/arbel.h
@@ -17,6 +17,10 @@
*
*/
+/* Ports in existence */
+#define ARBEL_NUM_PORTS 1
+#define ARBEL_PORT_BASE 1
+
/* PCI BARs */
#define ARBEL_PCI_CONFIG_BAR PCI_BASE_ADDRESS_0
#define ARBEL_PCI_CONFIG_BAR_SIZE 0x100000
@@ -344,6 +348,9 @@ struct arbel {
/** Device limits */
struct arbel_dev_limits limits;
+
+ /** Infiniband devices */
+ struct ib_device *ibdev[ARBEL_NUM_PORTS];
};
/** Global protection domain */