Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
mlx4.h File Reference
#include <linux/mutex.h>
#include <linux/radix-tree.h>
#include <linux/rbtree.h>
#include <linux/timer.h>
#include <linux/semaphore.h>
#include <linux/workqueue.h>
#include <linux/mlx4/device.h>
#include <linux/mlx4/driver.h>
#include <linux/mlx4/doorbell.h>
#include <linux/mlx4/cmd.h>

Go to the source code of this file.

Data Structures

struct  mlx4_set_port_prio2tc_context
 
struct  mlx4_port_scheduler_tc_cfg_be
 
struct  mlx4_set_port_scheduler_context
 
struct  mlx4_vhcr
 
struct  mlx4_vhcr_cmd
 
struct  mlx4_cmd_info
 
struct  mlx4_bitmap
 
struct  mlx4_buddy
 
struct  mlx4_icm_table
 
struct  mlx4_mpt_entry
 
struct  mlx4_eq_context
 
struct  mlx4_cq_context
 
struct  mlx4_srq_context
 
struct  mlx4_eq
 
struct  mlx4_slave_eqe
 
struct  mlx4_slave_event_eq_info
 
struct  mlx4_profile
 
struct  mlx4_fw
 
struct  mlx4_comm
 
struct  mlx4_vlan_fltr
 
struct  mlx4_mcast_entry
 
struct  mlx4_promisc_qp
 
struct  mlx4_steer_index
 
struct  mlx4_slave_state
 
struct  slave_list
 
struct  mlx4_resource_tracker
 
struct  mlx4_slave_event_eq
 
struct  mlx4_master_qp0_state
 
struct  mlx4_mfunc_master_ctx
 
struct  mlx4_mfunc
 
struct  mlx4_cmd
 
struct  mlx4_uar_table
 
struct  mlx4_mr_table
 
struct  mlx4_cq_table
 
struct  mlx4_eq_table
 
struct  mlx4_srq_table
 
struct  mlx4_qp_table
 
struct  mlx4_mcg_table
 
struct  mlx4_catas_err
 
struct  mlx4_mac_table
 
struct  mlx4_vlan_table
 
struct  mlx4_set_port_general_context
 
struct  mlx4_set_port_rqp_calc_context
 
struct  mlx4_mac_entry
 
struct  mlx4_port_info
 
struct  mlx4_sense
 
struct  mlx4_msix_ctl
 
struct  mlx4_steer
 
struct  mlx4_net_trans_rule_hw_ctrl
 
struct  mlx4_net_trans_rule_hw_ib
 
struct  mlx4_net_trans_rule_hw_eth
 
struct  mlx4_net_trans_rule_hw_tcp_udp
 
struct  mlx4_net_trans_rule_hw_ipv4
 
struct  _rule_hw
 
struct  mlx4_priv
 

Macros

#define DRV_NAME   "mlx4_core"
 
#define PFX   DRV_NAME ": "
 
#define DRV_VERSION   "1.1"
 
#define DRV_RELDATE   "Dec, 2011"
 
#define MLX4_FS_UDP_UC_EN   (1 << 1)
 
#define MLX4_FS_TCP_UC_EN   (1 << 2)
 
#define MLX4_FS_NUM_OF_L2_ADDR   8
 
#define MLX4_FS_MGM_LOG_ENTRY_SIZE   7
 
#define MLX4_FS_NUM_MCG   (1 << 17)
 
#define MLX4_NUM_UP   8
 
#define MLX4_NUM_TC   8
 
#define MLX4_RATELIMIT_UNITS   3 /* 100 Mbps */
 
#define MLX4_RATELIMIT_DEFAULT   0xffff
 
#define MLX4_COMM_TIME   10000
 
#define MLX4_DELAY_RESET_SLAVE   0xbbbbbbb
 
#define NUM_OF_RESET_RETRIES   10
 
#define SLEEP_TIME_IN_RESET   (2 * 1000)
 
#define mlx4_debug_level   (0)
 
#define mlx4_dbg(mdev, format, arg...)
 
#define mlx4_err(mdev, format, arg...)   dev_err(&mdev->pdev->dev, format, ##arg)
 
#define mlx4_info(mdev, format, arg...)   dev_info(&mdev->pdev->dev, format, ##arg)
 
#define mlx4_warn(mdev, format, arg...)   dev_warn(&mdev->pdev->dev, format, ##arg)
 
#define MLX4_MAX_NUM_SLAVES   (MLX4_MAX_NUM_PF + MLX4_MAX_NUM_VF)
 
#define ALL_SLAVES   0xff
 
#define VLAN_FLTR_SIZE   128
 
#define MLX4_EVENT_TYPES_NUM   64
 
#define SLAVE_EVENT_EQ_SIZE   128
 
#define MLX4_MAX_MAC_NUM   128
 
#define MLX4_MAC_TABLE_SIZE   (MLX4_MAX_MAC_NUM << 3)
 
#define MLX4_MAX_VLAN_NUM   128
 
#define MLX4_VLAN_TABLE_SIZE   (MLX4_MAX_VLAN_NUM << 2)
 
#define SET_PORT_GEN_ALL_VALID   0x7
 
#define SET_PORT_PROMISC_SHIFT   31
 
#define SET_PORT_MC_PROMISC_SHIFT   30
 
#define MLX4_SENSE_RANGE   (HZ * 3)
 
#define NOT_MASKED_PD_BITS   17
 

Enumerations

