Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
ehca_classes.h File Reference
#include <linux/wait.h>
#include <linux/mutex.h>
#include <rdma/ib_verbs.h>
#include <rdma/ib_user_verbs.h>
#include "ipz_pt_fn.h"
#include "ehca_qes.h"
#include "ehca_irq.h"

Go to the source code of this file.

Data Structures

struct  ehca_eqe_cache_entry
 
struct  ehca_eq
 
struct  ehca_sma_attr
 
struct  ehca_sport
 
struct  ehca_shca
 
struct  ehca_pd
 
struct  ehca_mod_qp_parm
 
struct  ehca_qmap_entry
 
struct  ehca_queue_map
 
struct  ehca_qp
 
struct  ehca_cq
 
struct  ehca_mr
 
struct  ehca_mw
 
struct  ehca_mr_pginfo
 
struct  ehca_mr_hipzout_parms
 
struct  ehca_mw_hipzout_parms
 
struct  ehca_av
 
struct  ehca_ucontext
 
struct  ipzu_queue_resp
 
struct  ehca_create_cq_resp
 
struct  ehca_create_qp_resp
 
struct  ehca_alloc_cq_parms
 
struct  ehca_alloc_queue_parms
 
struct  ehca_alloc_qp_parms
 

Macros

#define EHCA_EQE_CACHE_SIZE   20
 
#define EHCA_MAX_NUM_QUEUES   0xffff
 
#define HCA_CAP_MR_PGSIZE_4K   0x80000000
 
#define HCA_CAP_MR_PGSIZE_64K   0x40000000
 
#define HCA_CAP_MR_PGSIZE_1M   0x20000000
 
#define HCA_CAP_MR_PGSIZE_16M   0x10000000
 
#define EHCA_MOD_QP_PARM_MAX   4
 
#define QMAP_IDX_MASK   0xFFFFULL
 
#define IS_SRQ(qp)   (qp->ext_type == EQPT_SRQ)
 
#define HAS_SQ(qp)   (qp->ext_type != EQPT_SRQ)
 
#define HAS_RQ(qp)   (qp->ext_type != EQPT_SRQBASE)
 
#define QP_HASHTAB_LEN   8
 

Enumerations

enum  ehca_ext_qp_type { EQPT_NORMAL = 0, EQPT_LLQP = 1, EQPT_SRQBASE = 2, EQPT_SRQ = 3 }
 
enum  ehca_mr_flag { EHCA_MR_FLAG_FMR = 0x80000000, EHCA_MR_FLAG_MAXMR = 0x40000000 }
 
enum  ehca_mr_pgi_type { EHCA_MR_PGI_PHYS = 1, EHCA_MR_PGI_USER = 2, EHCA_MR_PGI_FMR = 3 }
 
enum  ehca_service_type { ST_RC = 0, ST_UC = 1, ST_RD = 2, ST_UD = 3 }
 
enum  ehca_ll_comp_flags { LLQP_SEND_COMP = 0x20, LLQP_RECV_COMP = 0x40, LLQP_COMP_MASK = 0x60 }
 

Functions

int ehca_init_pd_cache (void)
 
void ehca_cleanup_pd_cache (void)
 
int ehca_init_cq_cache (void)
 
void ehca_cleanup_cq_cache (void)
 
int ehca_init_qp_cache (void)
 
void ehca_cleanup_qp_cache (void)
 
int ehca_init_av_cache (void)
 
void ehca_cleanup_av_cache (void)
 
int ehca_init_mrmw_cache (void)
 
void ehca_cleanup_mrmw_cache (void)
 
int ehca_init_small_qp_cache (void)
 
void ehca_cleanup_small_qp_cache (void)
 
int ehca_cq_assign_qp (struct ehca_cq *cq, struct ehca_qp *qp)
 
int ehca_cq_unassign_qp (struct ehca_cq *cq, unsigned int qp_num)
 
struct ehca_qpehca_cq_get_qp (struct ehca_cq *cq, int qp_num)
 

Variables

rwlock_t ehca_qp_idr_lock
 
rwlock_t ehca_cq_idr_lock
 
struct idr ehca_qp_idr
 
struct idr ehca_cq_idr
 
spinlock_t shca_list_lock
 
int ehca_static_rate
 
int ehca_port_act_time
 
bool ehca_use_hp_mr
 
bool ehca_scaling_code
 
int ehca_lock_hcalls
 
int ehca_nr_ports
 
int ehca_max_cq
 
int ehca_max_qp
 

Macro Definition Documentation

#define EHCA_EQE_CACHE_SIZE   20

Definition at line 68 of file ehca_classes.h.

#define EHCA_MAX_NUM_QUEUES   0xffff

