|
@@ -140,7 +140,8 @@ static void dump_dev_cap_flags2(struct mlx4_dev *dev, u64 flags)
|
|
|
[11] = "MAD DEMUX (Secure-Host) support",
|
|
|
[12] = "Large cache line (>64B) CQE stride support",
|
|
|
[13] = "Large cache line (>64B) EQE stride support",
|
|
|
- [14] = "Ethernet protocol control support"
|
|
|
+ [14] = "Ethernet protocol control support",
|
|
|
+ [15] = "Ethernet Backplane autoneg support"
|
|
|
};
|
|
|
int i;
|
|
|
|
|
@@ -575,6 +576,7 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
|
|
|
#define QUERY_DEV_CAP_BMME_FLAGS_OFFSET 0x94
|
|
|
#define QUERY_DEV_CAP_RSVD_LKEY_OFFSET 0x98
|
|
|
#define QUERY_DEV_CAP_MAX_ICM_SZ_OFFSET 0xa0
|
|
|
+#define QUERY_DEV_CAP_ETH_BACKPL_OFFSET 0x9c
|
|
|
#define QUERY_DEV_CAP_FW_REASSIGN_MAC 0x9d
|
|
|
#define QUERY_DEV_CAP_VXLAN 0x9e
|
|
|
#define QUERY_DEV_CAP_MAD_DEMUX_OFFSET 0xb0
|
|
@@ -749,6 +751,9 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
|
|
|
QUERY_DEV_CAP_BMME_FLAGS_OFFSET);
|
|
|
MLX4_GET(dev_cap->reserved_lkey, outbox,
|
|
|
QUERY_DEV_CAP_RSVD_LKEY_OFFSET);
|
|
|
+ MLX4_GET(field32, outbox, QUERY_DEV_CAP_ETH_BACKPL_OFFSET);
|
|
|
+ if (field32 & (1 << 0))
|
|
|
+ dev_cap->flags2 |= MLX4_DEV_CAP_FLAG2_ETH_BACKPL_AN_REP;
|
|
|
MLX4_GET(field, outbox, QUERY_DEV_CAP_FW_REASSIGN_MAC);
|
|
|
if (field & 1<<6)
|
|
|
dev_cap->flags2 |= MLX4_DEV_CAP_FLAG2_REASSIGN_MAC_EN;
|