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

Go to the source code of this file.

Macros

#define OP(x)   IB_OPCODE_RC_##x
 

Functions

int qib_make_rc_req (struct qib_qp *qp)
 
void qib_send_rc_ack (struct qib_qp *qp)
 
void qib_rc_rnr_retry (unsigned long arg)
 
void qib_rc_send_complete (struct qib_qp *qp, struct qib_ib_header *hdr)
 
void qib_rc_error (struct qib_qp *qp, enum ib_wc_status err)
 
void qib_rc_rcv (struct qib_ctxtdata *rcd, struct qib_ib_header *hdr, int has_grh, void *data, u32 tlen, struct qib_qp *qp)
 

Macro Definition Documentation

#define OP (   x)    IB_OPCODE_RC_##x

Definition at line 39 of file qib_rc.c.

Function Documentation

int qib_make_rc_req ( struct qib_qp qp)

qib_make_rc_req - construct a request packet (SEND, RDMA r/w, ATOMIC) : a pointer to the QP

Return 1 if constructed; otherwise, return 0.

Definition at line 231 of file qib_rc.c.

void qib_rc_error ( struct qib_qp qp,
enum ib_wc_status  err 
)

Definition at line 1819 of file qib_rc.c.

void qib_rc_rcv ( struct qib_ctxtdata rcd,
struct qib_ib_header hdr,
int  has_grh,
void data,
u32  tlen,
struct qib_qp qp 
)

qib_rc_rcv - process an incoming RC packet : the context pointer : the header of this packet : true if the header has a GRH : the packet data : the packet length : the QP for this packet

This is called from qib_qp_rcv() to process an incoming RC packet for the given QP. Called at interrupt level.

Definition at line 1862 of file qib_rc.c.

void qib_rc_rnr_retry ( unsigned long  arg)

Definition at line 926 of file qib_rc.c.

void qib_rc_send_complete ( struct qib_qp qp,
struct qib_ib_header hdr 
)

Definition at line 969 of file qib_rc.c.

void qib_send_rc_ack ( struct qib_qp qp)

qib_send_rc_ack - Construct an ACK packet and send it : a pointer to the QP

This is called from qib_rc_rcv() and qib_kreceive(). Note that RDMA reads and atomics are handled in the send side QP state and tasklet.

Definition at line 648 of file qib_rc.c.