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_en.h File Reference
#include <linux/bitops.h>
#include <linux/compiler.h>
#include <linux/list.h>
#include <linux/mutex.h>
#include <linux/netdevice.h>
#include <linux/if_vlan.h>
#include <linux/cpu_rmap.h>
#include <linux/mlx4/device.h>
#include <linux/mlx4/qp.h>
#include <linux/mlx4/cq.h>
#include <linux/mlx4/srq.h>
#include <linux/mlx4/doorbell.h>
#include <linux/mlx4/cmd.h>
#include "en_port.h"

Go to the source code of this file.

Data Structures

struct  mlx4_en_tx_info
 
struct  mlx4_en_tx_desc
 
struct  mlx4_en_rx_alloc
 
struct  mlx4_en_tx_ring
 
struct  mlx4_en_rx_desc
 
struct  mlx4_en_rx_ring
 
struct  mlx4_en_cq
 
struct  mlx4_en_port_profile
 
struct  mlx4_en_profile
 
struct  mlx4_en_dev
 
struct  mlx4_en_rss_map
 
struct  mlx4_en_port_state
 
struct  mlx4_en_pkt_stats
 
struct  mlx4_en_port_stats
 
struct  mlx4_en_perf_stats
 
struct  mlx4_en_mc_list
 
struct  mlx4_en_frag_info
 
struct  ethtool_flow_id
 
struct  mlx4_en_priv
 

Macros

#define DRV_NAME   "mlx4_en"
 
#define DRV_VERSION   "2.0"
 
#define DRV_RELDATE   "Dec 2011"
 
#define MLX4_EN_MSG_LEVEL   (NETIF_MSG_LINK | NETIF_MSG_IFDOWN)
 
#define MLX4_EN_PAGE_SHIFT   12
 
#define MLX4_EN_PAGE_SIZE   (1 << MLX4_EN_PAGE_SHIFT)
 
#define MAX_RX_RINGS   16
 
#define MIN_RX_RINGS   4
 
#define TXBB_SIZE   64
 
#define HEADROOM   (2048 / TXBB_SIZE + 1)
 
#define STAMP_STRIDE   64
 
#define STAMP_DWORDS   (STAMP_STRIDE / 4)
 
#define STAMP_SHIFT   31
 
#define STAMP_VAL   0x7fffffff
 
#define STATS_DELAY   (HZ / 4)
 
#define MAX_NUM_OF_FS_RULES   256
 
#define MLX4_EN_FILTER_HASH_SHIFT   4
 
#define MLX4_EN_FILTER_EXPIRY_QUOTA   60
 
#define MAX_DESC_SIZE   512
 
#define MAX_DESC_TXBBS   (MAX_DESC_SIZE / TXBB_SIZE)
 
#define MLX4_EN_WATCHDOG_TIMEOUT   (15 * HZ)
 
#define MLX4_EN_ALLOC_SIZE   PAGE_ALIGN(16384)
 
#define MLX4_EN_ALLOC_ORDER   get_order(MLX4_EN_ALLOC_SIZE)
 
#define MLX4_EN_MAX_LRO_DESCRIPTORS   32
 
#define MLX4_EN_MAX_RX_FRAGS   4
 
#define MLX4_EN_MAX_TX_SIZE   8192
 
#define MLX4_EN_MAX_RX_SIZE   8192
 
#define MLX4_EN_MIN_RX_SIZE   (MLX4_EN_ALLOC_SIZE / SMP_CACHE_BYTES)
 
#define MLX4_EN_MIN_TX_SIZE   (4096 / TXBB_SIZE)
 
#define MLX4_EN_SMALL_PKT_SIZE   64
 
#define MLX4_EN_MAX_TX_RING_P_UP   32
 
#define MLX4_EN_NUM_UP   8
 
#define MLX4_EN_DEF_TX_RING_SIZE   512
 
#define MLX4_EN_DEF_RX_RING_SIZE   1024
 
#define MLX4_EN_RX_COAL_TARGET   44
 
#define MLX4_EN_RX_COAL_TIME   0x10
 
#define MLX4_EN_TX_COAL_PKTS   16
 