enum  { MLX4_FS_L2_HASH = 0, MLX4_FS_L2_L3_L4_HASH }
 
enum  {
  MLX4_HCR_BASE = 0x80680, MLX4_HCR_SIZE = 0x0001c, MLX4_CLR_INT_SIZE = 0x00008, MLX4_SLAVE_COMM_BASE = 0x0,
  MLX4_COMM_PAGESIZE = 0x1000
}
 
enum  { MLX4_MAX_MGM_ENTRY_SIZE = 0x1000, MLX4_MAX_QP_PER_MGM = 4 * (MLX4_MAX_MGM_ENTRY_SIZE / 16 - 2), MLX4_MTT_ENTRY_PER_SEG = 8 }
 
enum  { MLX4_NUM_PDS = 1 << 15 }
 
enum  {
  MLX4_CMPT_TYPE_QP = 0, MLX4_CMPT_TYPE_SRQ = 1, MLX4_CMPT_TYPE_CQ = 2, MLX4_CMPT_TYPE_EQ = 3,
  MLX4_CMPT_NUM_TYPE
}
 
enum  { MLX4_CMPT_SHIFT = 24, MLX4_NUM_CMPTS = MLX4_CMPT_NUM_TYPE << MLX4_CMPT_SHIFT }
 
enum  mlx4_mr_state { MLX4_MR_DISABLED = 0, MLX4_MR_EN_HW, MLX4_MR_EN_SW }
 
enum  {
  MLX4_COMM_CMD_RESET, MLX4_COMM_CMD_VHCR0, MLX4_COMM_CMD_VHCR1, MLX4_COMM_CMD_VHCR2,
  MLX4_COMM_CMD_VHCR_EN, MLX4_COMM_CMD_VHCR_POST, MLX4_COMM_CMD_FLR = 254
}
 
enum  mlx4_resource {
  RES_QP, RES_CQ, RES_SRQ, RES_XRCD,
  RES_MPT, RES_MTT, RES_MAC, RES_VLAN,
  RES_EQ, RES_COUNTER, RES_FS_RULE, MLX4_NUM_OF_RESOURCE_TYPE
}
 
enum  mlx4_alloc_mode { RES_OP_RESERVE, RES_OP_RESERVE_AND_MAP, RES_OP_MAP_ICM }
 
enum  mlx4_res_tracker_free_type { RES_TR_FREE_ALL, RES_TR_FREE_SLAVES_ONLY, RES_TR_FREE_STRUCTS_ONLY }
 
enum  { MLX4_MCAST_CONFIG = 0, MLX4_MCAST_DISABLE = 1, MLX4_MCAST_ENABLE = 2 }
 
enum  { MCAST_DIRECT_ONLY = 0, MCAST_DIRECT = 1, MCAST_DEFAULT = 2 }
 
enum  { MLX4_PCI_DEV_IS_VF = 1 << 0, MLX4_PCI_DEV_FORCE_SENSE_PORT = 1 << 1 }
 

Functions

u32 mlx4_bitmap_alloc (struct mlx4_bitmap *bitmap)
 
void mlx4_bitmap_free (struct mlx4_bitmap *bitmap, u32 obj)
 
u32 mlx4_bitmap_alloc_range (struct mlx4_bitmap *bitmap, int cnt, int align)
 
void mlx4_bitmap_free_range (struct mlx4_bitmap *bitmap, u32 obj, int cnt)
 
u32 mlx4_bitmap_avail (struct mlx4_bitmap *bitmap)
 
int mlx4_bitmap_init (struct mlx4_bitmap *bitmap, u32 num, u32 mask, u32 reserved_bot, u32 resetrved_top)
 
void mlx4_bitmap_cleanup (struct mlx4_bitmap *bitmap)
 
int mlx4_reset (struct mlx4_dev *dev)
 
int mlx4_alloc_eq_table (struct mlx4_dev *dev)
 
void mlx4_free_eq_table (struct mlx4_dev *dev)
 
int mlx4_init_pd_table (struct mlx4_dev *dev)
 
int mlx4_init_xrcd_table (struct mlx4_dev *dev)
 
int mlx4_init_uar_table (struct mlx4_dev *dev)
 
int mlx4_init_mr_table (struct mlx4_dev *dev)
 
int mlx4_init_eq_table (struct mlx4_dev *dev)
 
int mlx4_init_cq_table (struct mlx4_dev *dev)
 
int mlx4_init_qp_table (struct mlx4_dev *dev)
 
int mlx4_init_srq_table (struct mlx4_dev *dev)
 
int mlx4_init_mcg_table (struct mlx4_dev *dev)
 
void mlx4_cleanup_pd_table (struct mlx4_dev *dev)
 
void mlx4_cleanup_xrcd_table (struct mlx4_dev *dev)
 
void mlx4_cleanup_uar_table (struct mlx4_dev *dev)
 
void mlx4_cleanup_mr_table (struct mlx4_dev *dev)
 
void mlx4_cleanup_eq_table (struct mlx4_dev *dev)
 
void mlx4_cleanup_cq_table (struct mlx4_dev *dev)
 
void mlx4_cleanup_qp_table (struct mlx4_dev *dev)
 
void mlx4_cleanup_srq_table (struct mlx4_dev *dev)
 
void mlx4_cleanup_mcg_table (struct mlx4_dev *dev)
 
int __mlx4_qp_alloc_icm (struct mlx4_dev *dev, int qpn)
 
void __mlx4_qp_free_icm (struct mlx4_dev *dev, int qpn)
 
