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

Go to the source code of this file.

Data Structures

struct  ipath_fmr
 

Functions

struct ib_mripath_get_dma_mr (struct ib_pd *pd, int acc)
 
struct ib_mripath_reg_phys_mr (struct ib_pd *pd, struct ib_phys_buf *buffer_list, int num_phys_buf, int acc, u64 *iova_start)
 
struct ib_mripath_reg_user_mr (struct ib_pd *pd, u64 start, u64 length, u64 virt_addr, int mr_access_flags, struct ib_udata *udata)
 
int ipath_dereg_mr (struct ib_mr *ibmr)
 
struct ib_fmripath_alloc_fmr (struct ib_pd *pd, int mr_access_flags, struct ib_fmr_attr *fmr_attr)
 
int ipath_map_phys_fmr (struct ib_fmr *ibfmr, u64 *page_list, int list_len, u64 iova)
 
int ipath_unmap_fmr (struct list_head *fmr_list)
 
int ipath_dealloc_fmr (struct ib_fmr *ibfmr)
 

Variables

struct ipath_fmr __attribute__
 

Function Documentation

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

ipath_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 287 of file ipath_mr.c.

int ipath_dealloc_fmr ( struct ib_fmr ibfmr)

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

Returns 0 on success.

Definition at line 419 of file ipath_mr.c.

int ipath_dereg_mr ( struct ib_mr ibmr)

ipath_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 ipath_get_dma_mr() or ipath_reg_user_mr().

Definition at line 260 of file ipath_mr.c.

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

ipath_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 ipath_dma.c).

Definition at line 63 of file ipath_mr.c.

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

ipath_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 352 of file ipath_mr.c.

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

ipath_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 132 of file ipath_mr.c.

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

ipath_reg_user_mr - register a userspace memory region : protection domain for this memory region : starting userspace address : length of region to register : virtual address to use (from HCA's point of view) : access flags for this memory region : unused by the InfiniPath driver

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

Definition at line 185 of file ipath_mr.c.

int ipath_unmap_fmr ( struct list_head fmr_list)

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

Returns 0 on success.

Definition at line 396 of file ipath_mr.c.

Variable Documentation