Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Enumerations | Functions
icm.c File Reference
#include <linux/errno.h>
#include <linux/mm.h>
#include <linux/scatterlist.h>
#include <linux/slab.h>
#include <linux/mlx4/cmd.h>
#include "mlx4.h"
#include "icm.h"
#include "fw.h"

Go to the source code of this file.

Enumerations

enum  { MLX4_ICM_ALLOC_SIZE = 1 << 18, MLX4_TABLE_CHUNK_SIZE = 1 << 18 }
 

Functions

void mlx4_free_icm (struct mlx4_dev *dev, struct mlx4_icm *icm, int coherent)
 
struct mlx4_icmmlx4_alloc_icm (struct mlx4_dev *dev, int npages, gfp_t gfp_mask, int coherent)
 
int mlx4_MAP_ICM_AUX (struct mlx4_dev *dev, struct mlx4_icm *icm)
 
int mlx4_UNMAP_ICM_AUX (struct mlx4_dev *dev)
 
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)
 
voidmlx4_table_find (struct mlx4_icm_table *table, u32 obj, dma_addr_t *dma_handle)
 
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)
 

Enumeration Type Documentation

anonymous enum
Enumerator:
MLX4_ICM_ALLOC_SIZE 
MLX4_TABLE_CHUNK_SIZE 

Definition at line 49 of file icm.c.

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.