Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mlx4_core: Update data structures and constants for IBoE

Add fields to hardware data structures and add new constants required for IBoE
support.

Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

authored by

Eli Cohen and committed by
Roland Dreier
96dfa684 33c87f0a

+10 -4
+2 -1
drivers/net/mlx4/fw.c
··· 98 98 [20] = "Address vector port checking support", 99 99 [21] = "UD multicast support", 100 100 [24] = "Demand paging support", 101 - [25] = "Router support" 101 + [25] = "Router support", 102 + [30] = "IBoE support" 102 103 }; 103 104 int i; 104 105
+1
include/linux/mlx4/cmd.h
··· 140 140 MLX4_SET_PORT_MAC_TABLE = 0x2, 141 141 MLX4_SET_PORT_VLAN_TABLE = 0x3, 142 142 MLX4_SET_PORT_PRIO_MAP = 0x4, 143 + MLX4_SET_PORT_GID_TABLE = 0x5, 143 144 }; 144 145 145 146 struct mlx4_dev;
+2 -1
include/linux/mlx4/device.h
··· 67 67 MLX4_DEV_CAP_FLAG_ATOMIC = 1 << 18, 68 68 MLX4_DEV_CAP_FLAG_RAW_MCAST = 1 << 19, 69 69 MLX4_DEV_CAP_FLAG_UD_AV_PORT = 1 << 20, 70 - MLX4_DEV_CAP_FLAG_UD_MCAST = 1 << 21 70 + MLX4_DEV_CAP_FLAG_UD_MCAST = 1 << 21, 71 + MLX4_DEV_CAP_FLAG_IBOE = 1 << 30 71 72 }; 72 73 73 74 enum {
+5 -2
include/linux/mlx4/qp.h
··· 112 112 u8 snooper_flags; 113 113 u8 reserved3[2]; 114 114 u8 counter_index; 115 - u8 reserved4[7]; 115 + u8 reserved4; 116 + u8 dmac[6]; 116 117 }; 117 118 118 119 struct mlx4_qp_context { ··· 167 166 MLX4_WQE_CTRL_TCP_UDP_CSUM = 1 << 5, 168 167 MLX4_WQE_CTRL_INS_VLAN = 1 << 6, 169 168 MLX4_WQE_CTRL_STRONG_ORDER = 1 << 7, 169 + MLX4_WQE_CTRL_FORCE_LOOPBACK = 1 << 0, 170 170 }; 171 171 172 172 struct mlx4_wqe_ctrl_seg { ··· 221 219 __be32 av[8]; 222 220 __be32 dqpn; 223 221 __be32 qkey; 224 - __be32 reservd[2]; 222 + __be16 vlan; 223 + u8 mac[6]; 225 224 }; 226 225 227 226 struct mlx4_wqe_lso_seg {