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>