int __mlx4_cq_alloc_icm (struct mlx4_dev *dev, int *cqn)
 
void __mlx4_cq_free_icm (struct mlx4_dev *dev, int cqn)
 
int __mlx4_srq_alloc_icm (struct mlx4_dev *dev, int *srqn)
 
void __mlx4_srq_free_icm (struct mlx4_dev *dev, int srqn)
 
int __mlx4_mr_reserve (struct mlx4_dev *dev)
 
void __mlx4_mr_release (struct mlx4_dev *dev, u32 index)
 
int __mlx4_mr_alloc_icm (struct mlx4_dev *dev, u32 index)
 
void __mlx4_mr_free_icm (struct mlx4_dev *dev, u32 index)
 
u32 __mlx4_alloc_mtt_range (struct mlx4_dev *dev, int order)
 
void __mlx4_free_mtt_range (struct mlx4_dev *dev, u32 first_seg, int order)
 
int mlx4_WRITE_MTT_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_SYNC_TPT_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_SW2HW_MPT_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_HW2SW_MPT_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_QUERY_MPT_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_SW2HW_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_DMA_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_qp_reserve_range (struct mlx4_dev *dev, int cnt, int align, int *base)
 
void __mlx4_qp_release_range (struct mlx4_dev *dev, int base_qpn, int cnt)
 
int __mlx4_register_mac (struct mlx4_dev *dev, u8 port, u64 mac)
 
void __mlx4_unregister_mac (struct mlx4_dev *dev, u8 port, u64 mac)
 
int __mlx4_replace_mac (struct mlx4_dev *dev, u8 port, int qpn, u64 new_mac)
 
int __mlx4_write_mtt (struct mlx4_dev *dev, struct mlx4_mtt *mtt, int start_index, int npages, u64 *page_list)
 
int __mlx4_counter_alloc (struct mlx4_dev *dev, u32 *idx)
 
void __mlx4_counter_free (struct mlx4_dev *dev, u32 idx)
 
int __mlx4_xrcd_alloc (struct mlx4_dev *dev, u32 *xrcdn)
 
void __mlx4_xrcd_free (struct mlx4_dev *dev, u32 xrcdn)
 
void mlx4_start_catas_poll (struct mlx4_dev *dev)
 
void mlx4_stop_catas_poll (struct mlx4_dev *dev)
 
void mlx4_catas_init (void)
 
int mlx4_restart_one (struct pci_dev *pdev)
 
int mlx4_register_device (struct mlx4_dev *dev)
 
void mlx4_unregister_device (struct mlx4_dev *dev)
 
void mlx4_dispatch_event (struct mlx4_dev *dev, enum mlx4_dev_event type, unsigned long param)
 
u64 mlx4_make_profile (struct mlx4_dev *dev, struct mlx4_profile *request, struct mlx4_dev_cap *dev_cap, struct mlx4_init_hca_param *init_hca)
 
void mlx4_master_comm_channel (struct work_struct *work)
 
void mlx4_gen_slave_eqe (struct work_struct *work)
 
void mlx4_master_handle_slave_flr (struct work_struct *work)
 
int mlx4_ALLOC_RES_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_FREE_RES_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_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_COMM_INT_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_HW2SW_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_QUERY_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_SW2HW_CQ_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_HW2SW_CQ_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_QUERY_CQ_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_MODIFY_CQ_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_SW2HW_SRQ_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_HW2SW_SRQ_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_QUERY_SRQ_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_ARM_SRQ_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_GEN_QP_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_RST2INIT_QP_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_INIT2INIT_QP_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_INIT2RTR_QP_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_RTR2RTS_QP_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_RTS2RTS_QP_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_SQERR2RTS_QP_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_2ERR_QP_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_RTS2SQD_QP_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_SQD2SQD_QP_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_SQD2RTS_QP_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_2RST_QP_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_QUERY_QP_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_GEN_EQE (struct mlx4_dev *dev, int slave, struct mlx4_eqe *eqe)
 
int mlx4_cmd_init (struct mlx4_dev *dev)
 
void mlx4_cmd_cleanup (struct mlx4_dev *dev)
 
int mlx4_multi_func_init (struct mlx4_dev *dev)
 
void mlx4_multi_func_cleanup (struct mlx4_dev *dev)
 
void mlx4_cmd_event (struct mlx4_dev *dev, u16 token, u8 status, u64 out_param)
 
int mlx4_cmd_use_events (struct mlx4_dev *dev)
 
void mlx4_cmd_use_polling (struct mlx4_dev *dev)
 
int mlx4_comm_cmd (struct mlx4_dev *dev, u8 cmd, u16 param, unsigned long timeout)
 
void mlx4_cq_completion (struct mlx4_dev *dev, u32 cqn)
 
void mlx4_cq_event (struct mlx4_dev *dev, u32 cqn, int event_type)
 
void mlx4_qp_event (struct mlx4_dev *dev, u32 qpn, int event_type)
 
void mlx4_srq_event (struct mlx4_dev *dev, u32 srqn, int event_type)
 
void mlx4_handle_catas_err (struct mlx4_dev *dev)
 
int mlx4_SENSE_PORT (struct mlx4_dev *dev, int port, enum mlx4_port_type *type)
 
void mlx4_do_sense_ports (struct mlx4_dev *dev, enum mlx4_port_type *stype, enum mlx4_port_type *defaults)
 
void mlx4_start_sense (struct mlx4_dev *dev)
 
void mlx4_stop_sense (struct mlx4_dev *dev)
 
