mirror of
https://github.com/torvalds/linux.git
synced 2026-03-13 23:46:14 +01:00
RDMA/mlx5: Initialize phys_port_cnt earlier in RDMA device creation
phys_port_cnt of the IB device must be initialized before calling ib_device_set_netdev(). Previously, phys_port_cnt was initialized in the mlx5_ib init function. Remove this initialization to allow setting it separately, providing the flexibility to call ib_device_set_netdev before registering the IB device. Signed-off-by: Chiara Meiohas <cmeiohas@nvidia.com> Signed-off-by: Michael Guralnik <michaelgur@nvidia.com> Link: https://patch.msgid.link/20240909173025.30422-4-michaelgur@nvidia.com Signed-off-by: Leon Romanovsky <leon@kernel.org>
This commit is contained in:
parent
3ed7f9e239
commit
91b4b2c626
2 changed files with 3 additions and 1 deletions
|
|
@ -104,6 +104,7 @@ mlx5_ib_vport_rep_load(struct mlx5_core_dev *dev, struct mlx5_eswitch_rep *rep)
|
|||
ibdev->is_rep = true;
|
||||
vport_index = rep->vport_index;
|
||||
ibdev->port[vport_index].rep = rep;
|
||||
ibdev->ib_dev.phys_port_cnt = num_ports;
|
||||
ibdev->port[vport_index].roce.netdev =
|
||||
mlx5_ib_get_rep_netdev(lag_master->priv.eswitch, rep->vport);
|
||||
ibdev->mdev = lag_master;
|
||||
|
|
|
|||
|
|
@ -3934,7 +3934,6 @@ static int mlx5_ib_stage_init_init(struct mlx5_ib_dev *dev)
|
|||
|
||||
dev->ib_dev.node_type = RDMA_NODE_IB_CA;
|
||||
dev->ib_dev.local_dma_lkey = 0 /* not supported for now */;
|
||||
dev->ib_dev.phys_port_cnt = dev->num_ports;
|
||||
dev->ib_dev.dev.parent = mdev->device;
|
||||
dev->ib_dev.lag_flags = RDMA_LAG_FLAGS_HASH_ALL_SLAVES;
|
||||
|
||||
|
|
@ -4649,6 +4648,7 @@ static struct ib_device *mlx5_ib_add_sub_dev(struct ib_device *parent,
|
|||
mplane->mdev = mparent->mdev;
|
||||
mplane->num_ports = mparent->num_plane;
|
||||
mplane->sub_dev_name = name;
|
||||
mplane->ib_dev.phys_port_cnt = mplane->num_ports;
|
||||
|
||||
ret = __mlx5_ib_add(mplane, &plane_profile);
|
||||
if (ret)
|
||||
|
|
@ -4765,6 +4765,7 @@ static int mlx5r_probe(struct auxiliary_device *adev,
|
|||
|
||||
dev->mdev = mdev;
|
||||
dev->num_ports = num_ports;
|
||||
dev->ib_dev.phys_port_cnt = num_ports;
|
||||
|
||||
if (ll == IB_LINK_LAYER_ETHERNET && !mlx5_get_roce_state(mdev))
|
||||
profile = &raw_eth_profile;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue