search for: mlx5_vdpa_set_driver_featur

Displaying 4 results from an estimated 4 matches for "mlx5_vdpa_set_driver_featur".

2023 Jul 04
1
[PATCH] mlx5_vdpa: offer VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK
...5_vdpa_net *ndev) >> flush_workqueue(ndev->mvdev.wq); >> } >> >> +static u64 mlx5_vdpa_get_backend_features(const struct vdpa_device *vdpa) >> +{ >> + return BIT_ULL(VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK); >> +} >> + >> static int mlx5_vdpa_set_driver_features(struct vdpa_device *vdev, u64 features) >> { >> struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); >> @@ -3140,6 +3146,7 @@ static const struct vdpa_config_ops mlx5_vdpa_ops = { >> .get_vq_align = mlx5_vdpa_get_vq_align, >> .get_vq_group = mlx5_vdpa_get_vq_grou...
2023 Jul 03
1
[PATCH] mlx5_vdpa: offer VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK
...void unregister_link_notifier(struct mlx5_vdpa_net *ndev) > flush_workqueue(ndev->mvdev.wq); > } > > +static u64 mlx5_vdpa_get_backend_features(const struct vdpa_device *vdpa) > +{ > + return BIT_ULL(VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK); > +} > + > static int mlx5_vdpa_set_driver_features(struct vdpa_device *vdev, u64 features) > { > struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); > @@ -3140,6 +3146,7 @@ static const struct vdpa_config_ops mlx5_vdpa_ops = { > .get_vq_align = mlx5_vdpa_get_vq_align, > .get_vq_group = mlx5_vdpa_get_vq_group, > .get_device_fe...
2023 Mar 27
0
[PATCH] vdpa/mlx5: Avoid losing link state updates
...p;ndev->status_lock); > + if (up) > + ndev->config.status |= cpu_to_mlx5vdpa16(mvdev, VIRTIO_NET_S_LINK_UP); > + else > + ndev->config.status &= cpu_to_mlx5vdpa16(mvdev, ~VIRTIO_NET_S_LINK_UP); > + spin_unlock(&ndev->status_lock); > +} > + > static int mlx5_vdpa_set_driver_features(struct vdpa_device *vdev, u64 features) > { > struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); > struct mlx5_vdpa_net *ndev = to_mlx5_vdpa_ndev(mvdev); > + u64 cur_features; > int err; > > print_features(mvdev, features, true); > @@ -2310,7 +2362,11 @@ static int m...
2023 Apr 03
0
[Patch v3] vdpa/mlx5: Avoid losing link state updates
...> Under which case could we hit mvdev.wq = NULL? > > > > (We call unregister_link_notifier() before setting mq to NULL during > > device del). > > > >> + flush_workqueue(ndev->mvdev.wq); > >> +} > >> + > >> static int mlx5_vdpa_set_driver_features(struct vdpa_device *vdev, u64 features) > >> { > >> struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev); > >> struct mlx5_vdpa_net *ndev = to_mlx5_vdpa_ndev(mvdev); > >> + u64 old; > >> int err; > >> > >>...