void mlx4_sense_init (struct mlx4_dev *dev)
 
int mlx4_check_port_params (struct mlx4_dev *dev, enum mlx4_port_type *port_type)
 
int mlx4_change_port_types (struct mlx4_dev *dev, enum mlx4_port_type *port_types)
 
void mlx4_init_mac_table (struct mlx4_dev *dev, struct mlx4_mac_table *table)
 
void mlx4_init_vlan_table (struct mlx4_dev *dev, struct mlx4_vlan_table *table)
 
int mlx4_SET_PORT (struct mlx4_dev *dev, u8 port, int pkey_tbl_sz)
 
int mlx4_get_slave_from_resource_id (struct mlx4_dev *dev, enum mlx4_resource resource_type, u64 resource_id, int *slave)
 
void mlx4_delete_all_resources_for_slave (struct mlx4_dev *dev, int slave_id)
 
int mlx4_init_resource_tracker (struct mlx4_dev *dev)
 
void mlx4_free_resource_tracker (struct mlx4_dev *dev, enum mlx4_res_tracker_free_type type)
 
int mlx4_QUERY_FW_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_SET_PORT_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_INIT_PORT_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_CLOSE_PORT_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_QUERY_DEV_CAP_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_QUERY_PORT_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_get_port_ib_caps (struct mlx4_dev *dev, u8 port, __be32 *caps)
 
int mlx4_get_slave_pkey_gid_tbl_len (struct mlx4_dev *dev, u8 port, int *gid_tbl_len, int *pkey_tbl_len)
 
int mlx4_QP_ATTACH_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_PROMISC_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_qp_detach_common (struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16], enum mlx4_protocol prot, enum mlx4_steer_type steer)
 
int mlx4_qp_attach_common (struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16], int block_mcast_loopback, enum mlx4_protocol prot, enum mlx4_steer_type steer)
 
int mlx4_SET_MCAST_FLTR_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_SET_VLAN_FLTR_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_common_set_vlan_fltr (struct mlx4_dev *dev, int function, int port, void *buf)
 
int mlx4_common_dump_eth_stats (struct mlx4_dev *dev, int slave, u32 in_mod, struct mlx4_cmd_mailbox *outbox)
 
int mlx4_DUMP_ETH_STATS_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_PKEY_TABLE_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_QUERY_IF_STAT_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_QP_FLOW_STEERING_ATTACH_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_QP_FLOW_STEERING_DETACH_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_get_mgm_entry_size (struct mlx4_dev *dev)
 
int mlx4_get_qp_per_mgm (struct mlx4_dev *dev)
 

Variables

int mlx4_log_num_mgm_entry_size
 
int log_mtts_per_seg
 
struct mlx4_mpt_entry __packed
 
struct workqueue_structmlx4_wq
 

Macro Definition Documentation

#define ALL_SLAVES   0xff

Definition at line 236 of file mlx4.h.

#define DRV_NAME   "mlx4_core"

Definition at line 52 of file mlx4.h.

#define DRV_RELDATE   "Dec, 2011"

Definition at line 55 of file mlx4.h.

#define DRV_VERSION   "1.1"

Definition at line 54 of file mlx4.h.

#define MLX4_COMM_TIME   10000

Definition at line 125 of file mlx4.h.

