Displaying 7 results from an estimated 7 matches for "suspend_vq".
2020 Oct 01
0
[PATCH] vdpa/mlx5: should keep avail_index despite device status
...++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c 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_...
2023 Feb 15
1
[PATCH v3] vdpa/mlx5: should not activate virtq object when suspended
...virtqueue *mvq;
int i;
+ mlx5_vdpa_info(mvdev, "suspending device\n");
+
down_write(&ndev->reslock);
ndev->nb_registered = false;
mlx5_notifier_unregister(mvdev->mdev, &ndev->nb);
@@ -2824,6 +2827,7 @@ static int mlx5_vdpa_suspend(struct vdpa_device *vdev)
suspend_vq(ndev, mvq);
}
mlx5_vdpa_cvq_suspend(mvdev);
+ mvdev->suspended = true;
up_write(&ndev->reslock);
return 0;
}
--
1.8.3.1
2023 Feb 16
1
[PATCH v3] vdpa/mlx5: should not activate virtq object when suspended
...ending device\n");
> +
> down_write(&ndev->reslock);
> ndev->nb_registered = false;
> mlx5_notifier_unregister(mvdev->mdev, &ndev->nb);
> @@ -2824,6 +2827,7 @@ static int mlx5_vdpa_suspend(struct vdpa_device *vdev)
> suspend_vq(ndev, mvq);
> }
> mlx5_vdpa_cvq_suspend(mvdev);
> + mvdev->suspended = true;
> up_write(&ndev->reslock);
> return 0;
> }
> --
> 1.8.3.1
>
2020 Jul 17
0
[PATCH vhost next 10/10] vdpa/mlx5: Add VDPA driver for supported mlx5 devices
On 2020/7/16 ??7:54, Eli Cohen wrote:
> On Thu, Jul 16, 2020 at 05:14:32PM +0800, Jason Wang wrote:
>>> +static void suspend_vqs(struct mlx5_vdpa_net *ndev)
>>> +{
>>> + int i;
>>> +
>>> + for (i = 0; i < MLX5_MAX_SUPPORTED_VQS; i++)
>>> + suspend_vq(ndev, &ndev->vqs[i]);
>>
>> In teardown_virtqueues() it has a check of mvq->num_ent, any reason
>>...
2023 Feb 16
1
[PATCH v3] vdpa/mlx5: should not activate virtq object when suspended
...> +
>> down_write(&ndev->reslock);
>> ndev->nb_registered = false;
>> mlx5_notifier_unregister(mvdev->mdev, &ndev->nb);
>> @@ -2824,6 +2827,7 @@ static int mlx5_vdpa_suspend(struct vdpa_device *vdev)
>> suspend_vq(ndev, mvq);
>> }
>> mlx5_vdpa_cvq_suspend(mvdev);
>> + mvdev->suspended = true;
>> up_write(&ndev->reslock);
>> return 0;
>> }
>> --
>> 1.8.3.1
>>
2020 Jul 16
0
[PATCH vhost next 10/10] vdpa/mlx5: Add VDPA driver for supported mlx5 devices
...}
> + }
> +
> + mvq->initialized = true;
> + return 0;
> +
> +err_connect:
> + qp_destroy(ndev, &mvq->vqqp);
> +err_vqqp:
> + qp_destroy(ndev, &mvq->fwqp);
> +err_fwqp:
> + cq_destroy(ndev, idx);
> + return err;
> +}
> +
> +static void suspend_vq(struct mlx5_vdpa_net *ndev, struct mlx5_vdpa_virtqueue *mvq)
> +{
> + struct mlx5_virtq_attr attr;
> +
> + if (!mvq->initialized)
> + return;
> +
> + if (query_virtqueue(ndev, mvq, &attr)) {
> + mlx5_vdpa_warn(&ndev->mvdev, "failed to query virtqueue\n&q...
2023 Apr 03
0
[Patch v3] vdpa/mlx5: Avoid losing link state updates
...t;mdev, &ndev->nb);
> >> - flush_workqueue(ndev->mvdev.wq);
> >> + unregister_link_notifier(ndev);
> >> for (i = 0; i < ndev->cur_num_vqs; i++) {
> >> mvq = &ndev->vqs[i];
> >> suspend_vq(ndev, mvq);
> >> @@ -3022,84 +3130,6 @@ struct mlx5_vdpa_mgmtdev {
> >> struct mlx5_vdpa_net *ndev;
> >> };
> >>
> >> -static u8 query_vport_state(struct mlx5_core_dev *mdev, u8 opmod, u16 vport)
> >> -{
> >> - u32 out[...