mirror of
https://github.com/ipxe/ipxe
synced 2025-12-23 13:30:57 +03:00
[infiniband] Always create an SMA and a GMA
This commit is contained in:
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user