mirror of
https://github.com/ipxe/ipxe
synced 2025-12-25 00:17:57 +03:00
[infiniband] Split queue set functionality out of ipoib.c to ib_qset.c
This commit is contained in:
@@ -143,6 +143,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
||||
#define ERRFILE_ib_sma ( ERRFILE_NET | 0x00170000 )
|
||||
#define ERRFILE_ib_packet ( ERRFILE_NET | 0x00180000 )
|
||||
#define ERRFILE_icmp ( ERRFILE_NET | 0x00190000 )
|
||||
#define ERRFILE_ib_qset ( ERRFILE_NET | 0x001a0000 )
|
||||
|
||||
#define ERRFILE_image ( ERRFILE_IMAGE | 0x00000000 )
|
||||
#define ERRFILE_elf ( ERRFILE_IMAGE | 0x00010000 )
|
||||
|
||||
38
src/include/gpxe/ib_qset.h
Normal file
38
src/include/gpxe/ib_qset.h
Normal file
@@ -0,0 +1,38 @@
|
||||
#ifndef _GPXE_IB_QSET_H
|
||||
#define _GPXE_IB_QSET_H
|
||||
|
||||
/** @file
|
||||
*
|
||||
* Infiniband queue sets
|
||||
*
|
||||
*/
|
||||
|
||||
FILE_LICENCE ( GPL2_OR_LATER );
|
||||
|
||||
#include <stdint.h>
|
||||
#include <gpxe/infiniband.h>
|
||||
|
||||
/** An Infiniband queue set */
|
||||
struct ib_queue_set {
|
||||
/** Completion queue */
|
||||
struct ib_completion_queue *cq;
|
||||
/** Queue pair */
|
||||
struct ib_queue_pair *qp;
|
||||
/** Receive work queue maximum fill level */
|
||||
unsigned int recv_max_fill;
|
||||
/** Receive packet length */
|
||||
size_t recv_pkt_len;
|
||||
};
|
||||
|
||||
extern int ib_create_qset ( struct ib_device *ibdev,
|
||||
struct ib_queue_set *qset, unsigned int num_cqes,
|
||||
struct ib_completion_queue_operations *cq_op,
|
||||
unsigned int num_send_wqes,
|
||||
unsigned int num_recv_wqes, size_t recv_pkt_len,
|
||||
unsigned long qkey );
|
||||
extern void ib_qset_refill_recv ( struct ib_device *ibdev,
|
||||
struct ib_queue_set *qset );
|
||||
extern void ib_destroy_qset ( struct ib_device *ibdev,
|
||||
struct ib_queue_set *qset );
|
||||
|
||||
#endif /* _GPXE_IB_QSET_H */
|
||||
Reference in New Issue
Block a user