Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
mthca_dev.h File Reference
#include <linux/spinlock.h>
#include <linux/kernel.h>
#include <linux/pci.h>
#include <linux/dma-mapping.h>
#include <linux/timer.h>
#include <linux/mutex.h>
#include <linux/list.h>
#include <linux/semaphore.h>
#include "mthca_provider.h"
#include "mthca_doorbell.h"

Go to the source code of this file.

Data Structures

struct  mthca_cmd
 
struct  mthca_limits
 
struct  mthca_alloc
 
struct  mthca_array
 
struct  mthca_uar_table
 
struct  mthca_pd_table
 
struct  mthca_buddy
 
struct  mthca_mr_table
 
struct  mthca_eq_table
 
struct  mthca_cq_table
 
struct  mthca_srq_table
 
struct  mthca_qp_table
 
struct  mthca_av_table
 
struct  mthca_mcg_table
 
struct  mthca_catas_err
 
struct  mthca_dev
 

Macros

#define DRV_NAME   "ib_mthca"
 
#define PFX   DRV_NAME ": "
 
#define DRV_VERSION   "1.0"
 
#define DRV_RELDATE   "April 4, 2008"
 
#define mthca_dbg(mdev, format, arg...)   do { (void) mdev; } while (0)
 
#define mthca_err(mdev, format, arg...)   dev_err(&mdev->pdev->dev, format, ## arg)
 
#define mthca_info(mdev, format, arg...)   dev_info(&mdev->pdev->dev, format, ## arg)
 
#define mthca_warn(mdev, format, arg...)   dev_warn(&mdev->pdev->dev, format, ## arg)
 
#define MTHCA_GET(dest, source, offset)
 
#define MTHCA_PUT(dest, source, offset)
 

Enumerations

enum  {
  MTHCA_FLAG_DDR_HIDDEN = 1 << 1, MTHCA_FLAG_SRQ = 1 << 2, MTHCA_FLAG_MSI_X = 1 << 3, MTHCA_FLAG_NO_LAM = 1 << 4,
  MTHCA_FLAG_FMR = 1 << 5, MTHCA_FLAG_MEMFREE = 1 << 6, MTHCA_FLAG_PCIE = 1 << 7, MTHCA_FLAG_SINAI_OPT = 1 << 8
}
 
enum  { MTHCA_MAX_PORTS = 2 }
 
enum  { MTHCA_BOARD_ID_LEN = 64 }
 
enum  {
  MTHCA_EQ_CONTEXT_SIZE = 0x40, MTHCA_CQ_CONTEXT_SIZE = 0x40, MTHCA_QP_CONTEXT_SIZE = 0x200, MTHCA_RDB_ENTRY_SIZE = 0x20,
  MTHCA_AV_SIZE = 0x20, MTHCA_MGM_ENTRY_SIZE = 0x100, MTHCA_MPT_ENTRY_SIZE = 0x40, MTHCA_MTT_SEG_SIZE = 0x40,
  MTHCA_QP_PER_MGM = 4 * (MTHCA_MGM_ENTRY_SIZE / 16 - 2)
}
 
enum  { MTHCA_EQ_CMD, MTHCA_EQ_ASYNC, MTHCA_EQ_COMP, MTHCA_NUM_EQ }
 
enum  {
  MTHCA_OPCODE_NOP = 0x00, MTHCA_OPCODE_RDMA_WRITE = 0x08, MTHCA_OPCODE_RDMA_WRITE_IMM = 0x09, MTHCA_OPCODE_SEND = 0x0a,
  MTHCA_OPCODE_SEND_IMM = 0x0b, MTHCA_OPCODE_RDMA_READ = 0x10, MTHCA_OPCODE_ATOMIC_CS = 0x11, MTHCA_OPCODE_ATOMIC_FA = 0x12,
  MTHCA_OPCODE_BIND_MW = 0x18, MTHCA_OPCODE_INVALID = 0xff
}
 
enum  { MTHCA_CMD_USE_EVENTS = 1 << 0, MTHCA_CMD_POST_DOORBELLS = 1 << 1 }
 
enum  { MTHCA_CMD_NUM_DBELL_DWORDS = 8 }
 

Functions

void __buggy_use_of_MTHCA_GET (void)
 
void __buggy_use_of_MTHCA_PUT (void)
 
int mthca_reset (struct mthca_dev *mdev)
 
u32 mthca_alloc (struct mthca_alloc *alloc)
 
void mthca_free (struct mthca_alloc *alloc, u32 obj)
 