#define MLX4_EN_TX_COAL_TIME   0x80
 
#define MLX4_EN_RX_RATE_LOW   400000
 
#define MLX4_EN_RX_COAL_TIME_LOW   0
 
#define MLX4_EN_RX_RATE_HIGH   450000
 
#define MLX4_EN_RX_COAL_TIME_HIGH   128
 
#define MLX4_EN_RX_SIZE_THRESH   1024
 
#define MLX4_EN_RX_RATE_THRESH   (1000000 / MLX4_EN_RX_COAL_TIME_HIGH)
 
#define MLX4_EN_SAMPLE_INTERVAL   0
 
#define MLX4_EN_AVG_PKT_SMALL   256
 
#define MLX4_EN_AUTO_CONF   0xffff
 
#define MLX4_EN_DEF_RX_PAUSE   1
 
#define MLX4_EN_DEF_TX_PAUSE   1
 
#define MLX4_EN_TX_POLL_MODER   16
 
#define MLX4_EN_TX_POLL_TIMEOUT   (HZ / 4)
 
#define ETH_LLC_SNAP_SIZE   8
 
#define SMALL_PACKET_SIZE   (256 - NET_IP_ALIGN)
 
#define HEADER_COPY_SIZE   (128 - NET_IP_ALIGN)
 
#define MLX4_LOOPBACK_TEST_PAYLOAD   (HEADER_COPY_SIZE - ETH_HLEN)
 
#define MLX4_EN_MIN_MTU   46
 
#define ETH_BCAST   0xffffffffffffULL
 
#define MLX4_EN_LOOPBACK_RETRIES   5
 
#define MLX4_EN_LOOPBACK_TIMEOUT   100
 
#define NUM_PERF_STATS   0
 
#define INC_PERF_COUNTER(cnt)   do {} while (0)
 
#define ADD_PERF_COUNTER(cnt, add)   do {} while (0)
 
#define AVG_PERF_COUNTER(cnt, sample)   do {} while (0)
 
#define GET_PERF_COUNTER(cnt)   (0)
 
#define GET_AVG_PERF_COUNTER(cnt)   (0)
 
#define ROUNDUP_LOG2(x)   ilog2(roundup_pow_of_two(x))
 
#define XNOR(x, y)   (!(x) == !(y))
 
#define ILLEGAL_MAC(addr)   (addr == 0xffffffffffffULL || addr == 0x0)
 
#define MLX4_EN_BIT_DESC_OWN   0x80000000
 
#define CTRL_SIZE   sizeof(struct mlx4_wqe_ctrl_seg)
 
#define MLX4_EN_MEMTYPE_PAD   0x100
 
#define DS_SIZE   sizeof(struct mlx4_wqe_data_seg)
 
#define MLX4_EN_USE_SRQ   0x01000000
 
#define MLX4_EN_CX3_LOW_ID   0x1000
 
#define MLX4_EN_CX3_HIGH_ID   0x1005
 
#define MLX4_EN_OPCODE_ERROR   0x1e
 
#define NUM_PKT_STATS   17
 
#define NUM_PORT_STATS   8
 
#define NUM_PERF_COUNTERS   6
 
#define MLX4_EN_FLAG_PROMISC   0x1
 
#define MLX4_EN_FLAG_MC_PROMISC   0x2
 
#define MLX4_EN_WOL_DO_MODIFY   (1ULL << 63)
 
#define MLX4_EN_NUM_SELF_TEST   5
 
#define en_dbg(mlevel, priv, format, arg...)
 
#define en_warn(priv, format, arg...)   en_print(KERN_WARNING, priv, format, ##arg)
 
#define en_err(priv, format, arg...)   en_print(KERN_ERR, priv, format, ##arg)
 
#define en_info(priv, format, arg...)   en_print(KERN_INFO, priv, format, ## arg)
 
#define mlx4_err(mdev, format, arg...)
 
#define mlx4_info(mdev, format, arg...)
 
#define mlx4_warn(mdev, format, arg...)
 

Enumerations

enum  { FRAG_SZ0 = 512 - NET_IP_ALIGN, FRAG_SZ1 = 1024, FRAG_SZ2 = 4096, FRAG_SZ3 = MLX4_EN_ALLOC_SIZE }
 
