Linux Kernel
3.7.1
|
#include <linux/slab.h>
#include <rdma/ib_umem.h>
#include "ehca_iverbs.h"
#include "ehca_mrmw.h"
#include "hcp_if.h"
#include "hipz_hw.h"
Go to the source code of this file.
Data Structures | |
struct | ehca_dir_bmap |
struct | ehca_top_bmap |
struct | ehca_bmap |
Macros | |
#define | NUM_CHUNKS(length, chunk_size) (((length) + (chunk_size - 1)) / (chunk_size)) |
#define | MAX_RPAGES 512 |
#define | EHCA_SECTSHIFT SECTION_SIZE_BITS |
#define | EHCA_SECTSIZE (1UL << EHCA_SECTSHIFT) |
#define | EHCA_HUGEPAGESHIFT 34 |
#define | EHCA_HUGEPAGE_SIZE (1UL << EHCA_HUGEPAGESHIFT) |
#define | EHCA_HUGEPAGE_PFN_MASK ((EHCA_HUGEPAGE_SIZE - 1) >> PAGE_SHIFT) |
#define | EHCA_INVAL_ADDR 0xFFFFFFFFFFFFFFFFULL |
#define | EHCA_DIR_INDEX_SHIFT 13 /* 8k Entries in 64k block */ |
#define | EHCA_TOP_INDEX_SHIFT (EHCA_DIR_INDEX_SHIFT * 2) |
#define | EHCA_MAP_ENTRIES (1 << EHCA_DIR_INDEX_SHIFT) |
#define | EHCA_TOP_MAP_SIZE (0x10000) /* currently fixed map size */ |
#define | EHCA_DIR_MAP_SIZE (0x10000) |
#define | EHCA_ENT_MAP_SIZE (0x10000) |
#define | EHCA_INDEX_MASK (EHCA_MAP_ENTRIES - 1) |
#define | EHCA_MR_PGSHIFT4K 12 |
#define | EHCA_MR_PGSHIFT64K 16 |
#define | EHCA_MR_PGSHIFT1M 20 |
#define | EHCA_MR_PGSHIFT16M 24 |
#define | ehca_bmap_valid(entry) ((u64)entry != (u64)EHCA_INVAL_ADDR) |
Enumerations | |
enum | ehca_mr_pgsize { EHCA_MR_PGSIZE4K = 0x1000L, EHCA_MR_PGSIZE64K = 0x10000L, EHCA_MR_PGSIZE1M = 0x100000L, EHCA_MR_PGSIZE16M = 0x1000000L } |
Variables | |
struct ib_dma_mapping_ops | ehca_dma_mapping_ops |
#define ehca_bmap_valid | ( | entry | ) | ((u64)entry != (u64)EHCA_INVAL_ADDR) |
Definition at line 1531 of file ehca_mrmw.c.
#define EHCA_DIR_INDEX_SHIFT 13 /* 8k Entries in 64k block */ |
Definition at line 64 of file ehca_mrmw.c.
#define EHCA_DIR_MAP_SIZE (0x10000) |
Definition at line 68 of file ehca_mrmw.c.
#define EHCA_ENT_MAP_SIZE (0x10000) |
Definition at line 69 of file ehca_mrmw.c.
#define EHCA_HUGEPAGE_PFN_MASK ((EHCA_HUGEPAGE_SIZE - 1) >> PAGE_SHIFT) |
Definition at line 62 of file ehca_mrmw.c.
#define EHCA_HUGEPAGE_SIZE (1UL << EHCA_HUGEPAGESHIFT) |
Definition at line 61 of file ehca_mrmw.c.
#define EHCA_HUGEPAGESHIFT 34 |
Definition at line 60 of file ehca_mrmw.c.
#define EHCA_INDEX_MASK (EHCA_MAP_ENTRIES - 1) |
Definition at line 70 of file ehca_mrmw.c.
#define EHCA_INVAL_ADDR 0xFFFFFFFFFFFFFFFFULL |
Definition at line 63 of file ehca_mrmw.c.
#define EHCA_MAP_ENTRIES (1 << EHCA_DIR_INDEX_SHIFT) |
Definition at line 66 of file ehca_mrmw.c.
#define EHCA_MR_PGSHIFT16M 24 |
Definition at line 102 of file ehca_mrmw.c.
#define EHCA_MR_PGSHIFT1M 20 |
Definition at line 101 of file ehca_mrmw.c.
#define EHCA_MR_PGSHIFT4K 12 |
Definition at line 99 of file ehca_mrmw.c.
#define EHCA_MR_PGSHIFT64K 16 |
Definition at line 100 of file ehca_mrmw.c.
#define EHCA_SECTSHIFT SECTION_SIZE_BITS |
Definition at line 58 of file ehca_mrmw.c.
#define EHCA_SECTSIZE (1UL << EHCA_SECTSHIFT) |
Definition at line 59 of file ehca_mrmw.c.
#define EHCA_TOP_INDEX_SHIFT (EHCA_DIR_INDEX_SHIFT * 2) |
Definition at line 65 of file ehca_mrmw.c.
#define EHCA_TOP_MAP_SIZE (0x10000) /* currently fixed map size */ |
Definition at line 67 of file ehca_mrmw.c.
#define MAX_RPAGES 512 |
Definition at line 55 of file ehca_mrmw.c.
Definition at line 51 of file ehca_mrmw.c.
enum ehca_mr_pgsize |
Definition at line 92 of file ehca_mrmw.c.
|
read |
Definition at line 765 of file ehca_mrmw.c.
Definition at line 731 of file ehca_mrmw.c.
Definition at line 2306 of file ehca_mrmw.c.
Definition at line 2452 of file ehca_mrmw.c.
Definition at line 981 of file ehca_mrmw.c.
Definition at line 743 of file ehca_mrmw.c.
Definition at line 1729 of file ehca_mrmw.c.
Definition at line 644 of file ehca_mrmw.c.
Definition at line 2346 of file ehca_mrmw.c.
Definition at line 1821 of file ehca_mrmw.c.
Definition at line 156 of file ehca_mrmw.c.
Definition at line 2286 of file ehca_mrmw.c.
Definition at line 855 of file ehca_mrmw.c.
int ehca_mr_chk_buf_and_calc_size | ( | struct ib_phys_buf * | phys_buf_array, |
int | num_phys_buf, | ||
u64 * | iova_start, | ||
u64 * | size | ||
) |
Definition at line 1769 of file ehca_mrmw.c.
Definition at line 2271 of file ehca_mrmw.c.
Definition at line 2202 of file ehca_mrmw.c.
Definition at line 2217 of file ehca_mrmw.c.
Definition at line 2247 of file ehca_mrmw.c.
Definition at line 2236 of file ehca_mrmw.c.
int ehca_query_mr | ( | struct ib_mr * | mr, |
struct ib_mr_attr * | mr_attr | ||
) |
Definition at line 597 of file ehca_mrmw.c.
int ehca_reg_internal_maxmr | ( | struct ehca_shca * | shca, |
struct ehca_pd * | e_pd, | ||
struct ehca_mr ** | e_maxmr | ||
) |
Definition at line 1609 of file ehca_mrmw.c.
int ehca_reg_maxmr | ( | struct ehca_shca * | shca, |
struct ehca_mr * | e_newmr, | ||
u64 * | iova_start, | ||
int | acl, | ||
struct ehca_pd * | e_pd, | ||
u32 * | lkey, | ||
u32 * | rkey | ||
) |
Definition at line 1687 of file ehca_mrmw.c.
int ehca_reg_mr | ( | struct ehca_shca * | shca, |
struct ehca_mr * | e_mr, | ||
u64 * | iova_start, | ||
u64 | size, | ||
int | acl, | ||
struct ehca_pd * | e_pd, | ||
struct ehca_mr_pginfo * | pginfo, | ||
u32 * | lkey, | ||
u32 * | rkey, | ||
enum ehca_reg_type | reg_type | ||
) |
Definition at line 1021 of file ehca_mrmw.c.
int ehca_reg_mr_rpages | ( | struct ehca_shca * | shca, |
struct ehca_mr * | e_mr, | ||
struct ehca_mr_pginfo * | pginfo | ||
) |
Definition at line 1099 of file ehca_mrmw.c.
|
read |
Definition at line 199 of file ehca_mrmw.c.
int ehca_reg_smr | ( | struct ehca_shca * | shca, |
struct ehca_mr * | e_origmr, | ||
struct ehca_mr * | e_newmr, | ||
u64 * | iova_start, | ||
int | acl, | ||
struct ehca_pd * | e_pd, | ||
u32 * | lkey, | ||
u32 * | rkey | ||
) |
Definition at line 1471 of file ehca_mrmw.c.
|
read |
Definition at line 313 of file ehca_mrmw.c.
int ehca_rereg_mr | ( | struct ehca_shca * | shca, |
struct ehca_mr * | e_mr, | ||
u64 * | iova_start, | ||
u64 | size, | ||
int | acl, | ||
struct ehca_pd * | e_pd, | ||
struct ehca_mr_pginfo * | pginfo, | ||
u32 * | lkey, | ||
u32 * | rkey | ||
) |
Definition at line 1288 of file ehca_mrmw.c.
|
inline |
Definition at line 1197 of file ehca_mrmw.c.
int ehca_rereg_phys_mr | ( | struct ib_mr * | mr, |
int | mr_rereg_mask, | ||
struct ib_pd * | pd, | ||
struct ib_phys_buf * | phys_buf_array, | ||
int | num_phys_buf, | ||
int | mr_access_flags, | ||
u64 * | iova_start | ||
) |
Definition at line 443 of file ehca_mrmw.c.
int ehca_set_pagebuf | ( | struct ehca_mr_pginfo * | pginfo, |
u32 | number, | ||
u64 * | kpage | ||
) |
Definition at line 2170 of file ehca_mrmw.c.
Definition at line 923 of file ehca_mrmw.c.
Definition at line 1383 of file ehca_mrmw.c.
struct ib_dma_mapping_ops ehca_dma_mapping_ops |
Definition at line 2645 of file ehca_mrmw.c.