search for: suspend_vq

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[...