diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 14:50:12 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 14:50:12 -0700 | 
| commit | ece236ce2fad9c27a6fd2530f899289025194bce (patch) | |
| tree | 474b793205872206a2a3f7d409ff9b1f81f3a9a8 /include/linux/mlx4/device.h | |
| parent | 441c196e84b11aad3123baa9320eee7abc6b5c98 (diff) | |
| parent | 4460207561290c3be7e6c7538f22690028170c1d (diff) | |
| download | olio-linux-3.10-ece236ce2fad9c27a6fd2530f899289025194bce.tar.xz olio-linux-3.10-ece236ce2fad9c27a6fd2530f899289025194bce.zip  | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (26 commits)
  IB/qib: Defer HCA error events to tasklet
  mlx4_core: Bump the driver version to 1.0
  RDMA/cxgb4: Use printk_ratelimited() instead of printk_ratelimit()
  IB/mlx4: Support PMA counters for IBoE
  IB/mlx4: Use flow counters on IBoE ports
  IB/pma: Add include file for IBA performance counters definitions
  mlx4_core: Add network flow counters
  mlx4_core: Fix location of counter index in QP context struct
  mlx4_core: Read extended capabilities into the flags field
  mlx4_core: Extend capability flags to 64 bits
  IB/mlx4: Generate GID change events in IBoE code
  IB/core: Add GID change event
  RDMA/cma: Don't allow IPoIB port space for IBoE
  RDMA: Allow for NULL .modify_device() and .modify_port() methods
  IB/qib: Update active link width
  IB/qib: Fix potential deadlock with link down interrupt
  IB/qib: Add sysfs interface to read free contexts
  IB/mthca: Remove unnecessary read of PCI_CAP_ID_EXP
  IB/qib: Remove double define
  IB/qib: Remove unnecessary read of PCI_CAP_ID_EXP
  ...
Diffstat (limited to 'include/linux/mlx4/device.h')
| -rw-r--r-- | include/linux/mlx4/device.h | 60 | 
1 files changed, 38 insertions, 22 deletions
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index 8985768e2c0..387329e0230 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h @@ -58,22 +58,28 @@ enum {  };  enum { -	MLX4_DEV_CAP_FLAG_RC		= 1 <<  0, -	MLX4_DEV_CAP_FLAG_UC		= 1 <<  1, -	MLX4_DEV_CAP_FLAG_UD		= 1 <<  2, -	MLX4_DEV_CAP_FLAG_SRQ		= 1 <<  6, -	MLX4_DEV_CAP_FLAG_IPOIB_CSUM	= 1 <<  7, -	MLX4_DEV_CAP_FLAG_BAD_PKEY_CNTR	= 1 <<  8, -	MLX4_DEV_CAP_FLAG_BAD_QKEY_CNTR	= 1 <<  9, -	MLX4_DEV_CAP_FLAG_DPDP		= 1 << 12, -	MLX4_DEV_CAP_FLAG_BLH		= 1 << 15, -	MLX4_DEV_CAP_FLAG_MEM_WINDOW	= 1 << 16, -	MLX4_DEV_CAP_FLAG_APM		= 1 << 17, -	MLX4_DEV_CAP_FLAG_ATOMIC	= 1 << 18, -	MLX4_DEV_CAP_FLAG_RAW_MCAST	= 1 << 19, -	MLX4_DEV_CAP_FLAG_UD_AV_PORT	= 1 << 20, -	MLX4_DEV_CAP_FLAG_UD_MCAST	= 1 << 21, -	MLX4_DEV_CAP_FLAG_IBOE		= 1 << 30 +	MLX4_DEV_CAP_FLAG_RC		= 1LL <<  0, +	MLX4_DEV_CAP_FLAG_UC		= 1LL <<  1, +	MLX4_DEV_CAP_FLAG_UD		= 1LL <<  2, +	MLX4_DEV_CAP_FLAG_SRQ		= 1LL <<  6, +	MLX4_DEV_CAP_FLAG_IPOIB_CSUM	= 1LL <<  7, +	MLX4_DEV_CAP_FLAG_BAD_PKEY_CNTR	= 1LL <<  8, +	MLX4_DEV_CAP_FLAG_BAD_QKEY_CNTR	= 1LL <<  9, +	MLX4_DEV_CAP_FLAG_DPDP		= 1LL << 12, +	MLX4_DEV_CAP_FLAG_BLH		= 1LL << 15, +	MLX4_DEV_CAP_FLAG_MEM_WINDOW	= 1LL << 16, +	MLX4_DEV_CAP_FLAG_APM		= 1LL << 17, +	MLX4_DEV_CAP_FLAG_ATOMIC	= 1LL << 18, +	MLX4_DEV_CAP_FLAG_RAW_MCAST	= 1LL << 19, +	MLX4_DEV_CAP_FLAG_UD_AV_PORT	= 1LL << 20, +	MLX4_DEV_CAP_FLAG_UD_MCAST	= 1LL << 21, +	MLX4_DEV_CAP_FLAG_IBOE		= 1LL << 30, +	MLX4_DEV_CAP_FLAG_UC_LOOPBACK	= 1LL << 32, +	MLX4_DEV_CAP_FLAG_WOL		= 1LL << 38, +	MLX4_DEV_CAP_FLAG_UDP_RSS	= 1LL << 40, +	MLX4_DEV_CAP_FLAG_VEP_UC_STEER	= 1LL << 41, +	MLX4_DEV_CAP_FLAG_VEP_MC_STEER	= 1LL << 42, +	MLX4_DEV_CAP_FLAG_COUNTERS	= 1LL << 48  };  enum { @@ -253,15 +259,10 @@ struct mlx4_caps {  	int			mtt_entry_sz;  	u32			max_msg_sz;  	u32			page_size_cap; -	u32			flags; +	u64			flags;  	u32			bmme_flags;  	u32			reserved_lkey;  	u16			stat_rate_support; -	int			udp_rss; -	int			loopback_support; -	int			vep_uc_steering; -	int			vep_mc_steering; -	int			wol;  	u8			port_width_cap[MLX4_MAX_PORTS + 1];  	int			max_gso_sz;  	int                     reserved_qps_cnt[MLX4_NUM_QP_REGION]; @@ -274,6 +275,7 @@ struct mlx4_caps {  	u8			supported_type[MLX4_MAX_PORTS + 1];  	u32			port_mask;  	enum mlx4_port_type	possible_type[MLX4_MAX_PORTS + 1]; +	u32			max_counters;  };  struct mlx4_buf_list { @@ -438,6 +440,17 @@ union mlx4_ext_av {  	struct mlx4_eth_av	eth;  }; +struct mlx4_counter { +	u8	reserved1[3]; +	u8	counter_mode; +	__be32	num_ifc; +	u32	reserved2[2]; +	__be64	rx_frames; +	__be64	rx_bytes; +	__be64	tx_frames; +	__be64	tx_bytes; +}; +  struct mlx4_dev {  	struct pci_dev	       *pdev;  	unsigned long		flags; @@ -568,4 +581,7 @@ void mlx4_release_eq(struct mlx4_dev *dev, int vec);  int mlx4_wol_read(struct mlx4_dev *dev, u64 *config, int port);  int mlx4_wol_write(struct mlx4_dev *dev, u64 config, int port); +int mlx4_counter_alloc(struct mlx4_dev *dev, u32 *idx); +void mlx4_counter_free(struct mlx4_dev *dev, u32 idx); +  #endif /* MLX4_DEVICE_H */  |