2022-01-08 18:00:53

by Michael S. Tsirkin

[permalink] [raw]
Subject: [PATCH] vdpa/mlx5: fix endian-ness for max vqs

sparse warnings: (new ones prefixed by >>)
>> drivers/vdpa/mlx5/net/mlx5_vnet.c:1247:23: sparse: sparse: cast to restricted __le16
>> drivers/vdpa/mlx5/net/mlx5_vnet.c:1247:23: sparse: sparse: cast from restricted __virtio16

> 1247 num = le16_to_cpu(ndev->config.max_virtqueue_pairs);

Address this using the appropriate wrapper.

Fixes: 7620d51af29a ("vdpa/mlx5: Support configuring max data virtqueue")
Cc: "Eli Cohen" <[email protected]>
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Michael S. Tsirkin <[email protected]>
---
drivers/vdpa/mlx5/net/mlx5_vnet.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c
index 84b1919015ce..d1ff65065fb1 100644
--- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
+++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
@@ -1242,7 +1242,8 @@ static int create_rqt(struct mlx5_vdpa_net *ndev)
if (!(ndev->mvdev.actual_features & BIT_ULL(VIRTIO_NET_F_MQ)))
num = 1;
else
- num = le16_to_cpu(ndev->config.max_virtqueue_pairs);
+ num = mlx5vdpa16_to_cpu(&ndev->mvdev,
+ ndev->config.max_virtqueue_pairs);

max_rqt = min_t(int, roundup_pow_of_two(num),
1 << MLX5_CAP_GEN(ndev->mvdev.mdev, log_max_rqt_size));
--
MST



2022-01-10 02:44:43

by Jason Wang

[permalink] [raw]
Subject: Re: [PATCH] vdpa/mlx5: fix endian-ness for max vqs

On Sun, Jan 9, 2022 at 2:00 AM Michael S. Tsirkin <[email protected]> wrote:
>
> sparse warnings: (new ones prefixed by >>)
> >> drivers/vdpa/mlx5/net/mlx5_vnet.c:1247:23: sparse: sparse: cast to restricted __le16
> >> drivers/vdpa/mlx5/net/mlx5_vnet.c:1247:23: sparse: sparse: cast from restricted __virtio16
>
> > 1247 num = le16_to_cpu(ndev->config.max_virtqueue_pairs);
>
> Address this using the appropriate wrapper.
>
> Fixes: 7620d51af29a ("vdpa/mlx5: Support configuring max data virtqueue")
> Cc: "Eli Cohen" <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: Michael S. Tsirkin <[email protected]>

Acked-by: Jason Wang <[email protected]>

> ---
> drivers/vdpa/mlx5/net/mlx5_vnet.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> index 84b1919015ce..d1ff65065fb1 100644
> --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> @@ -1242,7 +1242,8 @@ static int create_rqt(struct mlx5_vdpa_net *ndev)
> if (!(ndev->mvdev.actual_features & BIT_ULL(VIRTIO_NET_F_MQ)))
> num = 1;
> else
> - num = le16_to_cpu(ndev->config.max_virtqueue_pairs);
> + num = mlx5vdpa16_to_cpu(&ndev->mvdev,
> + ndev->config.max_virtqueue_pairs);
>
> max_rqt = min_t(int, roundup_pow_of_two(num),
> 1 << MLX5_CAP_GEN(ndev->mvdev.mdev, log_max_rqt_size));
> --
> MST
>


2022-01-10 05:24:11

by Eli Cohen

[permalink] [raw]
Subject: Re: [PATCH] vdpa/mlx5: fix endian-ness for max vqs

On Sat, Jan 08, 2022 at 01:00:43PM -0500, Michael S. Tsirkin wrote:
> sparse warnings: (new ones prefixed by >>)
> >> drivers/vdpa/mlx5/net/mlx5_vnet.c:1247:23: sparse: sparse: cast to restricted __le16
> >> drivers/vdpa/mlx5/net/mlx5_vnet.c:1247:23: sparse: sparse: cast from restricted __virtio16
>
> > 1247 num = le16_to_cpu(ndev->config.max_virtqueue_pairs);
>
> Address this using the appropriate wrapper.
>
> Fixes: 7620d51af29a ("vdpa/mlx5: Support configuring max data virtqueue")
> Cc: "Eli Cohen" <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: Michael S. Tsirkin <[email protected]>
> ---

Reviewed-by: Eli Cohen <[email protected]>

> drivers/vdpa/mlx5/net/mlx5_vnet.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> index 84b1919015ce..d1ff65065fb1 100644
> --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> @@ -1242,7 +1242,8 @@ static int create_rqt(struct mlx5_vdpa_net *ndev)
> if (!(ndev->mvdev.actual_features & BIT_ULL(VIRTIO_NET_F_MQ)))
> num = 1;
> else
> - num = le16_to_cpu(ndev->config.max_virtqueue_pairs);
> + num = mlx5vdpa16_to_cpu(&ndev->mvdev,
> + ndev->config.max_virtqueue_pairs);
>
> max_rqt = min_t(int, roundup_pow_of_two(num),
> 1 << MLX5_CAP_GEN(ndev->mvdev.mdev, log_max_rqt_size));
> --
> MST
>