enum  cq_type { RX = 0, TX = 1 }
 
enum  mlx4_en_mclist_act { MCLIST_NONE, MCLIST_REM, MCLIST_ADD }
 
enum  mlx4_en_wol { MLX4_EN_WOL_MAGIC = (1ULL << 61), MLX4_EN_WOL_ENABLED = (1ULL << 62) }
 

Functions

void mlx4_en_destroy_netdev (struct net_device *dev)
 
int mlx4_en_init_netdev (struct mlx4_en_dev *mdev, int port, struct mlx4_en_port_profile *prof)
 
int mlx4_en_start_port (struct net_device *dev)
 
void mlx4_en_stop_port (struct net_device *dev)
 
void mlx4_en_free_resources (struct mlx4_en_priv *priv)
 
int mlx4_en_alloc_resources (struct mlx4_en_priv *priv)
 
int mlx4_en_create_cq (struct mlx4_en_priv *priv, struct mlx4_en_cq *cq, int entries, int ring, enum cq_type mode)
 
void mlx4_en_destroy_cq (struct mlx4_en_priv *priv, struct mlx4_en_cq *cq)
 
int mlx4_en_activate_cq (struct mlx4_en_priv *priv, struct mlx4_en_cq *cq, int cq_idx)
 
void mlx4_en_deactivate_cq (struct mlx4_en_priv *priv, struct mlx4_en_cq *cq)
 
int mlx4_en_set_cq_moder (struct mlx4_en_priv *priv, struct mlx4_en_cq *cq)
 
int mlx4_en_arm_cq (struct mlx4_en_priv *priv, struct mlx4_en_cq *cq)
 
void mlx4_en_tx_irq (struct mlx4_cq *mcq)
 
u16 mlx4_en_select_queue (struct net_device *dev, struct sk_buff *skb)
 
netdev_tx_t mlx4_en_xmit (struct sk_buff *skb, struct net_device *dev)
 
int mlx4_en_create_tx_ring (struct mlx4_en_priv *priv, struct mlx4_en_tx_ring *ring, int qpn, u32 size, u16 stride)
 
void mlx4_en_destroy_tx_ring (struct mlx4_en_priv *priv, struct mlx4_en_tx_ring *ring)
 
int mlx4_en_activate_tx_ring (struct mlx4_en_priv *priv, struct mlx4_en_tx_ring *ring, int cq, int user_prio)
 
void mlx4_en_deactivate_tx_ring (struct mlx4_en_priv *priv, struct mlx4_en_tx_ring *ring)
 
int mlx4_en_create_rx_ring (struct mlx4_en_priv *priv, struct mlx4_en_rx_ring *ring, u32 size, u16 stride)
 
void mlx4_en_destroy_rx_ring (struct mlx4_en_priv *priv, struct mlx4_en_rx_ring *ring, u32 size, u16 stride)
 
int mlx4_en_activate_rx_rings (struct mlx4_en_priv *priv)
 
void mlx4_en_deactivate_rx_ring (struct mlx4_en_priv *priv, struct mlx4_en_rx_ring *ring)
 
int mlx4_en_process_rx_cq (struct net_device *dev, struct mlx4_en_cq *cq, int budget)
 
int mlx4_en_poll_rx_cq (struct napi_struct *napi, int budget)
 
void mlx4_en_fill_qp_context (struct mlx4_en_priv *priv, int size, int stride, int is_tx, int rss, int qpn, int cqn, int user_prio, struct mlx4_qp_context *context)
 
void mlx4_en_sqp_event (struct mlx4_qp *qp, enum mlx4_event event)
 
int mlx4_en_map_buffer (struct mlx4_buf *buf)
 
void mlx4_en_unmap_buffer (struct mlx4_buf *buf)
 
void mlx4_en_calc_rx_buf (struct net_device *dev)
 
int mlx4_en_config_rss_steer (struct mlx4_en_priv *priv)
 
void mlx4_en_release_rss_steer (struct mlx4_en_priv *priv)
 
int mlx4_en_create_drop_qp (struct mlx4_en_priv *priv)
 