int mthca_alloc_init (struct mthca_alloc *alloc, u32 num, u32 mask, u32 reserved)
 
void mthca_alloc_cleanup (struct mthca_alloc *alloc)
 
voidmthca_array_get (struct mthca_array *array, int index)
 
int mthca_array_set (struct mthca_array *array, int index, void *value)
 
void mthca_array_clear (struct mthca_array *array, int index)
 
int mthca_array_init (struct mthca_array *array, int nent)
 
void mthca_array_cleanup (struct mthca_array *array, int nent)
 
int mthca_buf_alloc (struct mthca_dev *dev, int size, int max_direct, union mthca_buf *buf, int *is_direct, struct mthca_pd *pd, int hca_write, struct mthca_mr *mr)
 
void mthca_buf_free (struct mthca_dev *dev, int size, union mthca_buf *buf, int is_direct, struct mthca_mr *mr)
 
int mthca_init_uar_table (struct mthca_dev *dev)
 
int mthca_init_pd_table (struct mthca_dev *dev)
 
int mthca_init_mr_table (struct mthca_dev *dev)
 
int mthca_init_eq_table (struct mthca_dev *dev)
 
int mthca_init_cq_table (struct mthca_dev *dev)
 
int mthca_init_srq_table (struct mthca_dev *dev)
 
int mthca_init_qp_table (struct mthca_dev *dev)
 
int mthca_init_av_table (struct mthca_dev *dev)
 
int mthca_init_mcg_table (struct mthca_dev *dev)
 
void mthca_cleanup_uar_table (struct mthca_dev *dev)
 
void mthca_cleanup_pd_table (struct mthca_dev *dev)
 
void mthca_cleanup_mr_table (struct mthca_dev *dev)
 
void mthca_cleanup_eq_table (struct mthca_dev *dev)
 
void mthca_cleanup_cq_table (struct mthca_dev *dev)
 
void mthca_cleanup_srq_table (struct mthca_dev *dev)
 
void mthca_cleanup_qp_table (struct mthca_dev *dev)
 
void mthca_cleanup_av_table (struct mthca_dev *dev)
 
void mthca_cleanup_mcg_table (struct mthca_dev *dev)
 
int mthca_register_device (struct mthca_dev *dev)
 
void mthca_unregister_device (struct mthca_dev *dev)
 
void mthca_start_catas_poll (struct mthca_dev *dev)
 
void mthca_stop_catas_poll (struct mthca_dev *dev)
 
int __mthca_restart_one (struct pci_dev *pdev)
 
int mthca_catas_init (void)
 
void mthca_catas_cleanup (void)
 
int mthca_uar_alloc (struct mthca_dev *dev, struct mthca_uar *uar)
 
void mthca_uar_free (struct mthca_dev *dev, struct mthca_uar *uar)
 
int mthca_pd_alloc (struct mthca_dev *dev, int privileged, struct mthca_pd *pd)
 
void mthca_pd_free (struct mthca_dev *dev, struct mthca_pd *pd)
 
int mthca_write_mtt_size (struct mthca_dev *dev)
 
struct mthca_mttmthca_alloc_mtt (struct mthca_dev *dev, int size)
 
void mthca_free_mtt (struct mthca_dev *dev, struct mthca_mtt *mtt)
 
int mthca_write_mtt (struct mthca_dev *dev, struct mthca_mtt *mtt, int start_index, u64 *buffer_list, int list_len)
 
int mthca_mr_alloc (struct mthca_dev *dev, u32 pd, int buffer_size_shift, u64 iova, u64 total_size, u32 access, struct mthca_mr *mr)
 
int mthca_mr_alloc_notrans (struct mthca_dev *dev, u32 pd, u32 access, struct mthca_mr *mr)
 
int mthca_mr_alloc_phys (struct mthca_dev *dev, u32 pd, u64 *buffer_list, int buffer_size_shift, int list_len, u64 iova, u64 total_size, u32 access, struct mthca_mr *mr)
 
void mthca_free_mr (struct mthca_dev *dev, struct mthca_mr *mr)
 
int mthca_fmr_alloc (struct mthca_dev *dev, u32 pd, u32 access, struct mthca_fmr *fmr)
 
int mthca_tavor_map_phys_fmr (struct ib_fmr *ibfmr, u64 *page_list, int list_len, u64 iova)
 
void mthca_tavor_fmr_unmap (struct mthca_dev *dev, struct mthca_fmr *fmr)
 
