Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Jan 2011 05:54:50 +0000 (UTC)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r216912 - projects/ofed/base/sys/ofed/include/linux/mlx4
Message-ID:  <201101030554.p035soCr076455@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jeff
Date: Mon Jan  3 05:54:49 2011
New Revision: 216912
URL: http://svn.freebsd.org/changeset/base/216912

Log:
   - Merge new mlx4 includes.
  
  Sponsored by:	Isilon Systems, iX Systems, and Panasas.

Modified:
  projects/ofed/base/sys/ofed/include/linux/mlx4/cmd.h
  projects/ofed/base/sys/ofed/include/linux/mlx4/device.h
  projects/ofed/base/sys/ofed/include/linux/mlx4/driver.h
  projects/ofed/base/sys/ofed/include/linux/mlx4/qp.h

Modified: projects/ofed/base/sys/ofed/include/linux/mlx4/cmd.h
==============================================================================
--- projects/ofed/base/sys/ofed/include/linux/mlx4/cmd.h	Mon Jan  3 05:37:14 2011	(r216911)
+++ projects/ofed/base/sys/ofed/include/linux/mlx4/cmd.h	Mon Jan  3 05:54:49 2011	(r216912)
@@ -58,6 +58,7 @@ enum {
 	MLX4_CMD_SENSE_PORT	 = 0x4d,
 	MLX4_CMD_HW_HEALTH_CHECK = 0x50,
 	MLX4_CMD_SET_PORT	 = 0xc,
+	MLX4_CMD_SET_NODE	 = 0x5a,
 	MLX4_CMD_ACCESS_DDR	 = 0x2e,
 	MLX4_CMD_MAP_ICM	 = 0xffa,
 	MLX4_CMD_UNMAP_ICM	 = 0xff9,

Modified: projects/ofed/base/sys/ofed/include/linux/mlx4/device.h
==============================================================================
--- projects/ofed/base/sys/ofed/include/linux/mlx4/device.h	Mon Jan  3 05:37:14 2011	(r216911)
+++ projects/ofed/base/sys/ofed/include/linux/mlx4/device.h	Mon Jan  3 05:54:49 2011	(r216912)
@@ -39,6 +39,8 @@
 
 #include <asm/atomic.h>
 
+#include <linux/mlx4/driver.h>
+
 enum {
 	MLX4_FLAG_MSI_X		= 1 << 0,
 	MLX4_FLAG_OLD_PORT_CMDS	= 1 << 1,
@@ -179,6 +181,10 @@ enum {
 	MLX4_CUNTERS_EXT
 };
 
+enum {
+	MAX_FAST_REG_PAGES = 511,
+};
+
 static inline u64 mlx4_fw_ver(u64 major, u64 minor, u64 subminor)
 {
 	return (major << 32) | (minor << 16) | subminor;
@@ -338,6 +344,17 @@ struct mlx4_fmr {
 struct mlx4_uar {
 	unsigned long		pfn;
 	int			index;
+	struct list_head	bf_list;
+	unsigned		free_bf_bmap;
+	void __iomem	       *map;
+	void __iomem	       *bf_map;
+};
+
+struct mlx4_bf {
+	unsigned long		offset;
+	int			buf_size;
+	struct mlx4_uar	       *uar;
+	void __iomem	       *reg;
 };
 
 struct mlx4_cq {
@@ -406,8 +423,7 @@ struct mlx4_eth_av {
 	u8		dgid[16];
 	u32		reserved4[2];
 	__be16		vlan;
-	u8		mac_0_1[2];
-	u8		mac_2_5[4];
+	u8		mac[6];
 };
 
 union mlx4_ext_av {
@@ -512,6 +528,8 @@ void mlx4_xrcd_free(struct mlx4_dev *dev
 
 int mlx4_uar_alloc(struct mlx4_dev *dev, struct mlx4_uar *uar);
 void mlx4_uar_free(struct mlx4_dev *dev, struct mlx4_uar *uar);
+int mlx4_bf_alloc(struct mlx4_dev *dev, struct mlx4_bf *bf);
+void mlx4_bf_free(struct mlx4_dev *dev, struct mlx4_bf *bf);
 
 int mlx4_mtt_init(struct mlx4_dev *dev, int npages, int page_shift,
 		  struct mlx4_mtt *mtt);
@@ -562,8 +580,9 @@ int mlx4_INIT_PORT(struct mlx4_dev *dev,
 int mlx4_CLOSE_PORT(struct mlx4_dev *dev, int port);
 
 int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
-			  int block_mcast_loopback);
-int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]);
+			  int block_mcast_loopback, enum mlx4_mcast_prot prot);
+int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
+				enum mlx4_mcast_prot prot);
 
 int mlx4_register_mac(struct mlx4_dev *dev, u8 port, u64 mac, int *index);
 void mlx4_unregister_mac(struct mlx4_dev *dev, u8 port, int index);

Modified: projects/ofed/base/sys/ofed/include/linux/mlx4/driver.h
==============================================================================
--- projects/ofed/base/sys/ofed/include/linux/mlx4/driver.h	Mon Jan  3 05:37:14 2011	(r216911)
+++ projects/ofed/base/sys/ofed/include/linux/mlx4/driver.h	Mon Jan  3 05:54:49 2011	(r216912)
@@ -54,6 +54,11 @@ enum mlx4_prot {
 	MLX4_PROT_EN,
 };
 
+enum mlx4_mcast_prot {
+	MLX4_MCAST_PROT_IB = 0,
+	MLX4_MCAST_PROT_EN = 1,
+};
+
 struct mlx4_interface {
 	void *			(*add)	 (struct mlx4_dev *dev);
 	void			(*remove)(struct mlx4_dev *dev, void *context);
@@ -71,5 +76,7 @@ void mlx4_unregister_interface(struct ml
 void *mlx4_get_prot_dev(struct mlx4_dev *dev, enum mlx4_prot proto, int port);
 
 struct mlx4_dev *mlx4_query_interface(void *, int *port);
+void mlx4_set_iboe_counter(struct mlx4_dev *dev, int index, u8 port);
+int mlx4_get_iboe_counter(struct mlx4_dev *dev, u8 port);
 
 #endif /* MLX4_DRIVER_H */

Modified: projects/ofed/base/sys/ofed/include/linux/mlx4/qp.h
==============================================================================
--- projects/ofed/base/sys/ofed/include/linux/mlx4/qp.h	Mon Jan  3 05:37:14 2011	(r216911)
+++ projects/ofed/base/sys/ofed/include/linux/mlx4/qp.h	Mon Jan  3 05:54:49 2011	(r216912)
@@ -314,6 +314,7 @@ struct mlx4_wqe_data_seg {
 
 enum {
 	MLX4_INLINE_ALIGN	= 64,
+	MLX4_INLINE_SEG		= 1 << 31,
 };
 
 struct mlx4_wqe_inline_seg {
@@ -337,6 +338,7 @@ static inline struct mlx4_qp *__mlx4_qp_
 	return radix_tree_lookup(&dev->qp_table_tree, qpn & (dev->caps.num_qps - 1));
 }
 
+struct mlx4_qp *mlx4_qp_lookup_lock(struct mlx4_dev *dev, u32 qpn);
 void mlx4_qp_remove(struct mlx4_dev *dev, struct mlx4_qp *qp);
 int mlx4_qp_get_region(struct mlx4_dev *dev, enum mlx4_qp_region region,
 			int *base_qpn, int *cnt);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101030554.p035soCr076455>