From: Eli Cohen <elic@nvidia.com>
Date: Thu, 9 Sep 2021 15:36:33 +0300
Subject: vdpa/mlx5: Remove mtu field from vdpa net device
Patch-mainline: v5.16-rc1
Git-commit: 246fd1caf0f4424a79fd7cb0a5fe69103ea7995b
References: jsc#PED-1549
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: Eli Cohen <elic@nvidia.com>
Link: https://lore.kernel.org/r/20210909123635.30884-2-elic@nvidia.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/vdpa/mlx5/net/mlx5_vnet.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
--- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
+++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
@@ -159,7 +159,6 @@ struct mlx5_vdpa_net {
struct mlx5_fc *rx_counter;
struct mlx5_flow_handle *rx_rule;
bool setup;
- u16 mtu;
u32 cur_num_vqs;
};
@@ -1942,8 +1941,6 @@ static int mlx5_vdpa_set_features(struct
return err;
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);
return err;
}
@@ -2405,6 +2402,7 @@ static int mlx5_vdpa_dev_add(struct vdpa
struct mlx5_vdpa_net *ndev;
struct mlx5_core_dev *mdev;
u32 max_vqs;
+ u16 mtu;
int err;
if (mgtdev->ndev)
@@ -2432,10 +2430,13 @@ static int mlx5_vdpa_dev_add(struct vdpa
init_mvqs(ndev);
mutex_init(&ndev->reslock);
config = &ndev->config;
- err = query_mtu(mdev, &ndev->mtu);
+ err = query_mtu(mdev, &mtu);
if (err)
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);
if (err)
goto err_mtu;