Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions
eq.c File Reference
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <linux/export.h>
#include <linux/mm.h>
#include <linux/dma-mapping.h>
#include <linux/mlx4/cmd.h>
#include <linux/cpu_rmap.h>
#include "mlx4.h"
#include "fw.h"

Go to the source code of this file.

Macros

#define MLX4_EQ_STATUS_OK   ( 0 << 28)
 
#define MLX4_EQ_STATUS_WRITE_FAIL   (10 << 28)
 
#define MLX4_EQ_OWNER_SW   ( 0 << 24)
 
#define MLX4_EQ_OWNER_HW   ( 1 << 24)
 
#define MLX4_EQ_FLAG_EC   ( 1 << 18)
 
#define MLX4_EQ_FLAG_OI   ( 1 << 17)
 
#define MLX4_EQ_STATE_ARMED   ( 9 << 8)
 
#define MLX4_EQ_STATE_FIRED   (10 << 8)
 
#define MLX4_EQ_STATE_ALWAYS_ARMED   (11 << 8)
 
#define MLX4_ASYNC_EVENT_MASK
 

Enumerations

enum  { MLX4_IRQNAME_SIZE = 32 }
 
enum  { MLX4_NUM_ASYNC_EQE = 0x100, MLX4_NUM_SPARE_EQE = 0x80, MLX4_EQ_ENTRY_SIZE = 0x20 }
 

Functions

void mlx4_gen_slave_eqe (struct work_struct *work)
 
int mlx4_gen_pkey_eqe (struct mlx4_dev *dev, int slave, u8 port)
 
 EXPORT_SYMBOL (mlx4_gen_pkey_eqe)
 
int mlx4_gen_guid_change_eqe (struct mlx4_dev *dev, int slave, u8 port)
 
 EXPORT_SYMBOL (mlx4_gen_guid_change_eqe)
 
int mlx4_gen_port_state_change_eqe (struct mlx4_dev *dev, int slave, u8 port, u8 port_subtype_change)
 
 EXPORT_SYMBOL (mlx4_gen_port_state_change_eqe)
 
enum slave_port_state mlx4_get_slave_port_state (struct mlx4_dev *dev, int slave, u8 port)
 
 EXPORT_SYMBOL (mlx4_get_slave_port_state)
 
int set_and_calc_slave_port_state (struct mlx4_dev *dev, int slave, u8 port, int event, enum slave_port_gen_event *gen_event)
 
 EXPORT_SYMBOL (set_and_calc_slave_port_state)
 
int mlx4_gen_slaves_port_mgt_ev (struct mlx4_dev *dev, u8 port, int attr)
 
 EXPORT_SYMBOL (mlx4_gen_slaves_port_mgt_ev)
 
void mlx4_master_handle_slave_flr (struct work_struct *work)
 
int mlx4_MAP_EQ_wrapper (struct mlx4_dev *dev, int slave, struct mlx4_vhcr *vhcr, struct mlx4_cmd_mailbox *inbox, struct mlx4_cmd_mailbox *outbox, struct mlx4_cmd_info *cmd)
 
int mlx4_alloc_eq_table (struct mlx4_dev *dev)
 
void mlx4_free_eq_table (struct mlx4_dev *dev)
 
int mlx4_init_eq_table (struct mlx4_dev *dev)
 
void mlx4_cleanup_eq_table (struct mlx4_dev *dev)
 
int mlx4_test_interrupts (struct mlx4_dev *dev)
 
 EXPORT_SYMBOL (mlx4_test_interrupts)
 
int mlx4_assign_eq (struct mlx4_dev *dev, char *name, struct cpu_rmap *rmap, int *vector)
 
 EXPORT_SYMBOL (mlx4_assign_eq)
 
void mlx4_release_eq (struct mlx4_dev *dev, int vec)
 
 EXPORT_SYMBOL (mlx4_release_eq)
 

Macro Definition Documentation

#define MLX4_ASYNC_EVENT_MASK
#define MLX4_EQ_FLAG_EC   ( 1 << 18)

Definition at line 61 of file eq.c.

#define MLX4_EQ_FLAG_OI   ( 1 << 17)

Definition at line 62 of file eq.c.

#define MLX4_EQ_OWNER_HW   ( 1 << 24)