void mlx4_en_destroy_drop_qp (struct mlx4_en_priv *priv)
 
int mlx4_en_free_tx_buf (struct net_device *dev, struct mlx4_en_tx_ring *ring)
 
void mlx4_en_rx_irq (struct mlx4_cq *mcq)
 
int mlx4_SET_MCAST_FLTR (struct mlx4_dev *dev, u8 port, u64 mac, u64 clear, u8 mode)
 
int mlx4_SET_VLAN_FLTR (struct mlx4_dev *dev, struct mlx4_en_priv *priv)
 
int mlx4_en_DUMP_ETH_STATS (struct mlx4_en_dev *mdev, u8 port, u8 reset)
 
int mlx4_en_QUERY_PORT (struct mlx4_en_dev *mdev, u8 port)
 
void mlx4_en_ex_selftest (struct net_device *dev, u32 *flags, u64 *buf)
 
u64 mlx4_en_mac_to_u64 (u8 *addr)
 
: Name of the class.

struct class - device classes

: The module owner. : Default attributes of this class. : Default attributes of the devices belong to the class. : Default binary attributes of the devices belong to the class. : The kobject that represents this class and links it into the hierarchy. : Called when a device is added, removed from this class, or a few other things that generate uevents to add the environment variables. : Callback to provide the devtmpfs. : Called to release this class. : Called to release the device. : Used to put the device to sleep mode, usually to a low power state. : Used to bring the device from the sleep mode. : Callbacks so sysfs can detemine namespaces.

 __printf (3, 4) int en_print(const char *level
 

Variables

struct ethtool_ops mlx4_en_ethtool_ops
 
struct mlx4_en_privpriv
 
struct mlx4_en_priv const charformat
 

Macro Definition Documentation

#define ADD_PERF_COUNTER (   cnt,
  add 
)    do {} while (0)

Definition at line 179 of file mlx4_en.h.

#define AVG_PERF_COUNTER (   cnt,
  sample 
)    do {} while (0)

Definition at line 180 of file mlx4_en.h.

#define CTRL_SIZE   sizeof(struct mlx4_wqe_ctrl_seg)

Definition at line 214 of file mlx4_en.h.

#define DRV_NAME   "mlx4_en"

Definition at line 57 of file mlx4_en.h.

#define DRV_RELDATE   "Dec 2011"

Definition at line 59 of file mlx4_en.h.

#define DRV_VERSION   "2.0"

Definition at line 58 of file mlx4_en.h.

#define DS_SIZE   sizeof(struct mlx4_wqe_data_seg)

Definition at line 216 of file mlx4_en.h.