Definition at line 69 of file ehca_classes.h.

#define EHCA_MOD_QP_PARM_MAX   4

Definition at line 159 of file ehca_classes.h.

#define HAS_RQ (   qp)    (qp->ext_type != EQPT_SRQBASE)

Definition at line 232 of file ehca_classes.h.

#define HAS_SQ (   qp)    (qp->ext_type != EQPT_SRQ)

Definition at line 231 of file ehca_classes.h.

#define HCA_CAP_MR_PGSIZE_16M   0x10000000

Definition at line 111 of file ehca_classes.h.

#define HCA_CAP_MR_PGSIZE_1M   0x20000000

Definition at line 110 of file ehca_classes.h.

#define HCA_CAP_MR_PGSIZE_4K   0x80000000

Definition at line 108 of file ehca_classes.h.

#define HCA_CAP_MR_PGSIZE_64K   0x40000000

Definition at line 109 of file ehca_classes.h.

#define IS_SRQ (   qp)    (qp->ext_type == EQPT_SRQ)

Definition at line 230 of file ehca_classes.h.

#define QMAP_IDX_MASK   0xFFFFULL

Definition at line 161 of file ehca_classes.h.

#define QP_HASHTAB_LEN   8

Definition at line 235 of file ehca_classes.h.

Enumeration Type Documentation

Enumerator:
EQPT_NORMAL 
EQPT_LLQP 
EQPT_SRQBASE 
EQPT_SRQ 

Definition at line 146 of file ehca_classes.h.

Enumerator:
LLQP_SEND_COMP 
LLQP_RECV_COMP 
LLQP_COMP_MASK 

Definition at line 434 of file ehca_classes.h.

Enumerator:
EHCA_MR_FLAG_FMR 
EHCA_MR_FLAG_MAXMR 

Definition at line 261 of file ehca_classes.h.

Enumerator:
EHCA_MR_PGI_PHYS 
EHCA_MR_PGI_USER 
EHCA_MR_PGI_FMR 

Definition at line 300 of file ehca_classes.h.

Enumerator:
ST_RC 
ST_UC 
ST_RD 
ST_UD 

Definition at line 427 of file ehca_classes.h.

Function Documentation

void ehca_cleanup_av_cache ( void  )

Definition at line 273 of file ehca_av.c.

void ehca_cleanup_cq_cache ( void  )

Definition at line 400 of file ehca_cq.c.

void ehca_cleanup_mrmw_cache ( void  )

Definition at line 2306 of file ehca_mrmw.c.

void ehca_cleanup_pd_cache ( void  )

Definition at line 120 of file ehca_pd.c.

void ehca_cleanup_qp_cache ( void  )

Definition at line 2257 of file ehca_qp.c.

void ehca_cleanup_small_qp_cache ( void  )

Definition at line 291 of file ipz_pt_fn.c.

int ehca_cq_assign_qp ( struct ehca_cq cq,
struct ehca_qp qp 
)

Definition at line 55 of file ehca_cq.c.

struct ehca_qp* ehca_cq_get_qp ( struct ehca_cq cq,
int  qp_num 
)
read

Definition at line 100 of file ehca_cq.c.

int ehca_cq_unassign_qp ( struct ehca_cq cq,
unsigned int  qp_num 
)

Definition at line 71 of file ehca_cq.c.

int ehca_init_av_cache ( void  )

Definition at line 262 of file ehca_av.c.

int ehca_init_cq_cache ( void  )

Definition at line 389 of file ehca_cq.c.

int ehca_init_mrmw_cache ( void  )

Definition at line 2286 of file ehca_mrmw.c.

int ehca_init_pd_cache ( void  )

Definition at line 109 of file ehca_pd.c.

int ehca_init_qp_cache ( void  )

Definition at line 2246 of file ehca_qp.c.

int ehca_init_small_qp_cache ( void  )

Definition at line 280 of file ipz_pt_fn.c.

Variable Documentation

struct idr ehca_cq_idr
rwlock_t ehca_cq_idr_lock
int ehca_lock_hcalls

Definition at line 72 of file ehca_main.c.

int ehca_max_cq

Definition at line 73 of file ehca_main.c.

int ehca_max_qp

Definition at line 74 of file ehca_main.c.

int ehca_nr_ports

Definition at line 67 of file ehca_main.c.

int ehca_port_act_time

Definition at line 69 of file ehca_main.c.

struct idr ehca_qp_idr
rwlock_t ehca_qp_idr_lock
bool ehca_scaling_code

Definition at line 71 of file ehca_main.c.

int ehca_static_rate

Definition at line 70 of file ehca_main.c.

bool ehca_use_hp_mr

Definition at line 68 of file ehca_main.c.

spinlock_t shca_list_lock