mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-04 08:26:55 +07:00
mlx4: Activate RoCE/SRIOV
To activate RoCE/SRIOV, need to remove the following: 1. In mlx4_ib_add, need to remove the error return preventing initialization of a RoCE port under SRIOV. 2. In update_vport_qp_params (in resource_tracker.c) need to remove the error return when a RoCE RC or UD qp is detected. This error return causes the INIT-to-RTR qp transition to fail in the wrapper function under RoCE/SRIOV. Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ceb5433b3a
commit
aa9a2d51a3
@ -1888,14 +1888,6 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
|
||||
|
||||
pr_info_once("%s", mlx4_ib_version);
|
||||
|
||||
mlx4_foreach_non_ib_transport_port(i, dev)
|
||||
num_ports++;
|
||||
|
||||
if (mlx4_is_mfunc(dev) && num_ports) {
|
||||
dev_err(&dev->pdev->dev, "RoCE is not supported over SRIOV as yet\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
num_ports = 0;
|
||||
mlx4_foreach_ib_transport_port(i, dev)
|
||||
num_ports++;
|
||||
|
@ -645,7 +645,6 @@ static int update_vport_qp_param(struct mlx4_dev *dev,
|
||||
struct mlx4_qp_context *qpc = inbox->buf + 8;
|
||||
struct mlx4_vport_oper_state *vp_oper;
|
||||
struct mlx4_priv *priv;
|
||||
u32 qp_type;
|
||||
int port;
|
||||
|
||||
port = (qpc->pri_path.sched_queue & 0x40) ? 2 : 1;
|
||||
@ -653,12 +652,6 @@ static int update_vport_qp_param(struct mlx4_dev *dev,
|
||||
vp_oper = &priv->mfunc.master.vf_oper[slave].vport[port];
|
||||
|
||||
if (MLX4_VGT != vp_oper->state.default_vlan) {
|
||||
qp_type = (be32_to_cpu(qpc->flags) >> 16) & 0xff;
|
||||
if (MLX4_QP_ST_RC == qp_type ||
|
||||
(MLX4_QP_ST_UD == qp_type &&
|
||||
!mlx4_is_qp_reserved(dev, qpn)))
|
||||
return -EINVAL;
|
||||
|
||||
/* the reserved QPs (special, proxy, tunnel)
|
||||
* do not operate over vlans
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user