#define en_dbg (   mlevel,
  priv,
  format,
  arg... 
)
Value:
do { \
if (NETIF_MSG_##mlevel & priv->msg_enable) \
en_print(KERN_DEBUG, priv, format, ##arg); \
} while (0)

Definition at line 640 of file mlx4_en.h.

#define en_err (   priv,
  format,
  arg... 
)    en_print(KERN_ERR, priv, format, ##arg)

Definition at line 647 of file mlx4_en.h.

#define en_info (   priv,
  format,
  arg... 
)    en_print(KERN_INFO, priv, format, ## arg)

Definition at line 649 of file mlx4_en.h.

#define en_warn (   priv,
  format,
  arg... 
)    en_print(KERN_WARNING, priv, format, ##arg)

Definition at line 645 of file mlx4_en.h.

#define ETH_BCAST   0xffffffffffffULL

Definition at line 157 of file mlx4_en.h.

#define ETH_LLC_SNAP_SIZE   8

Definition at line 150 of file mlx4_en.h.

#define GET_AVG_PERF_COUNTER (   cnt)    (0)

Definition at line 182 of file mlx4_en.h.

#define GET_PERF_COUNTER (   cnt)    (0)

Definition at line 181 of file mlx4_en.h.

#define HEADER_COPY_SIZE   (128 - NET_IP_ALIGN)

Definition at line 153 of file mlx4_en.h.

#define HEADROOM   (2048 / TXBB_SIZE + 1)

Definition at line 73 of file mlx4_en.h.

#define ILLEGAL_MAC (   addr)    (addr == 0xffffffffffffULL || addr == 0x0)

Definition at line 200 of file mlx4_en.h.

#define INC_PERF_COUNTER (   cnt)    do {} while (0)

Definition at line 178 of file mlx4_en.h.

#define MAX_DESC_SIZE   512

Definition at line 85 of file mlx4_en.h.

#define MAX_DESC_TXBBS   (MAX_DESC_SIZE / TXBB_SIZE)

Definition at line 86 of file mlx4_en.h.

#define MAX_NUM_OF_FS_RULES   256

Definition at line 79 of file mlx4_en.h.

#define MAX_RX_RINGS   16

Definition at line 70 of file mlx4_en.h.

#define MIN_RX_RINGS   4

Definition at line 71 of file mlx4_en.h.

#define MLX4_EN_ALLOC_ORDER   get_order(MLX4_EN_ALLOC_SIZE)

Definition at line 96 of file mlx4_en.h.

#define MLX4_EN_ALLOC_SIZE   PAGE_ALIGN(16384)

Definition at line 95 of file mlx4_en.h.

#define MLX4_EN_AUTO_CONF   0xffff

Definition at line 140 of file mlx4_en.h.

#define MLX4_EN_AVG_PKT_SMALL   256

Definition at line 138 of file mlx4_en.h.

#define MLX4_EN_BIT_DESC_OWN   0x80000000

Definition at line 213 of file mlx4_en.h.

#define MLX4_EN_CX3_HIGH_ID   0x1005

Definition at line 231 of file mlx4_en.h.

#define MLX4_EN_CX3_LOW_ID   0x1000

Definition at line 230 of file mlx4_en.h.

#define MLX4_EN_DEF_RX_PAUSE   1

Definition at line 142 of file mlx4_en.h.

#define MLX4_EN_DEF_RX_RING_SIZE   1024

Definition at line 122 of file mlx4_en.h.

#define MLX4_EN_DEF_TX_PAUSE   1

Definition at line 143 of file mlx4_en.h.

#define MLX4_EN_DEF_TX_RING_SIZE   512

Definition at line 121 of file mlx4_en.h.

#define MLX4_EN_FILTER_EXPIRY_QUOTA   60

Definition at line 82 of file mlx4_en.h.

#define MLX4_EN_FILTER_HASH_SHIFT   4

Definition at line 81 of file mlx4_en.h.

#define MLX4_EN_FLAG_MC_PROMISC   0x2

Definition at line 495 of file mlx4_en.h.

#define MLX4_EN_FLAG_PROMISC   0x1

Definition at line 494 of file mlx4_en.h.

#define MLX4_EN_LOOPBACK_RETRIES   5

Definition at line 159 of file mlx4_en.h.

#define MLX4_EN_LOOPBACK_TIMEOUT   100

Definition at line 160 of file mlx4_en.h.

#define MLX4_EN_MAX_LRO_DESCRIPTORS   32

Definition at line 98 of file mlx4_en.h.

#define MLX4_EN_MAX_RX_FRAGS   4

Definition at line 108 of file mlx4_en.h.

#define MLX4_EN_MAX_RX_SIZE   8192

Definition at line 112 of file mlx4_en.h.

#define MLX4_EN_MAX_TX_RING_P_UP   32

Definition at line 119 of file mlx4_en.h.

#define MLX4_EN_MAX_TX_SIZE   8192

Definition at line 111 of file mlx4_en.h.

#define MLX4_EN_MEMTYPE_PAD   0x100

Definition at line 215 of file mlx4_en.h.

#define MLX4_EN_MIN_MTU   46

Definition at line 156 of file mlx4_en.h.

#define MLX4_EN_MIN_RX_SIZE   (MLX4_EN_ALLOC_SIZE / SMP_CACHE_BYTES)

Definition at line 115 of file mlx4_en.h.

#define MLX4_EN_MIN_TX_SIZE   (4096 / TXBB_SIZE)

Definition at line 116 of file mlx4_en.h.

#define MLX4_EN_MSG_LEVEL   (NETIF_MSG_LINK | NETIF_MSG_IFDOWN)

Definition at line 61 of file mlx4_en.h.

#define MLX4_EN_NUM_SELF_TEST   5

Definition at line 621 of file mlx4_en.h.

#define MLX4_EN_NUM_UP   8

Definition at line 120 of file mlx4_en.h.

#define MLX4_EN_OPCODE_ERROR   0x1e

Definition at line 322 of file mlx4_en.h.

#define MLX4_EN_PAGE_SHIFT   12

Definition at line 68 of file mlx4_en.h.

#define MLX4_EN_PAGE_SIZE   (1 << MLX4_EN_PAGE_SHIFT)

Definition at line 69 of file mlx4_en.h.

#define MLX4_EN_RX_COAL_TARGET   44

Definition at line 125 of file mlx4_en.h.

#define MLX4_EN_RX_COAL_TIME   0x10

Definition at line 126 of file mlx4_en.h.

#define MLX4_EN_RX_COAL_TIME_HIGH   128

Definition at line 134 of file mlx4_en.h.

#define MLX4_EN_RX_COAL_TIME_LOW   0

Definition at line 132 of file mlx4_en.h.

#define MLX4_EN_RX_RATE_HIGH   450000

Definition at line 133 of file mlx4_en.h.

#define MLX4_EN_RX_RATE_LOW   400000

Definition at line 131 of file mlx4_en.h.

#define MLX4_EN_RX_RATE_THRESH   (1000000 / MLX4_EN_RX_COAL_TIME_HIGH)

Definition at line 136 of file mlx4_en.h.

#define MLX4_EN_RX_SIZE_THRESH   1024

Definition at line 135 of file mlx4_en.h.

#define MLX4_EN_SAMPLE_INTERVAL   0

Definition at line 137 of file mlx4_en.h.

#define MLX4_EN_SMALL_PKT_SIZE   64

Definition at line 118 of file mlx4_en.h.

#define MLX4_EN_TX_COAL_PKTS   16

Definition at line 128 of file mlx4_en.h.

#define MLX4_EN_TX_COAL_TIME   0x80

Definition at line 129 of file mlx4_en.h.

#define MLX4_EN_TX_POLL_MODER   16

Definition at line 147 of file mlx4_en.h.

#define MLX4_EN_TX_POLL_TIMEOUT   (HZ / 4)

Definition at line 148 of file mlx4_en.h.

#define MLX4_EN_USE_SRQ   0x01000000

Definition at line 228 of file mlx4_en.h.

#define MLX4_EN_WATCHDOG_TIMEOUT   (15 * HZ)

Definition at line 92 of file mlx4_en.h.

#define MLX4_EN_WOL_DO_MODIFY   (1ULL << 63)

Definition at line 544 of file mlx4_en.h.

#define mlx4_err (   mdev,
  format,
  arg... 
)
Value:
pr_err("%s %s: " format, DRV_NAME, \
dev_name(&mdev->pdev->dev), ##arg)

Definition at line 652 of file mlx4_en.h.

#define mlx4_info (   mdev,
  format,
  arg... 
)
Value:
pr_info("%s %s: " format, DRV_NAME, \
dev_name(&mdev->pdev->dev), ##arg)

Definition at line 655 of file mlx4_en.h.

#define MLX4_LOOPBACK_TEST_PAYLOAD   (HEADER_COPY_SIZE - ETH_HLEN)

Definition at line 154 of file mlx4_en.h.

#define mlx4_warn (   mdev,
  format,
  arg... 
)
Value:
pr_warning("%s %s: " format, DRV_NAME, \
dev_name(&mdev->pdev->dev), ##arg)

Definition at line 658 of file mlx4_en.h.

#define NUM_PERF_COUNTERS   6

Definition at line 409 of file mlx4_en.h.

#define NUM_PERF_STATS   0

Definition at line 177 of file mlx4_en.h.

#define NUM_PKT_STATS   17

Definition at line 387 of file mlx4_en.h.

#define NUM_PORT_STATS   8

Definition at line 399 of file mlx4_en.h.

#define ROUNDUP_LOG2 (   x)    ilog2(roundup_pow_of_two(x))

Definition at line 198 of file mlx4_en.h.

#define SMALL_PACKET_SIZE   (256 - NET_IP_ALIGN)

Definition at line 152 of file mlx4_en.h.

#define STAMP_DWORDS   (STAMP_STRIDE / 4)

Definition at line 75 of file mlx4_en.h.

#define STAMP_SHIFT   31

Definition at line 76 of file mlx4_en.h.

#define STAMP_STRIDE   64

Definition at line 74 of file mlx4_en.h.

#define STAMP_VAL   0x7fffffff

Definition at line 77 of file mlx4_en.h.

#define STATS_DELAY   (HZ / 4)

Definition at line 78 of file mlx4_en.h.

#define TXBB_SIZE   64

Definition at line 72 of file mlx4_en.h.

#define XNOR (   x,
  y 
)    (!(x) == !(y))

Definition at line 199 of file mlx4_en.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
FRAG_SZ0 
FRAG_SZ1 
FRAG_SZ2 
FRAG_SZ3 

Definition at line 102 of file mlx4_en.h.

enum cq_type
Enumerator:
RX 
TX 

Definition at line 189 of file mlx4_en.h.

Enumerator:
MCLIST_NONE 
MCLIST_REM 
MCLIST_ADD 

Definition at line 412 of file mlx4_en.h.

Enumerator:
MLX4_EN_WOL_MAGIC 
MLX4_EN_WOL_ENABLED 

Definition at line 539 of file mlx4_en.h.

Function Documentation

int const char __printf ( ,
 
) const
inline
int mlx4_en_activate_cq ( struct mlx4_en_priv priv,
struct mlx4_en_cq cq,
int  cq_idx 
)

Definition at line 74 of file en_cq.c.

int mlx4_en_activate_rx_rings ( struct mlx4_en_priv priv)

Definition at line 332 of file en_rx.c.

int mlx4_en_activate_tx_ring ( struct mlx4_en_priv priv,
struct mlx4_en_tx_ring ring,
int  cq,
int  user_prio 
)

Definition at line 154 of file en_tx.c.

int mlx4_en_alloc_resources ( struct mlx4_en_priv priv)

Definition at line 1403 of file en_netdev.c.

int mlx4_en_arm_cq ( struct mlx4_en_priv priv,
struct mlx4_en_cq cq 
)

Definition at line 172 of file en_cq.c.

void mlx4_en_calc_rx_buf ( struct net_device dev)

Definition at line 784 of file en_rx.c.

int mlx4_en_config_rss_steer ( struct mlx4_en_priv priv)

Definition at line 907 of file en_rx.c.

int mlx4_en_create_cq ( struct mlx4_en_priv priv,
struct mlx4_en_cq cq,
int  entries,
int  ring,
enum cq_type  mode 
)

Definition at line 46 of file en_cq.c.

int mlx4_en_create_drop_qp ( struct mlx4_en_priv priv)

Definition at line 876 of file en_rx.c.

int mlx4_en_create_rx_ring ( struct mlx4_en_priv priv,
struct mlx4_en_rx_ring ring,
u32  size,
u16  stride 
)

Definition at line 286 of file en_rx.c.

int mlx4_en_create_tx_ring ( struct mlx4_en_priv priv,
struct mlx4_en_tx_ring ring,
int  qpn,
u32  size,
u16  stride 
)

Definition at line 56 of file en_tx.c.

void mlx4_en_deactivate_cq ( struct mlx4_en_priv priv,
struct mlx4_en_cq cq 
)

Definition at line 155 of file en_cq.c.

void mlx4_en_deactivate_rx_ring ( struct mlx4_en_priv priv,
struct mlx4_en_rx_ring ring 
)

Definition at line 415 of file en_rx.c.

void mlx4_en_deactivate_tx_ring ( struct mlx4_en_priv priv,
struct mlx4_en_tx_ring ring 
)

Definition at line 183 of file en_tx.c.

void mlx4_en_destroy_cq ( struct mlx4_en_priv priv,
struct mlx4_en_cq cq 
)

Definition at line 142 of file en_cq.c.

void mlx4_en_destroy_drop_qp ( struct mlx4_en_priv priv)

Definition at line 896 of file en_rx.c.

void mlx4_en_destroy_netdev ( struct net_device dev)

Definition at line 1454 of file en_netdev.c.

void mlx4_en_destroy_rx_ring ( struct mlx4_en_priv priv,
struct mlx4_en_rx_ring ring,
u32  size,
u16  stride 
)

Definition at line 401 of file en_rx.c.

void mlx4_en_destroy_tx_ring ( struct mlx4_en_priv priv,
struct mlx4_en_tx_ring ring 
)

Definition at line 136 of file en_tx.c.

int mlx4_en_DUMP_ETH_STATS ( struct mlx4_en_dev mdev,
u8  port,
u8  reset 
)

Definition at line 117 of file en_port.c.

void mlx4_en_ex_selftest ( struct net_device dev,
u32 flags,
u64 buf 
)

Definition at line 137 of file en_selftest.c.

void mlx4_en_fill_qp_context ( struct mlx4_en_priv priv,
int  size,
int  stride,
int  is_tx,
int  rss,
int  qpn,
int  cqn,
int  user_prio,
struct mlx4_qp_context context 
)

Definition at line 40 of file en_resources.c.

void mlx4_en_free_resources ( struct mlx4_en_priv priv)

Definition at line 1373 of file en_netdev.c.

int mlx4_en_free_tx_buf ( struct net_device dev,
struct mlx4_en_tx_ring ring 
)

Definition at line 273 of file en_tx.c.

int mlx4_en_init_netdev ( struct mlx4_en_dev mdev,
int  port,
struct mlx4_en_port_profile prof 
)

Definition at line 1558 of file en_netdev.c.

u64 mlx4_en_mac_to_u64 ( u8 addr)

Definition at line 417 of file en_netdev.c.

int mlx4_en_map_buffer ( struct mlx4_buf buf)

Definition at line 71 of file en_resources.c.

int mlx4_en_poll_rx_cq ( struct napi_struct napi,
int  budget 
)

Definition at line 743 of file en_rx.c.

int mlx4_en_process_rx_cq ( struct net_device dev,
struct mlx4_en_cq cq,
int  budget 
)

Definition at line 553 of file en_rx.c.

int mlx4_en_QUERY_PORT ( struct mlx4_en_dev mdev,
u8  port 
)

Definition at line 73 of file en_port.c.

void mlx4_en_release_rss_steer ( struct mlx4_en_priv priv)

Definition at line 997 of file en_rx.c.

void mlx4_en_rx_irq ( struct mlx4_cq mcq)

Definition at line 731 of file en_rx.c.

u16 mlx4_en_select_queue ( struct net_device dev,
struct sk_buff skb 
)

Definition at line 523 of file en_tx.c.

int mlx4_en_set_cq_moder ( struct mlx4_en_priv priv,
struct mlx4_en_cq cq 
)

Definition at line 166 of file en_cq.c.

void mlx4_en_sqp_event ( struct mlx4_qp qp,
enum mlx4_event  event 
)

Definition at line 102 of file en_resources.c.

int mlx4_en_start_port ( struct net_device dev)

Definition at line 1023 of file en_netdev.c.

void mlx4_en_stop_port ( struct net_device dev)

Definition at line 1210 of file en_netdev.c.

void mlx4_en_tx_irq ( struct mlx4_cq mcq)

Definition at line 376 of file en_tx.c.

void mlx4_en_unmap_buffer ( struct mlx4_buf buf)

Definition at line 94 of file en_resources.c.

netdev_tx_t mlx4_en_xmit ( struct sk_buff skb,
struct net_device dev 
)

Definition at line 543 of file en_tx.c.

int mlx4_SET_MCAST_FLTR ( struct mlx4_dev dev,
u8  port,
u64  mac,
u64  clear,
u8  mode 
)

Definition at line 974 of file port.c.

int mlx4_SET_VLAN_FLTR ( struct mlx4_dev dev,
struct mlx4_en_priv priv 
)

Definition at line 44 of file en_port.c.

Variable Documentation

Definition at line 637 of file mlx4_en.h.

struct ethtool_ops mlx4_en_ethtool_ops

Definition at line 1001 of file en_ethtool.c.

Definition at line 637 of file mlx4_en.h.