int mthca_arbel_map_phys_fmr (struct ib_fmr *ibfmr, u64 *page_list, int list_len, u64 iova)
 
void mthca_arbel_fmr_unmap (struct mthca_dev *dev, struct mthca_fmr *fmr)
 
int mthca_free_fmr (struct mthca_dev *dev, struct mthca_fmr *fmr)
 
int mthca_map_eq_icm (struct mthca_dev *dev, u64 icm_virt)
 
void mthca_unmap_eq_icm (struct mthca_dev *dev)
 
int mthca_poll_cq (struct ib_cq *ibcq, int num_entries, struct ib_wc *entry)
 
int mthca_tavor_arm_cq (struct ib_cq *cq, enum ib_cq_notify_flags flags)
 
int mthca_arbel_arm_cq (struct ib_cq *cq, enum ib_cq_notify_flags flags)
 
int mthca_init_cq (struct mthca_dev *dev, int nent, struct mthca_ucontext *ctx, u32 pdn, struct mthca_cq *cq)
 
void mthca_free_cq (struct mthca_dev *dev, struct mthca_cq *cq)
 
void mthca_cq_completion (struct mthca_dev *dev, u32 cqn)
 
void mthca_cq_event (struct mthca_dev *dev, u32 cqn, enum ib_event_type event_type)
 
void mthca_cq_clean (struct mthca_dev *dev, struct mthca_cq *cq, u32 qpn, struct mthca_srq *srq)
 
void mthca_cq_resize_copy_cqes (struct mthca_cq *cq)
 
int mthca_alloc_cq_buf (struct mthca_dev *dev, struct mthca_cq_buf *buf, int nent)
 
void mthca_free_cq_buf (struct mthca_dev *dev, struct mthca_cq_buf *buf, int cqe)
 
int mthca_alloc_srq (struct mthca_dev *dev, struct mthca_pd *pd, struct ib_srq_attr *attr, struct mthca_srq *srq)
 
void mthca_free_srq (struct mthca_dev *dev, struct mthca_srq *srq)
 
int mthca_modify_srq (struct ib_srq *ibsrq, struct ib_srq_attr *attr, enum ib_srq_attr_mask attr_mask, struct ib_udata *udata)
 
int mthca_query_srq (struct ib_srq *srq, struct ib_srq_attr *srq_attr)
 
int mthca_max_srq_sge (struct mthca_dev *dev)
 
void mthca_srq_event (struct mthca_dev *dev, u32 srqn, enum ib_event_type event_type)
 
void mthca_free_srq_wqe (struct mthca_srq *srq, u32 wqe_addr)
 
int mthca_tavor_post_srq_recv (struct ib_srq *srq, struct ib_recv_wr *wr, struct ib_recv_wr **bad_wr)
 
int mthca_arbel_post_srq_recv (struct ib_srq *srq, struct ib_recv_wr *wr, struct ib_recv_wr **bad_wr)
 
void mthca_qp_event (struct mthca_dev *dev, u32 qpn, enum ib_event_type event_type)
 
int mthca_query_qp (struct ib_qp *ibqp, struct ib_qp_attr *qp_attr, int qp_attr_mask, struct ib_qp_init_attr *qp_init_attr)
 
int mthca_modify_qp (struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_udata *udata)
 
int mthca_tavor_post_send (struct ib_qp *ibqp, struct ib_send_wr *wr, struct ib_send_wr **bad_wr)
 
int mthca_tavor_post_receive (struct ib_qp *ibqp, struct ib_recv_wr *wr, struct ib_recv_wr **bad_wr)
 
int mthca_arbel_post_send (struct ib_qp *ibqp, struct ib_send_wr *wr, struct ib_send_wr **bad_wr)
 
int mthca_arbel_post_receive (struct ib_qp *ibqp, struct ib_recv_wr *wr, struct ib_recv_wr **bad_wr)
 
void mthca_free_err_wqe (struct mthca_dev *dev, struct mthca_qp *qp, int is_send, int index, int *dbd, __be32 *new_wqe)
 
int mthca_alloc_qp (struct mthca_dev *dev, struct mthca_pd *pd, struct mthca_cq *send_cq, struct mthca_cq *recv_cq, enum ib_qp_type type, enum ib_sig_type send_policy, struct ib_qp_cap *cap, struct mthca_qp *qp)
 
int mthca_alloc_sqp (struct mthca_dev *dev, struct mthca_pd *pd, struct mthca_cq *send_cq, struct mthca_cq *recv_cq, enum ib_sig_type send_policy, struct ib_qp_cap *cap, int qpn, int port, struct mthca_sqp *sqp)
 