#define mlx4_dbg (   mdev,
  format,
  arg... 
)
Value:
do { \
dev_printk(KERN_DEBUG, &mdev->pdev->dev, format, ##arg); \
} while (0)

Definition at line 219 of file mlx4.h.

#define mlx4_debug_level   (0)

Definition at line 216 of file mlx4.h.

#define MLX4_DELAY_RESET_SLAVE   0xbbbbbbb

Definition at line 137 of file mlx4.h.

#define mlx4_err (   mdev,
  format,
  arg... 
)    dev_err(&mdev->pdev->dev, format, ##arg)

Definition at line 225 of file mlx4.h.

#define MLX4_EVENT_TYPES_NUM   64

Definition at line 433 of file mlx4.h.

#define MLX4_FS_MGM_LOG_ENTRY_SIZE   7

Definition at line 60 of file mlx4.h.

#define MLX4_FS_NUM_MCG   (1 << 17)

Definition at line 61 of file mlx4.h.

#define MLX4_FS_NUM_OF_L2_ADDR   8

Definition at line 59 of file mlx4.h.

#define MLX4_FS_TCP_UC_EN   (1 << 2)

Definition at line 58 of file mlx4.h.

#define MLX4_FS_UDP_UC_EN   (1 << 1)

Definition at line 57 of file mlx4.h.

#define mlx4_info (   mdev,
  format,
  arg... 
)    dev_info(&mdev->pdev->dev, format, ##arg)

Definition at line 227 of file mlx4.h.

#define MLX4_MAC_TABLE_SIZE   (MLX4_MAX_MAC_NUM << 3)

Definition at line 596 of file mlx4.h.

#define MLX4_MAX_MAC_NUM   128

Definition at line 595 of file mlx4.h.

#define MLX4_MAX_NUM_SLAVES   (MLX4_MAX_NUM_PF + MLX4_MAX_NUM_VF)

Definition at line 235 of file mlx4.h.

#define MLX4_MAX_VLAN_NUM   128

Definition at line 606 of file mlx4.h.

#define MLX4_NUM_TC   8

Definition at line 69 of file mlx4.h.

#define MLX4_NUM_UP   8

Definition at line 68 of file mlx4.h.

#define MLX4_RATELIMIT_DEFAULT   0xffff

Definition at line 71 of file mlx4.h.

#define MLX4_RATELIMIT_UNITS   3 /* 100 Mbps */

Definition at line 70 of file mlx4.h.

#define MLX4_SENSE_RANGE   (HZ * 3)

Definition at line 829 of file mlx4.h.

#define MLX4_VLAN_TABLE_SIZE   (MLX4_MAX_VLAN_NUM << 2)

Definition at line 607 of file mlx4.h.

#define mlx4_warn (   mdev,
  format,
  arg... 
)    dev_warn(&mdev->pdev->dev, format, ##arg)

Definition at line 229 of file mlx4.h.

#define NOT_MASKED_PD_BITS   17

Definition at line 1250 of file mlx4.h.

#define NUM_OF_RESET_RETRIES   10

Definition at line 139 of file mlx4.h.

#define PFX   DRV_NAME ": "

Definition at line 53 of file mlx4.h.

#define SET_PORT_GEN_ALL_VALID   0x7

Definition at line 617 of file mlx4.h.

#define SET_PORT_MC_PROMISC_SHIFT   30

Definition at line 619 of file mlx4.h.

#define SET_PORT_PROMISC_SHIFT   31

Definition at line 618 of file mlx4.h.

#define SLAVE_EVENT_EQ_SIZE   128

Definition at line 471 of file mlx4.h.

#define SLEEP_TIME_IN_RESET   (2 * 1000)

Definition at line 140 of file mlx4.h.

#define VLAN_FLTR_SIZE   128

Definition at line 411 of file mlx4.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
MLX4_FS_L2_HASH 
MLX4_FS_L2_L3_L4_HASH 

Definition at line 63 of file mlx4.h.

anonymous enum
Enumerator:
MLX4_HCR_BASE 
MLX4_HCR_SIZE 
MLX4_CLR_INT_SIZE 
MLX4_SLAVE_COMM_BASE 
MLX4_COMM_PAGESIZE 

Definition at line 88 of file mlx4.h.

anonymous enum
Enumerator:
MLX4_MAX_MGM_ENTRY_SIZE 
MLX4_MAX_QP_PER_MGM 
MLX4_MTT_ENTRY_PER_SEG 

Definition at line 96 of file mlx4.h.

anonymous enum
Enumerator:
MLX4_NUM_PDS 

Definition at line 102 of file mlx4.h.

anonymous enum
Enumerator:
MLX4_CMPT_TYPE_QP 
MLX4_CMPT_TYPE_SRQ 
MLX4_CMPT_TYPE_CQ 
MLX4_CMPT_TYPE_EQ 
MLX4_CMPT_NUM_TYPE 

Definition at line 106 of file mlx4.h.

anonymous enum
Enumerator:
MLX4_CMPT_SHIFT 
MLX4_NUM_CMPTS 

Definition at line 114 of file mlx4.h.

anonymous enum
Enumerator:
MLX4_COMM_CMD_RESET 
MLX4_COMM_CMD_VHCR0 
MLX4_COMM_CMD_VHCR1 
MLX4_COMM_CMD_VHCR2 
MLX4_COMM_CMD_VHCR_EN 
MLX4_COMM_CMD_VHCR_POST 
MLX4_COMM_CMD_FLR 

Definition at line 126 of file mlx4.h.

anonymous enum
Enumerator:
MLX4_MCAST_CONFIG 
MLX4_MCAST_DISABLE 
MLX4_MCAST_ENABLE 

Definition at line 405 of file mlx4.h.

anonymous enum
Enumerator:
MCAST_DIRECT_ONLY 
MCAST_DIRECT 
MCAST_DEFAULT 

Definition at line 621 of file mlx4.h.

anonymous enum
Enumerator:
MLX4_PCI_DEV_IS_VF 
MLX4_PCI_DEV_FORCE_SENSE_PORT 

Definition at line 771 of file mlx4.h.

Enumerator:
RES_OP_RESERVE 
RES_OP_RESERVE_AND_MAP 
RES_OP_MAP_ICM 

Definition at line 156 of file mlx4.h.

Enumerator:
MLX4_MR_DISABLED 
MLX4_MR_EN_HW 
MLX4_MR_EN_SW 

Definition at line 119 of file mlx4.h.

Enumerator:
RES_TR_FREE_ALL 
RES_TR_FREE_SLAVES_ONLY 
RES_TR_FREE_STRUCTS_ONLY 

Definition at line 162 of file mlx4.h.

Enumerator:
RES_QP 
RES_CQ 
RES_SRQ 
RES_XRCD 
RES_MPT 
RES_MTT 
RES_MAC 
RES_VLAN 
RES_EQ 
RES_COUNTER 
RES_FS_RULE 
MLX4_NUM_OF_RESOURCE_TYPE 

Definition at line 141 of file mlx4.h.

Function Documentation

u32 __mlx4_alloc_mtt_range ( struct mlx4_dev dev,
int  order 
)

Definition at line 174 of file mr.c.

int __mlx4_counter_alloc ( struct mlx4_dev dev,
u32 idx 
)

Definition at line 1442 of file main.c.

void __mlx4_counter_free ( struct mlx4_dev dev,
u32  idx 
)

Definition at line 1474 of file main.c.

int __mlx4_cq_alloc_icm ( struct mlx4_dev dev,
int cqn 
)

Definition at line 171 of file cq.c.

void __mlx4_cq_free_icm ( struct mlx4_dev dev,
int  cqn 
)

Definition at line 217 of file cq.c.

void __mlx4_free_mtt_range ( struct mlx4_dev dev,
u32  first_seg,
int  order 
)

Definition at line 241 of file mr.c.

int __mlx4_mr_alloc_icm ( struct mlx4_dev dev,
u32  index 
)

Definition at line 382 of file mr.c.

void __mlx4_mr_free_icm ( struct mlx4_dev dev,
u32  index 
)

Definition at line 403 of file mr.c.

void __mlx4_mr_release ( struct mlx4_dev dev,
u32  index 
)

Definition at line 359 of file mr.c.

int __mlx4_mr_reserve ( struct mlx4_dev dev)

Definition at line 338 of file mr.c.

int __mlx4_qp_alloc_icm ( struct mlx4_dev dev,
int  qpn 
)

Definition at line 276 of file qp.c.

void __mlx4_qp_free_icm ( struct mlx4_dev dev,
int  qpn 
)

Definition at line 333 of file qp.c.

void __mlx4_qp_release_range ( struct mlx4_dev dev,
int  base_qpn,
int  cnt 
)

Definition at line 246 of file qp.c.

int __mlx4_qp_reserve_range ( struct mlx4_dev dev,
int  cnt,
int  align,
int base 
)

Definition at line 210 of file qp.c.

int __mlx4_register_mac ( struct mlx4_dev dev,
u8  port,
u64  mac 
)

Definition at line 292 of file port.c.

int __mlx4_replace_mac ( struct mlx4_dev dev,
u8  port,
int  qpn,
u64  new_mac 
)
int __mlx4_srq_alloc_icm ( struct mlx4_dev dev,
int srqn 
)

Definition at line 96 of file srq.c.

void __mlx4_srq_free_icm ( struct mlx4_dev dev,
int  srqn 
)

Definition at line 141 of file srq.c.

void __mlx4_unregister_mac ( struct mlx4_dev dev,
u8  port,
u64  mac 
)

Definition at line 363 of file port.c.

int __mlx4_write_mtt ( struct mlx4_dev dev,
struct mlx4_mtt mtt,
int  start_index,
int  npages,
u64 page_list 
)

Definition at line 564 of file mr.c.

int __mlx4_xrcd_alloc ( struct mlx4_dev dev,
u32 xrcdn 
)

Definition at line 66 of file pd.c.

void __mlx4_xrcd_free ( struct mlx4_dev dev,
u32  xrcdn 
)

Definition at line 97 of file pd.c.

int mlx4_2ERR_QP_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_2RST_QP_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 2836 of file resource_tracker.c.

int mlx4_alloc_eq_table ( struct mlx4_dev dev)

Definition at line 1055 of file eq.c.

int mlx4_ALLOC_RES_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 1448 of file resource_tracker.c.

int mlx4_ARM_SRQ_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 2667 of file resource_tracker.c.

u32 mlx4_bitmap_alloc ( struct mlx4_bitmap bitmap)

Definition at line 44 of file alloc.c.

u32 mlx4_bitmap_alloc_range ( struct mlx4_bitmap bitmap,
int  cnt,
int  align 
)

Definition at line 79 of file alloc.c.

u32 mlx4_bitmap_avail ( struct mlx4_bitmap bitmap)

Definition at line 116 of file alloc.c.

void mlx4_bitmap_cleanup ( struct mlx4_bitmap bitmap)

Definition at line 155 of file alloc.c.

void mlx4_bitmap_free ( struct mlx4_bitmap bitmap,
u32  obj 
)

Definition at line 74 of file alloc.c.

void mlx4_bitmap_free_range ( struct mlx4_bitmap bitmap,
u32  obj,
int  cnt 
)

Definition at line 121 of file alloc.c.

int mlx4_bitmap_init ( struct mlx4_bitmap bitmap,
u32  num,
u32  mask,
u32  reserved_bot,
u32  resetrved_top 
)

Definition at line 131 of file alloc.c.

void mlx4_catas_init ( void  )

Definition at line 168 of file catas.c.

int mlx4_change_port_types ( struct mlx4_dev dev,
enum mlx4_port_type port_types 
)

Definition at line 619 of file main.c.

int mlx4_check_port_params ( struct mlx4_dev dev,
enum mlx4_port_type port_type 
)

Definition at line 146 of file main.c.

void mlx4_cleanup_cq_table ( struct mlx4_dev dev)

Definition at line 355 of file cq.c.

void mlx4_cleanup_eq_table ( struct mlx4_dev dev)

Definition at line 1225 of file eq.c.

void mlx4_cleanup_mcg_table ( struct mlx4_dev dev)

Definition at line 1395 of file mcg.c.

void mlx4_cleanup_mr_table ( struct mlx4_dev dev)

Definition at line 708 of file mr.c.

void mlx4_cleanup_pd_table ( struct mlx4_dev dev)

Definition at line 128 of file pd.c.

void mlx4_cleanup_qp_table ( struct mlx4_dev dev)

Definition at line 533 of file qp.c.

void mlx4_cleanup_srq_table ( struct mlx4_dev dev)

Definition at line 295 of file srq.c.

void mlx4_cleanup_uar_table ( struct mlx4_dev dev)

Definition at line 281 of file pd.c.

void mlx4_cleanup_xrcd_table ( struct mlx4_dev dev)

Definition at line 141 of file pd.c.

int mlx4_CLOSE_PORT_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 1498 of file fw.c.

void mlx4_cmd_cleanup ( struct mlx4_dev dev)

Definition at line 1883 of file cmd.c.

void mlx4_cmd_event ( struct mlx4_dev dev,
u16  token,
u8  status,
u64  out_param 
)

Definition at line 512 of file cmd.c.

int mlx4_cmd_init ( struct mlx4_dev dev)

Definition at line 1813 of file cmd.c.

int mlx4_cmd_use_events ( struct mlx4_dev dev)

Definition at line 1901 of file cmd.c.

void mlx4_cmd_use_polling ( struct mlx4_dev dev)

Definition at line 1939 of file cmd.c.

int mlx4_comm_cmd ( struct mlx4_dev dev,
u8  cmd,
u16  param,
unsigned long  timeout 
)

Definition at line 290 of file cmd.c.

int mlx4_COMM_INT_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_common_dump_eth_stats ( struct mlx4_dev dev,
int  slave,
u32  in_mod,
struct mlx4_cmd_mailbox outbox 
)

Definition at line 994 of file port.c.

int mlx4_common_set_vlan_fltr ( struct mlx4_dev dev,
int  function,
int  port,
void buf 
)
void mlx4_cq_completion ( struct mlx4_dev dev,
u32  cqn 
)

Definition at line 56 of file cq.c.

void mlx4_cq_event ( struct mlx4_dev dev,
u32  cqn,
int  event_type 
)

Definition at line 72 of file cq.c.

void mlx4_delete_all_resources_for_slave ( struct mlx4_dev dev,
int  slave_id 
)

Definition at line 3736 of file resource_tracker.c.

void mlx4_dispatch_event ( struct mlx4_dev dev,
enum mlx4_dev_event  type,
unsigned long  param 
)

Definition at line 118 of file intf.c.

int mlx4_DMA_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 790 of file cmd.c.

void mlx4_do_sense_ports ( struct mlx4_dev dev,
enum mlx4_port_type stype,
enum mlx4_port_type defaults 
)

Definition at line 64 of file sense.c.

int mlx4_DUMP_ETH_STATS_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 1002 of file port.c.

void mlx4_free_eq_table ( struct mlx4_dev dev)

Definition at line 1067 of file eq.c.

int mlx4_FREE_RES_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 1723 of file resource_tracker.c.

void mlx4_free_resource_tracker ( struct mlx4_dev dev,
enum mlx4_res_tracker_free_type  type 
)

Definition at line 300 of file resource_tracker.c.

int mlx4_GEN_EQE ( struct mlx4_dev dev,
int  slave,
struct mlx4_eqe eqe 
)

Definition at line 2305 of file resource_tracker.c.

int mlx4_GEN_QP_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 2692 of file resource_tracker.c.

void mlx4_gen_slave_eqe ( struct work_struct work)

Definition at line 125 of file eq.c.

int mlx4_get_mgm_entry_size ( struct mlx4_dev dev)

Definition at line 55 of file mcg.c.

int mlx4_get_port_ib_caps ( struct mlx4_dev dev,
u8  port,
__be32 caps 
)

Definition at line 604 of file port.c.

int mlx4_get_qp_per_mgm ( struct mlx4_dev dev)

Definition at line 65 of file mcg.c.

int mlx4_get_slave_from_resource_id ( struct mlx4_dev dev,
enum mlx4_resource  resource_type,
u64  resource_id,
int slave 
)

Definition at line 402 of file resource_tracker.c.

int mlx4_get_slave_pkey_gid_tbl_len ( struct mlx4_dev dev,
u8  port,
int gid_tbl_len,
int pkey_tbl_len 
)

Definition at line 826 of file fw.c.

void mlx4_handle_catas_err ( struct mlx4_dev dev)
int mlx4_HW2SW_CQ_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 2432 of file resource_tracker.c.

int mlx4_HW2SW_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 2267 of file resource_tracker.c.

int mlx4_HW2SW_MPT_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 1900 of file resource_tracker.c.

int mlx4_HW2SW_SRQ_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 2615 of file resource_tracker.c.

int mlx4_INIT2INIT_QP_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 2716 of file resource_tracker.c.

int mlx4_INIT2RTR_QP_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 2728 of file resource_tracker.c.

int mlx4_init_cq_table ( struct mlx4_dev dev)

Definition at line 337 of file cq.c.

int mlx4_init_eq_table ( struct mlx4_dev dev)

Definition at line 1072 of file eq.c.

void mlx4_init_mac_table ( struct mlx4_dev dev,
struct mlx4_mac_table table 
)

Definition at line 51 of file port.c.

int mlx4_init_mcg_table ( struct mlx4_dev dev)

Definition at line 1376 of file mcg.c.

int mlx4_init_mr_table ( struct mlx4_dev dev)

Definition at line 660 of file mr.c.

int mlx4_init_pd_table ( struct mlx4_dev dev)

Definition at line 119 of file pd.c.

int mlx4_INIT_PORT_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 1404 of file fw.c.

int mlx4_init_qp_table ( struct mlx4_dev dev)

Definition at line 420 of file qp.c.

int mlx4_init_resource_tracker ( struct mlx4_dev dev)

Definition at line 272 of file resource_tracker.c.

int mlx4_init_srq_table ( struct mlx4_dev dev)

Definition at line 277 of file srq.c.

int mlx4_init_uar_table ( struct mlx4_dev dev)

Definition at line 267 of file pd.c.

void mlx4_init_vlan_table ( struct mlx4_dev dev,
struct mlx4_vlan_table table 
)

Definition at line 64 of file port.c.

int mlx4_init_xrcd_table ( struct mlx4_dev dev)

Definition at line 133 of file pd.c.

u64 mlx4_make_profile ( struct mlx4_dev dev,
struct mlx4_profile request,
struct mlx4_dev_cap dev_cap,
struct mlx4_init_hca_param init_hca 
)

Definition at line 69 of file profile.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_comm_channel ( struct work_struct work)

Definition at line 1614 of file cmd.c.

void mlx4_master_handle_slave_flr ( struct work_struct work)

Definition at line 391 of file eq.c.

int mlx4_MODIFY_CQ_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 2529 of file resource_tracker.c.

void mlx4_multi_func_cleanup ( struct mlx4_dev dev)

Definition at line 1865 of file cmd.c.

int mlx4_multi_func_init ( struct mlx4_dev dev)

Definition at line 1708 of file cmd.c.

int mlx4_PKEY_TABLE_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_PROMISC_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 1312 of file mcg.c.

int mlx4_qp_attach_common ( struct mlx4_dev dev,
struct mlx4_qp qp,
u8  gid[16],
int  block_mcast_loopback,
enum mlx4_protocol  prot,
enum mlx4_steer_type  steer 
)

Definition at line 882 of file mcg.c.

int mlx4_QP_ATTACH_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 2927 of file resource_tracker.c.

int mlx4_qp_detach_common ( struct mlx4_dev dev,
struct mlx4_qp qp,
u8  gid[16],
enum mlx4_protocol  prot,
enum mlx4_steer_type  steer 
)

Definition at line 991 of file mcg.c.

void mlx4_qp_event ( struct mlx4_dev dev,
u32  qpn,
int  event_type 
)

Definition at line 46 of file qp.c.

int mlx4_QP_FLOW_STEERING_ATTACH_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 3063 of file resource_tracker.c.

int mlx4_QP_FLOW_STEERING_DETACH_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 3125 of file resource_tracker.c.

int mlx4_QUERY_CQ_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 2457 of file resource_tracker.c.

int mlx4_QUERY_DEV_CAP_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 749 of file fw.c.

int mlx4_QUERY_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 2367 of file resource_tracker.c.

int mlx4_QUERY_FW_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 1075 of file fw.c.

int mlx4_QUERY_IF_STAT_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 3153 of file resource_tracker.c.

int mlx4_QUERY_MPT_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 1932 of file resource_tracker.c.

int mlx4_QUERY_PORT_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 777 of file fw.c.

int mlx4_QUERY_QP_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_QUERY_SRQ_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 2644 of file resource_tracker.c.

int mlx4_register_device ( struct mlx4_dev dev)

Definition at line 134 of file intf.c.

int mlx4_reset ( struct mlx4_dev dev)

Definition at line 42 of file reset.c.

int mlx4_restart_one ( struct pci_dev pdev)

Definition at line 2310 of file main.c.

int mlx4_RST2INIT_QP_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 1988 of file resource_tracker.c.

int mlx4_RTR2RTS_QP_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 2748 of file resource_tracker.c.

int mlx4_RTS2RTS_QP_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 2767 of file resource_tracker.c.

int mlx4_RTS2SQD_QP_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 
)
void mlx4_sense_init ( struct mlx4_dev dev)

