Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
qib_ruc.c File Reference
#include <linux/spinlock.h>
#include "qib.h"
#include "qib_mad.h"

Go to the source code of this file.

Functions

int qib_get_rwqe (struct qib_qp *qp, int wr_id_only)
 
void qib_migrate_qp (struct qib_qp *qp)
 
int qib_ruc_check_hdr (struct qib_ibport *ibp, struct qib_ib_header *hdr, int has_grh, struct qib_qp *qp, u32 bth0)
 
u32 qib_make_grh (struct qib_ibport *ibp, struct ib_grh *hdr, struct ib_global_route *grh, u32 hwords, u32 nwords)
 
void qib_make_ruc_header (struct qib_qp *qp, struct qib_other_headers *ohdr, u32 bth0, u32 bth2)
 
void qib_do_send (struct work_struct *work)
 
void qib_send_complete (struct qib_qp *qp, struct qib_swqe *wqe, enum ib_wc_status status)
 

Variables

const u32 ib_qib_rnr_table [32]
 

Function Documentation

void qib_do_send ( struct work_struct work)

qib_do_send - perform a send on a QP : contains a pointer to the QP

Process entries in the send work queue until credit or queue is exhausted. Only allow one CPU to send a packet per QP (tasklet). Otherwise, two threads could send packets out of order.

Definition at line 716 of file qib_ruc.c.

int qib_get_rwqe ( struct qib_qp qp,
int  wr_id_only 
)

qib_get_rwqe - copy the next RWQE into the QP's RWQE : the QP : update qp->r_wr_id only, not qp->r_sge

Return -1 if there is a local error, 0 if no RWQE is available, otherwise return 1.

Can be called from interrupt level.

Definition at line 138 of file qib_ruc.c.

u32 qib_make_grh ( struct qib_ibport ibp,
struct ib_grh hdr,
struct ib_global_route grh,
u32  hwords,
u32  nwords 
)

qib_make_grh - construct a GRH header : a pointer to the IB port : a pointer to the GRH header being constructed : the global route address to send to : the number of 32 bit words of header being sent : the number of 32 bit words of data being sent

Return the size of the header in 32 bit words.

Definition at line 653 of file qib_ruc.c.

void qib_make_ruc_header ( struct qib_qp qp,
struct qib_other_headers ohdr,
u32  bth0,
u32  bth2 
)

Definition at line 674 of file qib_ruc.c.

void qib_migrate_qp ( struct qib_qp qp)

Definition at line 229 of file qib_ruc.c.

int qib_ruc_check_hdr ( struct qib_ibport ibp,
struct qib_ib_header hdr,
int  has_grh,
struct qib_qp qp,
u32  bth0 
)

Definition at line 267 of file qib_ruc.c.

void qib_send_complete ( struct qib_qp qp,
struct qib_swqe wqe,
enum ib_wc_status  status 
)

Definition at line 769 of file qib_ruc.c.

Variable Documentation

const u32 ib_qib_rnr_table[32]

Definition at line 42 of file qib_ruc.c.