Definition at line 60 of file eq.c.

#define MLX4_EQ_OWNER_SW   ( 0 << 24)

Definition at line 59 of file eq.c.

#define MLX4_EQ_STATE_ALWAYS_ARMED   (11 << 8)

Definition at line 65 of file eq.c.

#define MLX4_EQ_STATE_ARMED   ( 9 << 8)

Definition at line 63 of file eq.c.

#define MLX4_EQ_STATE_FIRED   (10 << 8)

Definition at line 64 of file eq.c.

#define MLX4_EQ_STATUS_OK   ( 0 << 28)

Definition at line 57 of file eq.c.

#define MLX4_EQ_STATUS_WRITE_FAIL   (10 << 28)

Definition at line 58 of file eq.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
MLX4_IRQNAME_SIZE 

Definition at line 47 of file eq.c.

anonymous enum
Enumerator:
MLX4_NUM_ASYNC_EQE 
MLX4_NUM_SPARE_EQE 
MLX4_EQ_ENTRY_SIZE 

Definition at line 51 of file eq.c.

Function Documentation

EXPORT_SYMBOL ( mlx4_gen_pkey_eqe  )
EXPORT_SYMBOL ( mlx4_gen_guid_change_eqe  )
EXPORT_SYMBOL ( mlx4_gen_port_state_change_eqe  )
EXPORT_SYMBOL ( mlx4_get_slave_port_state  )
EXPORT_SYMBOL ( set_and_calc_slave_port_state  )
EXPORT_SYMBOL ( mlx4_gen_slaves_port_mgt_ev  )
EXPORT_SYMBOL ( mlx4_test_interrupts  )
EXPORT_SYMBOL ( mlx4_assign_eq  )
EXPORT_SYMBOL ( mlx4_release_eq  )
int mlx4_alloc_eq_table ( struct mlx4_dev dev)

Definition at line 1055 of file eq.c.

int mlx4_assign_eq ( struct mlx4_dev dev,
char name,
struct cpu_rmap rmap,
int vector 
)

Definition at line 1291 of file eq.c.

void mlx4_cleanup_eq_table ( struct mlx4_dev dev)

Definition at line 1225 of file eq.c.

void mlx4_free_eq_table ( struct mlx4_dev dev)

Definition at line 1067 of file eq.c.

int mlx4_gen_guid_change_eqe ( struct mlx4_dev dev,
int  slave,
u8  port 
)

Definition at line 227 of file eq.c.

int mlx4_gen_pkey_eqe ( struct mlx4_dev dev,
int  slave,
u8  port 
)

Definition at line 207 of file eq.c.

int mlx4_gen_port_state_change_eqe ( struct mlx4_dev dev,
int  slave,
u8  port,
u8  port_subtype_change 
)

Definition at line 244 of file eq.c.

void mlx4_gen_slave_eqe ( struct work_struct work)

Definition at line 125 of file eq.c.

int mlx4_gen_slaves_port_mgt_ev ( struct mlx4_dev dev,
u8  port,
int  attr 
)

Definition at line 374 of file eq.c.

enum slave_port_state mlx4_get_slave_port_state ( struct mlx4_dev dev,
int  slave,
u8  port 
)

Definition at line 264 of file eq.c.

int mlx4_init_eq_table ( struct mlx4_dev dev)

Definition at line 1072 of file eq.c.

int mlx4_MAP_EQ_wrapper ( struct mlx4_dev dev,
int  slave,
struct mlx4_vhcr vhcr,
struct mlx4_cmd_mailbox inbox,
struct mlx4_cmd_mailbox outbox,
struct mlx4_cmd_info cmd 
)

Definition at line 756 of file eq.c.

void mlx4_master_handle_slave_flr ( struct work_struct work)

Definition at line 391 of file eq.c.

void mlx4_release_eq ( struct mlx4_dev dev,
int  vec 
)

Definition at line 1340 of file eq.c.

int mlx4_test_interrupts ( struct mlx4_dev dev)

Definition at line 1251 of file eq.c.

int set_and_calc_slave_port_state ( struct mlx4_dev dev,
int  slave,
u8  port,
int  event,
enum slave_port_gen_event gen_event 
)

Definition at line 310 of file eq.c.