Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
icm.h File Reference
#include <linux/list.h>
#include <linux/pci.h>
#include <linux/mutex.h>

Go to the source code of this file.

Data Structures

struct  mlx4_icm_chunk
 
struct  mlx4_icm
 
struct  mlx4_icm_iter
 

Macros

#define MLX4_ICM_CHUNK_LEN
 

Enumerations

enum  { MLX4_ICM_PAGE_SHIFT = 12, MLX4_ICM_PAGE_SIZE = 1 << MLX4_ICM_PAGE_SHIFT }
 

Functions

struct mlx4_icmmlx4_alloc_icm (struct mlx4_dev *dev, int npages, gfp_t gfp_mask, int coherent)
 
void mlx4_free_icm (struct mlx4_dev *dev, struct mlx4_icm *icm, int coherent)
 
int mlx4_table_get (struct mlx4_dev *dev, struct mlx4_icm_table *table, u32 obj)
 
void mlx4_table_put (struct mlx4_dev *dev, struct mlx4_icm_table *table, u32 obj)
 
int mlx4_table_get_range (struct mlx4_dev *dev, struct mlx4_icm_table *table, u32 start, u32 end)
 
void mlx4_table_put_range (struct mlx4_dev *dev, struct mlx4_icm_table *table, u32 start, u32 end)
 
int mlx4_init_icm_table (struct mlx4_dev *dev, struct mlx4_icm_table *table, u64 virt, int obj_size, u32 nobj, int reserved, int use_lowmem, int use_coherent)
 
void mlx4_cleanup_icm_table (struct mlx4_dev *dev, struct mlx4_icm_table *table)
 
voidmlx4_table_find (struct mlx4_icm_table *table, u32 obj, dma_addr_t *dma_handle)
 
int mlx4_MAP_ICM_AUX (struct mlx4_dev *dev, struct mlx4_icm *icm)
 
int mlx4_UNMAP_ICM_AUX (struct mlx4_dev *dev)
 

Macro Definition Documentation

#define MLX4_ICM_CHUNK_LEN
Value:
((256 - sizeof (struct list_head) - 2 * sizeof (int)) / \
(sizeof (struct scatterlist)))

Definition at line 41 of file icm.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
MLX4_ICM_PAGE_SHIFT 
MLX4_ICM_PAGE_SIZE 

Definition at line 45 of file icm.h.

Function Documentation

struct mlx4_icm* mlx4_alloc_icm ( struct mlx4_dev dev,
int  npages,
gfp_t  gfp_mask,
int  coherent 
)
read

Definition at line 122 of file icm.c.

void mlx4_cleanup_icm_table ( struct mlx4_dev dev,
struct mlx4_icm_table table 
)

Definition at line 430 of file icm.c.

void mlx4_free_icm ( struct mlx4_dev dev,
struct mlx4_icm icm,
int  coherent 
)

Definition at line 77 of file icm.c.

int mlx4_init_icm_table ( struct mlx4_dev dev,
struct mlx4_icm_table table,
u64  virt,
int  obj_size,
u32  nobj,
int  reserved,
int  use_lowmem,
int  use_coherent 
)

Definition at line 366 of file icm.c.

int mlx4_MAP_ICM_AUX ( struct mlx4_dev dev,
struct mlx4_icm icm 
)

Definition at line 219 of file icm.c.

void* mlx4_table_find ( struct mlx4_icm_table table,
u32  obj,
dma_addr_t dma_handle 
)

Definition at line 286 of file icm.c.

int mlx4_table_get ( struct mlx4_dev dev,
struct mlx4_icm_table table,
u32  obj 
)

Definition at line 230 of file icm.c.

int mlx4_table_get_range ( struct mlx4_dev dev,
struct mlx4_icm_table table,
u32  start,
u32  end 
)

Definition at line 333 of file icm.c.

void mlx4_table_put ( struct mlx4_dev dev,
struct mlx4_icm_table table,
u32  obj 
)

Definition at line 266 of file icm.c.

void mlx4_table_put_range ( struct mlx4_dev dev,
struct mlx4_icm_table table,
u32  start,
u32  end 
)

Definition at line 357 of file icm.c.

int mlx4_UNMAP_ICM_AUX ( struct mlx4_dev dev)

Definition at line 224 of file icm.c.