Displaying 4 results from an estimated 4 matches for "mlx5_vdpa_set_driver_features".
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_group,...
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_feat...
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 mlx...
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;
> >>
> >>...