OSDN Git Service

vdpa/mlx5: Make use of a specific 16 bit endianness API
authorEli Cohen <elic@nvidia.com>
Thu, 17 Sep 2020 12:14:25 +0000 (15:14 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 21 Oct 2020 14:34:06 +0000 (10:34 -0400)
Introduce a dedicated function to be used for setting 16 bit fields per
virio endianness requirements and use it to set the mtu field.

Signed-off-by: Eli Cohen <elic@nvidia.com>
Link: https://lore.kernel.org/r/20200917121425.GA98139@mtl-vdi-166.wap.labs.mlnx
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
drivers/vdpa/mlx5/net/mlx5_vnet.c

index 74264e5..5622846 100644 (file)
@@ -1522,6 +1522,11 @@ static inline bool mlx5_vdpa_is_little_endian(struct mlx5_vdpa_dev *mvdev)
                (mvdev->actual_features & (1ULL << VIRTIO_F_VERSION_1));
 }
 
+static __virtio16 cpu_to_mlx5vdpa16(struct mlx5_vdpa_dev *mvdev, u16 val)
+{
+       return __cpu_to_virtio16(mlx5_vdpa_is_little_endian(mvdev), val);
+}
+
 static int mlx5_vdpa_set_features(struct vdpa_device *vdev, u64 features)
 {
        struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev);
@@ -1535,8 +1540,7 @@ static int mlx5_vdpa_set_features(struct vdpa_device *vdev, u64 features)
                return err;
 
        ndev->mvdev.actual_features = features & ndev->mvdev.mlx_features;
-       ndev->config.mtu = __cpu_to_virtio16(mlx5_vdpa_is_little_endian(mvdev),
-                                            ndev->mtu);
+       ndev->config.mtu = cpu_to_mlx5vdpa16(mvdev, ndev->mtu);
        return err;
 }