diff options
author | Michael Brown <mcb30@etherboot.org> | 2009-07-09 03:49:37 +0100 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2009-07-17 23:06:34 +0100 |
commit | 92cf24002018a19aec65c4a5f99cffb78e34d4c4 (patch) | |
tree | 00791d024122b382cdbee5c5f8df362c83ea7b66 /src/include | |
parent | 80c41b90d226b8f6d80feb221a4920a0e0a88da2 (diff) | |
download | ipxe-92cf24002018a19aec65c4a5f99cffb78e34d4c4.tar.gz |
[infiniband] Always create an SMA and a GMA
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/gpxe/ib_gma.h | 10 | ||||
-rw-r--r-- | src/include/gpxe/ib_sma.h | 24 | ||||
-rw-r--r-- | src/include/gpxe/infiniband.h | 6 |
3 files changed, 7 insertions, 33 deletions
diff --git a/src/include/gpxe/ib_gma.h b/src/include/gpxe/ib_gma.h index 9ba25ddf..4764a6cc 100644 --- a/src/include/gpxe/ib_gma.h +++ b/src/include/gpxe/ib_gma.h @@ -12,13 +12,9 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include <gpxe/list.h> #include <gpxe/retry.h> #include <gpxe/tables.h> +#include <gpxe/infiniband.h> -struct ib_device; -struct ib_completion_queue; -struct ib_queue_pair; -union ib_mad; struct ib_gma; -enum ib_queue_pair_type; /** A GMA attribute handler */ struct ib_gma_handler { @@ -68,8 +64,8 @@ struct ib_gma { extern int ib_gma_request ( struct ib_gma *gma, union ib_mad *mad, struct ib_address_vector *av, int retry ); -extern int ib_create_gma ( struct ib_gma *gma, struct ib_device *ibdev, - enum ib_queue_pair_type type ); +extern struct ib_gma * ib_create_gma ( struct ib_device *ibdev, + enum ib_queue_pair_type type ); extern void ib_destroy_gma ( struct ib_gma *gma ); #endif /* _GPXE_IB_GMA_H */ diff --git a/src/include/gpxe/ib_sma.h b/src/include/gpxe/ib_sma.h deleted file mode 100644 index 38cb6a2d..00000000 --- a/src/include/gpxe/ib_sma.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef _GPXE_IB_SMA_H -#define _GPXE_IB_SMA_H - -/** @file - * - * Infiniband Subnet Management Agent - * - */ - -FILE_LICENCE ( GPL2_OR_LATER ); - -#include <gpxe/infiniband.h> -#include <gpxe/ib_gma.h> - -/** An Infiniband Subnet Management Agent */ -struct ib_sma { - /** General management agent */ - struct ib_gma gma; -}; - -extern int ib_create_sma ( struct ib_sma *sma, struct ib_device *ibdev ); -extern void ib_destroy_sma ( struct ib_sma *sma ); - -#endif /* _GPXE_IB_SMA_H */ diff --git a/src/include/gpxe/infiniband.h b/src/include/gpxe/infiniband.h index 80e59bf5..9c1f57a0 100644 --- a/src/include/gpxe/infiniband.h +++ b/src/include/gpxe/infiniband.h @@ -14,7 +14,6 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include <gpxe/device.h> #include <gpxe/ib_packet.h> #include <gpxe/ib_mad.h> -#include <gpxe/ib_gma.h> /** Subnet management QPN */ #define IB_QPN_SMA 0 @@ -46,6 +45,7 @@ struct ib_device; struct ib_queue_pair; struct ib_address_vector; struct ib_completion_queue; +struct ib_gma; /** An Infiniband Work Queue */ struct ib_work_queue { @@ -387,8 +387,10 @@ struct ib_device { /** Outbound packet sequence number */ uint32_t psn; + /** Subnet management agent */ + struct ib_gma *sma; /** General management agent */ - struct ib_gma gma; + struct ib_gma *gma; /** Driver private data */ void *drv_priv; |