void mthca_free_qp (struct mthca_dev *dev, struct mthca_qp *qp)
 
int mthca_create_ah (struct mthca_dev *dev, struct mthca_pd *pd, struct ib_ah_attr *ah_attr, struct mthca_ah *ah)
 
int mthca_destroy_ah (struct mthca_dev *dev, struct mthca_ah *ah)
 
int mthca_read_ah (struct mthca_dev *dev, struct mthca_ah *ah, struct ib_ud_header *header)
 
int mthca_ah_query (struct ib_ah *ibah, struct ib_ah_attr *attr)
 
int mthca_ah_grh_present (struct mthca_ah *ah)
 
u8 mthca_get_rate (struct mthca_dev *dev, int static_rate, u8 port)
 
enum ib_rate mthca_rate_to_ib (struct mthca_dev *dev, u8 mthca_rate, u8 port)
 
int mthca_multicast_attach (struct ib_qp *ibqp, union ib_gid *gid, u16 lid)
 
int mthca_multicast_detach (struct ib_qp *ibqp, union ib_gid *gid, u16 lid)
 
int mthca_process_mad (struct ib_device *ibdev, int mad_flags, u8 port_num, struct ib_wc *in_wc, struct ib_grh *in_grh, struct ib_mad *in_mad, struct ib_mad *out_mad)
 
int mthca_create_agents (struct mthca_dev *dev)
 
void mthca_free_agents (struct mthca_dev *dev)
 

Variables

struct mutex mthca_device_mutex
 

Macro Definition Documentation

#define DRV_NAME   "ib_mthca"

Definition at line 52 of file mthca_dev.h.

#define DRV_RELDATE   "April 4, 2008"

Definition at line 55 of file mthca_dev.h.

#define DRV_VERSION   "1.0"

Definition at line 54 of file mthca_dev.h.

#define mthca_dbg (   mdev,
  format,
  arg... 
)    do { (void) mdev; } while (0)

Definition at line 374 of file mthca_dev.h.

#define mthca_err (   mdev,
  format,
  arg... 
)    dev_err(&mdev->pdev->dev, format, ## arg)

Definition at line 378 of file mthca_dev.h.

#define MTHCA_GET (   dest,
  source,
  offset 
)
Value:
do { \
void *__p = (char *) (source) + (offset); \
switch (sizeof (dest)) { \
case 1: (dest) = *(u8 *) __p; break; \
case 2: (dest) = be16_to_cpup(__p); break; \
case 4: (dest) = be32_to_cpup(__p); break; \
case 8: (dest) = be64_to_cpup(__p); break; \
} \
} while (0)

Definition at line 388 of file mthca_dev.h.

#define mthca_info (   mdev,
  format,
  arg... 
)    dev_info(&mdev->pdev->dev, format, ## arg)

Definition at line 380 of file mthca_dev.h.

#define MTHCA_PUT (   dest,
  source,
  offset 
)
Value:
do { \
void *__d = ((char *) (dest) + (offset)); \
switch (sizeof(source)) { \
case 1: *(u8 *) __d = (source); break; \
case 2: *(__be16 *) __d = cpu_to_be16(source); break; \
case 4: *(__be32 *) __d = cpu_to_be32(source); break; \
case 8: *(__be64 *) __d = cpu_to_be64(source); break; \
} \
} while (0)

Definition at line 400 of file mthca_dev.h.

