Commit 246fd1ca authored by Eli Cohen's avatar Eli Cohen Committed by Michael S. Tsirkin

vdpa/mlx5: Remove mtu field from vdpa net device

No need to save the mtu int the net device struct. We can save it in the
config struct which cannot be modified.

Moreover, move the initialization to. mlx5_vdpa_set_features() callback
is not the right place to put it.
Signed-off-by: default avatarEli Cohen <elic@nvidia.com>
Link: https://lore.kernel.org/r/20210909123635.30884-2-elic@nvidia.comSigned-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent e85087be
...@@ -159,7 +159,6 @@ struct mlx5_vdpa_net { ...@@ -159,7 +159,6 @@ struct mlx5_vdpa_net {
struct mlx5_fc *rx_counter; struct mlx5_fc *rx_counter;
struct mlx5_flow_handle *rx_rule; struct mlx5_flow_handle *rx_rule;
bool setup; bool setup;
u16 mtu;
u32 cur_num_vqs; u32 cur_num_vqs;
}; };
...@@ -1942,8 +1941,6 @@ static int mlx5_vdpa_set_features(struct vdpa_device *vdev, u64 features) ...@@ -1942,8 +1941,6 @@ static int mlx5_vdpa_set_features(struct vdpa_device *vdev, u64 features)
return err; return err;
ndev->mvdev.actual_features = features & ndev->mvdev.mlx_features; ndev->mvdev.actual_features = features & ndev->mvdev.mlx_features;
ndev->config.mtu = cpu_to_mlx5vdpa16(mvdev, ndev->mtu);
ndev->config.status |= cpu_to_mlx5vdpa16(mvdev, VIRTIO_NET_S_LINK_UP);
update_cvq_info(mvdev); update_cvq_info(mvdev);
return err; return err;
} }
...@@ -2413,6 +2410,7 @@ static int mlx5_vdpa_dev_add(struct vdpa_mgmt_dev *v_mdev, const char *name) ...@@ -2413,6 +2410,7 @@ static int mlx5_vdpa_dev_add(struct vdpa_mgmt_dev *v_mdev, const char *name)
struct mlx5_vdpa_net *ndev; struct mlx5_vdpa_net *ndev;
struct mlx5_core_dev *mdev; struct mlx5_core_dev *mdev;
u32 max_vqs; u32 max_vqs;
u16 mtu;
int err; int err;
if (mgtdev->ndev) if (mgtdev->ndev)
...@@ -2440,10 +2438,13 @@ static int mlx5_vdpa_dev_add(struct vdpa_mgmt_dev *v_mdev, const char *name) ...@@ -2440,10 +2438,13 @@ static int mlx5_vdpa_dev_add(struct vdpa_mgmt_dev *v_mdev, const char *name)
init_mvqs(ndev); init_mvqs(ndev);
mutex_init(&ndev->reslock); mutex_init(&ndev->reslock);
config = &ndev->config; config = &ndev->config;
err = query_mtu(mdev, &ndev->mtu); err = query_mtu(mdev, &mtu);
if (err) if (err)
goto err_mtu; goto err_mtu;
ndev->config.mtu = cpu_to_mlx5vdpa16(mvdev, mtu);
ndev->config.status |= cpu_to_mlx5vdpa16(mvdev, VIRTIO_NET_S_LINK_UP);
err = mlx5_query_nic_vport_mac_address(mdev, 0, 0, config->mac); err = mlx5_query_nic_vport_mac_address(mdev, 0, 0, config->mac);
if (err) if (err)
goto err_mtu; goto err_mtu;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment