Displaying 2 results from an estimated 2 matches for "query_virtqueue".
2020 Oct 01
0
[PATCH] vdpa/mlx5: should keep avail_index despite device status
...b/drivers/vdpa/mlx5/net/mlx5_vnet.c
index 70676a6..74264e59 100644
--- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
+++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
@@ -1133,15 +1133,17 @@ static void suspend_vq(struct mlx5_vdpa_net *ndev, struct mlx5_vdpa_virtqueue *m
if (!mvq->initialized)
return;
- if (query_virtqueue(ndev, mvq, &attr)) {
- mlx5_vdpa_warn(&ndev->mvdev, "failed to query virtqueue\n");
- return;
- }
if (mvq->fw_state != MLX5_VIRTIO_NET_Q_OBJECT_STATE_RDY)
return;
if (modify_virtqueue(ndev, mvq, MLX5_VIRTIO_NET_Q_OBJECT_STATE_SUSPEND))
mlx5_vdpa_warn(&ndev-...
2020 Jul 16
0
[PATCH vhost next 10/10] vdpa/mlx5: Add VDPA driver for supported mlx5 devices
...> + err = modify_qp(ndev, mvq, false, MLX5_CMD_OP_INIT2RTR_QP);
> + if (err)
> + return err;
> +
> + return modify_qp(ndev, mvq, true, MLX5_CMD_OP_RTR2RTS_QP);
> +}
> +
> +struct mlx5_virtq_attr {
> + u8 state;
> + u16 available_index;
> +};
> +
> +static int query_virtqueue(struct mlx5_vdpa_net *ndev, struct mlx5_vdpa_virtqueue *mvq,
> + struct mlx5_virtq_attr *attr)
> +{
> + int outlen = MLX5_ST_SZ_BYTES(query_virtio_net_q_out);
> + u32 in[MLX5_ST_SZ_DW(query_virtio_net_q_in)] = {};
> + void *out;
> + void *obj_context;
> + void *cmd_hdr;
&g...