#define mthca_warn (   mdev,
  format,
  arg... 
)    dev_warn(&mdev->pdev->dev, format, ## arg)

Definition at line 382 of file mthca_dev.h.

#define PFX   DRV_NAME ": "

Definition at line 53 of file mthca_dev.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
MTHCA_FLAG_DDR_HIDDEN 
MTHCA_FLAG_SRQ 
MTHCA_FLAG_MSI_X 
MTHCA_FLAG_NO_LAM 
MTHCA_FLAG_FMR 
MTHCA_FLAG_MEMFREE 
MTHCA_FLAG_PCIE 
MTHCA_FLAG_SINAI_OPT 

Definition at line 57 of file mthca_dev.h.

anonymous enum
Enumerator:
MTHCA_MAX_PORTS 

Definition at line 68 of file mthca_dev.h.

anonymous enum
Enumerator:
MTHCA_BOARD_ID_LEN 

Definition at line 72 of file mthca_dev.h.

anonymous enum
Enumerator:
MTHCA_EQ_CONTEXT_SIZE 
MTHCA_CQ_CONTEXT_SIZE 
MTHCA_QP_CONTEXT_SIZE 
MTHCA_RDB_ENTRY_SIZE 
MTHCA_AV_SIZE 
MTHCA_MGM_ENTRY_SIZE 
MTHCA_MPT_ENTRY_SIZE 
MTHCA_MTT_SEG_SIZE 
MTHCA_QP_PER_MGM 

Definition at line 76 of file mthca_dev.h.

anonymous enum
Enumerator:
MTHCA_EQ_CMD 
MTHCA_EQ_ASYNC 
MTHCA_EQ_COMP 
MTHCA_NUM_EQ 

Definition at line 91 of file mthca_dev.h.

anonymous enum
Enumerator:
MTHCA_OPCODE_NOP 
MTHCA_OPCODE_RDMA_WRITE 
MTHCA_OPCODE_RDMA_WRITE_IMM 
MTHCA_OPCODE_SEND 
MTHCA_OPCODE_SEND_IMM 
MTHCA_OPCODE_RDMA_READ 
MTHCA_OPCODE_ATOMIC_CS 
MTHCA_OPCODE_ATOMIC_FA 
MTHCA_OPCODE_BIND_MW 
MTHCA_OPCODE_INVALID 

Definition at line 98 of file mthca_dev.h.

anonymous enum
Enumerator:
MTHCA_CMD_USE_EVENTS 
MTHCA_CMD_POST_DOORBELLS 

Definition at line 111 of file mthca_dev.h.

anonymous enum
Enumerator:
MTHCA_CMD_NUM_DBELL_DWORDS 

Definition at line 116 of file mthca_dev.h.

Function Documentation

void __buggy_use_of_MTHCA_GET ( void  )
void __buggy_use_of_MTHCA_PUT ( void  )
int __mthca_restart_one ( struct pci_dev pdev)

Definition at line 1129 of file mthca_main.c.

int mthca_ah_grh_present ( struct mthca_ah ah)

Definition at line 261 of file mthca_av.c.

int mthca_ah_query ( struct ib_ah ibah,
struct ib_ah_attr attr 
)

Definition at line 292 of file mthca_av.c.

Definition at line 40 of file mthca_allocator.c.

void mthca_alloc_cleanup ( struct mthca_alloc alloc)

Definition at line 105 of file mthca_allocator.c.

int mthca_alloc_cq_buf ( struct mthca_dev dev,
struct mthca_cq_buf buf,
int  nent 
)

Definition at line 353 of file mthca_cq.c.

int mthca_alloc_init ( struct mthca_alloc alloc,
u32  num,
u32  mask,
u32  reserved 
)

Definition at line 79 of file mthca_allocator.c.

struct mthca_mtt* mthca_alloc_mtt ( struct mthca_dev dev,
int  size 
)
read

Definition at line 235 of file mthca_mr.c.

int mthca_alloc_qp ( struct mthca_dev dev,
struct mthca_pd pd,
struct mthca_cq send_cq,
struct mthca_cq recv_cq,
enum ib_qp_type  type,
enum ib_sig_type  send_policy,
struct ib_qp_cap cap,
struct mthca_qp qp 
)

Definition at line 1268 of file mthca_qp.c.

int mthca_alloc_sqp ( struct mthca_dev dev,
struct mthca_pd pd,
struct mthca_cq send_cq,
struct mthca_cq recv_cq,
enum ib_sig_type  send_policy,
struct ib_qp_cap cap,
int  qpn,
int  port,
struct mthca_sqp sqp 
)

Definition at line 1342 of file mthca_qp.c.

int mthca_alloc_srq ( struct mthca_dev dev,
struct mthca_pd pd,
struct ib_srq_attr attr,
struct mthca_srq srq 
)

Definition at line 199 of file mthca_srq.c.

int mthca_arbel_arm_cq ( struct ib_cq cq,
enum ib_cq_notify_flags  flags 
)

Definition at line 744 of file mthca_cq.c.

void mthca_arbel_fmr_unmap ( struct mthca_dev dev,
struct mthca_fmr fmr 
)

Definition at line 817 of file mthca_mr.c.

int mthca_arbel_map_phys_fmr ( struct ib_fmr ibfmr,
u64 page_list,
int  list_len,
u64  iova 
)

Definition at line 758 of file mthca_mr.c.

int mthca_arbel_post_receive ( struct ib_qp ibqp,
struct ib_recv_wr wr,
struct ib_recv_wr **  bad_wr 
)

Definition at line 2155 of file mthca_qp.c.

int mthca_arbel_post_send ( struct ib_qp ibqp,
struct ib_send_wr wr,
struct ib_send_wr **  bad_wr 
)

Definition at line 1915 of file mthca_qp.c.

int mthca_arbel_post_srq_recv ( struct ib_srq srq,
struct ib_recv_wr wr,
struct ib_recv_wr **  bad_wr 
)

Definition at line 575 of file mthca_srq.c.

void mthca_array_cleanup ( struct mthca_array array,
int  nent 
)

Definition at line 177 of file mthca_allocator.c.

void mthca_array_clear ( struct mthca_array array,
int  index 
)

Definition at line 145 of file mthca_allocator.c.

void* mthca_array_get ( struct mthca_array array,
int  index 
)

Definition at line 118 of file mthca_allocator.c.

int mthca_array_init ( struct mthca_array array,
int  nent 
)

Definition at line 160 of file mthca_allocator.c.

int mthca_array_set ( struct mthca_array array,
int  index,
void value 
)

Definition at line 128 of file mthca_allocator.c.

int mthca_buf_alloc ( struct mthca_dev dev,
int  size,
int  max_direct,
union mthca_buf buf,
int is_direct,
struct mthca_pd pd,
int  hca_write,
struct mthca_mr mr 
)

Definition at line 194 of file mthca_allocator.c.

void mthca_buf_free ( struct mthca_dev dev,
int  size,
union mthca_buf buf,
int  is_direct,
struct mthca_mr mr 
)

Definition at line 282 of file mthca_allocator.c.

void mthca_catas_cleanup ( void  )

Definition at line 197 of file mthca_catas.c.

int mthca_catas_init ( void  )

Definition at line 186 of file mthca_catas.c.

void mthca_cleanup_av_table ( struct mthca_dev dev)

Definition at line 365 of file mthca_av.c.

void mthca_cleanup_cq_table ( struct mthca_dev dev)

Definition at line 980 of file mthca_cq.c.

void mthca_cleanup_eq_table ( struct mthca_dev dev)

Definition at line 888 of file mthca_eq.c.

void mthca_cleanup_mcg_table ( struct mthca_dev dev)

Definition at line 332 of file mthca_mcg.c.

void mthca_cleanup_mr_table ( struct mthca_dev dev)

Definition at line 951 of file mthca_mr.c.

void mthca_cleanup_pd_table ( struct mthca_dev dev)

Definition at line 77 of file mthca_pd.c.

void mthca_cleanup_qp_table ( struct mthca_dev dev)

Definition at line 2301 of file mthca_qp.c.

void mthca_cleanup_srq_table ( struct mthca_dev dev)

Definition at line 689 of file mthca_srq.c.

void mthca_cleanup_uar_table ( struct mthca_dev dev)

Definition at line 72 of file mthca_uar.c.

void mthca_cq_clean ( struct mthca_dev dev,
struct mthca_cq cq,
u32  qpn,
struct mthca_srq srq 
)

Definition at line 278 of file mthca_cq.c.

void mthca_cq_completion ( struct mthca_dev dev,
u32  cqn 
)

Definition at line 222 of file mthca_cq.c.

void mthca_cq_event ( struct mthca_dev dev,
u32  cqn,
enum ib_event_type  event_type 
)

Definition at line 238 of file mthca_cq.c.

void mthca_cq_resize_copy_cqes ( struct mthca_cq cq)

Definition at line 330 of file mthca_cq.c.

int mthca_create_agents ( struct mthca_dev dev)

Definition at line 284 of file mthca_mad.c.

int mthca_create_ah ( struct mthca_dev dev,
struct mthca_pd pd,
struct ib_ah_attr ah_attr,
struct mthca_ah ah 
)

Definition at line 153 of file mthca_av.c.

int mthca_destroy_ah ( struct mthca_dev dev,
struct mthca_ah ah 
)

Definition at line 240 of file mthca_av.c.

int mthca_fmr_alloc ( struct mthca_dev dev,
u32  pd,
u32  access,
struct mthca_fmr fmr 
)

Definition at line 567 of file mthca_mr.c.

void mthca_free ( struct mthca_alloc alloc,
u32  obj 
)

Definition at line 64 of file mthca_allocator.c.

void mthca_free_agents ( struct mthca_dev dev)

Definition at line 326 of file mthca_mad.c.

void mthca_free_cq ( struct mthca_dev dev,
struct mthca_cq cq 
)

Definition at line 906 of file mthca_cq.c.

void mthca_free_cq_buf ( struct mthca_dev dev,
struct mthca_cq_buf buf,
int  cqe 
)

Definition at line 371 of file mthca_cq.c.

void mthca_free_err_wqe ( struct mthca_dev dev,
struct mthca_qp qp,
int  is_send,
int  index,
int dbd,
__be32 new_wqe 
)

Definition at line 2226 of file mthca_qp.c.

int mthca_free_fmr ( struct mthca_dev dev,
struct mthca_fmr fmr 
)

Definition at line 678 of file mthca_mr.c.

void mthca_free_mr ( struct mthca_dev dev,
struct mthca_mr mr 
)

Definition at line 553 of file mthca_mr.c.

void mthca_free_mtt ( struct mthca_dev dev,
struct mthca_mtt mtt 
)

Definition at line 240 of file mthca_mr.c.

void mthca_free_qp ( struct mthca_dev dev,
struct mthca_qp qp 
)

Definition at line 1420 of file mthca_qp.c.

void mthca_free_srq ( struct mthca_dev dev,
struct mthca_srq srq 
)

Definition at line 330 of file mthca_srq.c.

void mthca_free_srq_wqe ( struct mthca_srq srq,
u32  wqe_addr 
)

Definition at line 457 of file mthca_srq.c.

u8 mthca_get_rate ( struct mthca_dev dev,
int  static_rate,
u8  port 
)

Definition at line 134 of file mthca_av.c.

int mthca_init_av_table ( struct mthca_dev dev)

Definition at line 324 of file mthca_av.c.

int mthca_init_cq ( struct mthca_dev dev,
int  nent,
struct mthca_ucontext ctx,
u32  pdn,
struct mthca_cq cq 
)

Definition at line 776 of file mthca_cq.c.

int mthca_init_cq_table ( struct mthca_dev dev)

Definition at line 959 of file mthca_cq.c.

int mthca_init_eq_table ( struct mthca_dev dev)

Definition at line 767 of file mthca_eq.c.

int mthca_init_mcg_table ( struct mthca_dev dev)

Definition at line 315 of file mthca_mcg.c.

int mthca_init_mr_table ( struct mthca_dev dev)

Definition at line 827 of file mthca_mr.c.

int mthca_init_pd_table ( struct mthca_dev dev)

Definition at line 69 of file mthca_pd.c.

int mthca_init_qp_table ( struct mthca_dev dev)

Definition at line 2253 of file mthca_qp.c.

int mthca_init_srq_table ( struct mthca_dev dev)

Definition at line 665 of file mthca_srq.c.

int mthca_init_uar_table ( struct mthca_dev dev)

Definition at line 54 of file mthca_uar.c.

int mthca_map_eq_icm ( struct mthca_dev dev,
u64  icm_virt 
)

Definition at line 728 of file mthca_eq.c.

int mthca_max_srq_sge ( struct mthca_dev dev)

Definition at line 640 of file mthca_srq.c.

int mthca_modify_qp ( struct ib_qp ibqp,
struct ib_qp_attr attr,
int  attr_mask,
struct ib_udata udata 
)

Definition at line 842 of file mthca_qp.c.

int mthca_modify_srq ( struct ib_srq ibsrq,
struct ib_srq_attr attr,
enum ib_srq_attr_mask  attr_mask,
struct ib_udata udata 
)

Definition at line 364 of file mthca_srq.c.

int mthca_mr_alloc ( struct mthca_dev dev,
u32  pd,
int  buffer_size_shift,
u64  iova,
u64  total_size,
u32  access,
struct mthca_mr mr 
)

Definition at line 429 of file mthca_mr.c.

int mthca_mr_alloc_notrans ( struct mthca_dev dev,
u32  pd,
u32  access,
struct mthca_mr mr 
)

Definition at line 512 of file mthca_mr.c.

int mthca_mr_alloc_phys ( struct mthca_dev dev,
u32  pd,
u64 buffer_list,
int  buffer_size_shift,
int  list_len,
u64  iova,
u64  total_size,
u32  access,
struct mthca_mr mr 
)

Definition at line 519 of file mthca_mr.c.

int mthca_multicast_attach ( struct ib_qp ibqp,
union ib_gid gid,
u16  lid 
)

Definition at line 120 of file mthca_mcg.c.

int mthca_multicast_detach ( struct ib_qp ibqp,
union ib_gid gid,
u16  lid 
)

Definition at line 214 of file mthca_mcg.c.

int mthca_pd_alloc ( struct mthca_dev dev,
int  privileged,
struct mthca_pd pd 
)

Definition at line 39 of file mthca_pd.c.

void mthca_pd_free ( struct mthca_dev dev,
struct mthca_pd pd 
)

Definition at line 62 of file mthca_pd.c.

int mthca_poll_cq ( struct ib_cq ibcq,
int  num_entries,
struct ib_wc entry 
)

Definition at line 662 of file mthca_cq.c.

int mthca_process_mad ( struct ib_device ibdev,
int  mad_flags,
u8  port_num,
struct ib_wc in_wc,
struct ib_grh in_grh,
struct ib_mad in_mad,
struct ib_mad out_mad 
)

Definition at line 195 of file mthca_mad.c.

void mthca_qp_event ( struct mthca_dev dev,
u32  qpn,
enum ib_event_type  event_type 
)

Definition at line 237 of file mthca_qp.c.

int mthca_query_qp ( struct ib_qp ibqp,
struct ib_qp_attr qp_attr,
int  qp_attr_mask,
struct ib_qp_init_attr qp_init_attr 
)

Definition at line 424 of file mthca_qp.c.

int mthca_query_srq ( struct ib_srq srq,
struct ib_srq_attr srq_attr 
)

Definition at line 388 of file mthca_srq.c.

enum ib_rate mthca_rate_to_ib ( struct mthca_dev dev,
u8  mthca_rate,
u8  port 
)

Definition at line 94 of file mthca_av.c.

int mthca_read_ah ( struct mthca_dev dev,
struct mthca_ah ah,
struct ib_ud_header header 
)

Definition at line 266 of file mthca_av.c.

int mthca_register_device ( struct mthca_dev dev)

Definition at line 1250 of file mthca_provider.c.

int mthca_reset ( struct mthca_dev mdev)

Definition at line 41 of file mthca_reset.c.

void mthca_srq_event ( struct mthca_dev dev,
u32  srqn,
enum ib_event_type  event_type 
)

Definition at line 422 of file mthca_srq.c.

void mthca_start_catas_poll ( struct mthca_dev dev)

Definition at line 148 of file mthca_catas.c.

void mthca_stop_catas_poll ( struct mthca_dev dev)

Definition at line 174 of file mthca_catas.c.

int mthca_tavor_arm_cq ( struct ib_cq cq,
enum ib_cq_notify_flags  flags 
)

Definition at line 731 of file mthca_cq.c.

void mthca_tavor_fmr_unmap ( struct mthca_dev dev,
struct mthca_fmr fmr 
)

Definition at line 807 of file mthca_mr.c.

int mthca_tavor_map_phys_fmr ( struct ib_fmr ibfmr,
u64 page_list,
int  list_len,
u64  iova 
)

Definition at line 717 of file mthca_mr.c.

int mthca_tavor_post_receive ( struct ib_qp ibqp,
struct ib_recv_wr wr,
struct ib_recv_wr **  bad_wr 
)

Definition at line 1804 of file mthca_qp.c.

int mthca_tavor_post_send ( struct ib_qp ibqp,
struct ib_send_wr wr,
struct ib_send_wr **  bad_wr 
)

Definition at line 1601 of file mthca_qp.c.

int mthca_tavor_post_srq_recv ( struct ib_srq srq,
struct ib_recv_wr wr,
struct ib_recv_wr **  bad_wr 
)

Definition at line 475 of file mthca_srq.c.

int mthca_uar_alloc ( struct mthca_dev dev,
struct mthca_uar uar 
)

Definition at line 38 of file mthca_uar.c.

void mthca_uar_free ( struct mthca_dev dev,
struct mthca_uar uar 
)

Definition at line 49 of file mthca_uar.c.

void mthca_unmap_eq_icm ( struct mthca_dev dev)

Definition at line 759 of file mthca_eq.c.

void mthca_unregister_device ( struct mthca_dev dev)

Definition at line 1374 of file mthca_provider.c.

int mthca_write_mtt ( struct mthca_dev dev,
struct mthca_mtt mtt,
int  start_index,
u64 buffer_list,
int  list_len 
)

Definition at line 358 of file mthca_mr.c.

int mthca_write_mtt_size ( struct mthca_dev dev)

Definition at line 299 of file mthca_mr.c.

Variable Documentation

struct mutex mthca_device_mutex