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

Go to the source code of this file.

Data Structures

struct  qib_fmr
 

Functions

struct ib_mrqib_get_dma_mr (struct ib_pd *pd, int acc)
 
struct ib_mrqib_reg_phys_mr (struct ib_pd *pd, struct ib_phys_buf *buffer_list, int num_phys_buf, int acc, u64 *iova_start)
 
struct ib_mrqib_reg_user_mr (struct ib_pd *pd, u64 start, u64 length, u64 virt_addr, int mr_access_flags, struct ib_udata *udata)
 
int qib_dereg_mr (struct ib_mr *ibmr)
 
struct ib_mrqib_alloc_fast_reg_mr (struct ib_pd *pd, int max_page_list_len)
 
struct ib_fast_reg_page_listqib_alloc_fast_reg_page_list (struct ib_device *ibdev, int page_list_len)
 
void qib_free_fast_reg_page_list (struct ib_fast_reg_page_list *pl)
 
struct ib_fmrqib_alloc_fmr (struct ib_pd *pd, int mr_access_flags, struct ib_fmr_attr *fmr_attr)
 
int qib_map_phys_fmr (struct ib_fmr *ibfmr, u64 *page_list, int list_len, u64 iova)
 
int qib_unmap_fmr (struct list_head *fmr_list)
 
int qib_dealloc_fmr (struct ib_fmr *ibfmr)
 
void mr_rcu_callback (struct rcu_head *list)
 

Variables

struct qib_fmr __attribute__
 

Function Documentation

void mr_rcu_callback ( struct rcu_head list)

Definition at line 531 of file qib_mr.c.

struct ib_mr* qib_alloc_fast_reg_mr ( struct ib_pd pd,
int  max_page_list_len 
)
read

Definition at line 334 of file qib_mr.c.

struct ib_fast_reg_page_list* qib_alloc_fast_reg_page_list ( struct ib_device ibdev,
int  page_list_len 
)
read

Definition at line 346 of file qib_mr.c.

struct ib_fmr* qib_alloc_fmr ( struct ib_pd pd,
int  mr_access_flags,
struct ib_fmr_attr fmr_attr 
)
read

qib_alloc_fmr - allocate a fast memory region : the protection domain for this memory region : access flags for this memory region : fast memory region attributes

Returns the memory region on success, otherwise returns an errno.

Definition at line 383 of file qib_mr.c.

int qib_dealloc_fmr ( struct ib_fmr ibfmr)

qib_dealloc_fmr - deallocate a fast memory region : the fast memory region to deallocate

Returns 0 on success.

Definition at line 510 of file qib_mr.c.

int qib_dereg_mr ( struct ib_mr ibmr)

qib_dereg_mr - unregister and free a memory region : the memory region to free

Returns 0 on success.

Note that this is called to free MRs created by qib_get_dma_mr() or qib_reg_user_mr().

Definition at line 304 of file qib_mr.c.

void qib_free_fast_reg_page_list ( struct ib_fast_reg_page_list pl)

Definition at line 369 of file qib_mr.c.

struct ib_mr* qib_get_dma_mr ( struct ib_pd pd,
int  acc 
)
read

qib_get_dma_mr - get a DMA memory region : protection domain for this memory region : access flags

Returns the memory region on success, otherwise returns an errno. Note that all DMA addresses should be created via the struct ib_dma_mapping_ops functions (see qib_dma.c).

Definition at line 96 of file qib_mr.c.

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

qib_map_phys_fmr - set up a fast memory region : the fast memory region to set up : the list of pages to associate with the fast memory region : the number of pages to associate with the fast memory region : the virtual address of the start of the fast memory region

This may be called from interrupt context.

Definition at line 440 of file qib_mr.c.

struct ib_mr* qib_reg_phys_mr ( struct ib_pd pd,
struct ib_phys_buf buffer_list,
int  num_phys_buf,
int  acc,
u64 iova_start 
)
read

qib_reg_phys_mr - register a physical memory region : protection domain for this memory region : pointer to the list of physical buffers to register : the number of physical buffers to register : the starting address passed over IB which maps to this MR

Returns the memory region on success, otherwise returns an errno.

Definition at line 182 of file qib_mr.c.

struct ib_mr* qib_reg_user_mr ( struct ib_pd pd,
u64  start,
u64  length,
u64  virt_addr,
int  mr_access_flags,
struct ib_udata udata 
)
read

qib_reg_user_mr - register a userspace memory region : protection domain for this memory region : starting userspace address : length of region to register : access flags for this memory region : unused by the QLogic_IB driver

Returns the memory region on success, otherwise returns an errno.

Definition at line 229 of file qib_mr.c.

int qib_unmap_fmr ( struct list_head fmr_list)

qib_unmap_fmr - unmap fast memory regions : the list of fast memory regions to unmap

Returns 0 on success.

Definition at line 487 of file qib_mr.c.

Variable Documentation