Definition at line 132 of file sense.c.

int mlx4_SENSE_PORT ( struct mlx4_dev dev,
int  port,
enum mlx4_port_type type 
)

Definition at line 41 of file sense.c.

int mlx4_SET_MCAST_FLTR_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 963 of file port.c.

int mlx4_SET_PORT ( struct mlx4_dev dev,
u8  port,
int  pkey_tbl_sz 
)

Definition at line 793 of file port.c.

int mlx4_SET_PORT_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 774 of file port.c.

int mlx4_SET_VLAN_FLTR_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 983 of file port.c.

int mlx4_SQD2RTS_QP_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 2817 of file resource_tracker.c.

int mlx4_SQD2SQD_QP_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 2798 of file resource_tracker.c.

int mlx4_SQERR2RTS_QP_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 2787 of file resource_tracker.c.

void mlx4_srq_event ( struct mlx4_dev dev,
u32  srqn,
int  event_type 
)

Definition at line 43 of file srq.c.

void mlx4_start_catas_poll ( struct mlx4_dev dev)

Definition at line 124 of file catas.c.

void mlx4_start_sense ( struct mlx4_dev dev)

Definition at line 115 of file sense.c.

void mlx4_stop_catas_poll ( struct mlx4_dev dev)

Definition at line 154 of file catas.c.

void mlx4_stop_sense ( struct mlx4_dev dev)

Definition at line 127 of file sense.c.

int mlx4_SW2HW_CQ_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 2394 of file resource_tracker.c.

int mlx4_SW2HW_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 2114 of file resource_tracker.c.

int mlx4_SW2HW_MPT_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 1846 of file resource_tracker.c.

int mlx4_SW2HW_SRQ_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 2570 of file resource_tracker.c.

int mlx4_SYNC_TPT_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 
)
void mlx4_unregister_device ( struct mlx4_dev dev)

Definition at line 152 of file intf.c.

int mlx4_WRITE_MTT_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 2229 of file resource_tracker.c.

Variable Documentation

int log_mtts_per_seg

Definition at line 130 of file main.c.

int mlx4_log_num_mgm_entry_size

Definition at line 88 of file main.c.

Definition at line 58 of file main.c.