Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9cc599a authored by Moshe Shemesh's avatar Moshe Shemesh Committed by David S. Miller
Browse files

net/mlx4_core: Fix QUERY FUNC CAP flags



Separate QUERY_FUNC_CAP flags0 from QUERY_FUNC_CAP flags, as 'flags' is
already used for another set of flags in FUNC CAP, while phv bit should be
part of a different set of flags.
Remove QUERY_FUNC_CAP port_flags field, as it is not in use.

Fixes: 77fc29c4 ('net/mlx4_core: Preparations for 802.1ad VLAN support')
Fixes: 5cc914f1 ('mlx4_core: Added FW commands and their wrappers for supporting SRIOV')
Signed-off-by: default avatarMoshe Shemesh <moshe@mellanox.com>
Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent fb2a3d5c
Loading
Loading
Loading
Loading
+2 −3
Original line number Original line Diff line number Diff line
@@ -612,8 +612,7 @@ int mlx4_QUERY_FUNC_CAP(struct mlx4_dev *dev, u8 gen_or_port,
		MLX4_GET(func_cap->phys_port_id, outbox,
		MLX4_GET(func_cap->phys_port_id, outbox,
			 QUERY_FUNC_CAP_PHYS_PORT_ID);
			 QUERY_FUNC_CAP_PHYS_PORT_ID);


	MLX4_GET(field, outbox, QUERY_FUNC_CAP_FLAGS0_OFFSET);
	MLX4_GET(func_cap->flags0, outbox, QUERY_FUNC_CAP_FLAGS0_OFFSET);
	func_cap->flags |= (field & QUERY_FUNC_CAP_PHV_BIT);


	/* All other resources are allocated by the master, but we still report
	/* All other resources are allocated by the master, but we still report
	 * 'num' and 'reserved' capabilities as follows:
	 * 'num' and 'reserved' capabilities as follows:
@@ -2914,7 +2913,7 @@ int get_phv_bit(struct mlx4_dev *dev, u8 port, int *phv)
	memset(&func_cap, 0, sizeof(func_cap));
	memset(&func_cap, 0, sizeof(func_cap));
	err = mlx4_QUERY_FUNC_CAP(dev, port, &func_cap);
	err = mlx4_QUERY_FUNC_CAP(dev, port, &func_cap);
	if (!err)
	if (!err)
		*phv = func_cap.flags & QUERY_FUNC_CAP_PHV_BIT;
		*phv = func_cap.flags0 & QUERY_FUNC_CAP_PHV_BIT;
	return err;
	return err;
}
}
EXPORT_SYMBOL(get_phv_bit);
EXPORT_SYMBOL(get_phv_bit);
+1 −1
Original line number Original line Diff line number Diff line
@@ -152,7 +152,7 @@ struct mlx4_func_cap {
	u32	qp1_proxy_qpn;
	u32	qp1_proxy_qpn;
	u32	reserved_lkey;
	u32	reserved_lkey;
	u8	physical_port;
	u8	physical_port;
	u8	port_flags;
	u8	flags0;
	u8	flags1;
	u8	flags1;
	u64	phys_port_id;
	u64	phys_port_id;
	u32	extra_flags;
	u32	extra_flags;