Displaying 8 results from an estimated 8 matches for "setup_driver".
2023 Apr 03
0
[Patch v3] vdpa/mlx5: Avoid losing link state updates
...TIO_NET_F_STATUS))
> >> + register_link_notifier(ndev);
> >> +
> > I still think it's better to move this check during set_status.
> > Otherwise, we may have a small window where the link update event is
> > sent before DRIVER_OK.
> How about setup_driver() and teardown driver to register/unregister the
> notfier?
If I understand the code correctly, setup_driver() will be called by
set_map() which could be called before DRIVER_OK.
Thanks
> >
> > Thanks
> >
> >> if (ndev->mvdev.actual_features & BIT_UL...
2020 Sep 07
0
[PATCH] vdpa/mlx5: Setup driver only if VIRTIO_CONFIG_S_DRIVER_OK
...> goto err_mr;
>
> + if (!(ndev->mvdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
> + return 0;
> +
I'm not sure I get this.
It looks to me if set_map() is called before DRIVER_OK, we won't build
any mapping?
Thanks
> restore_channels_info(ndev);
> err = setup_driver(ndev);
> if (err)
> --
> 2.26.0
>
>
2020 Sep 07
0
[PATCH] vdpa/mlx5: Setup driver only if VIRTIO_CONFIG_S_DRIVER_OK
...et.c
> @@ -1645,6 +1645,9 @@ static int mlx5_vdpa_change_map(struct mlx5_vdpa_net *ndev, struct vhost_iotlb *
> if (err)
> goto err_mr;
>
> + if (!(ndev->mvdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
> + return 0;
> +
> restore_channels_info(ndev);
> err = setup_driver(ndev);
> if (err)
> --
> 2.26.0
2020 Sep 08
0
[PATCH] vdpa/mlx5: Setup driver only if VIRTIO_CONFIG_S_DRIVER_OK
..._net *ndev, struct vhost_iotlb *
> > > if (err)
> > > goto err_mr;
> > >
> > > + if (!(ndev->mvdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
> > > + return 0;
> > > +
> > > restore_channels_info(ndev);
> > > err = setup_driver(ndev);
> > > if (err)
> > > --
> > > 2.26.0
> >
2020 Sep 09
0
[PATCH] vdpa/mlx5: Setup driver only if VIRTIO_CONFIG_S_DRIVER_OK
...vdpa_change_map().
> If that happens before VIRTIO_CONFIG_S_DRIVER_OK then Imay fail (in case
> I was not called to set VQs ready).
Right, this could be solved by adding the batched IOTLB updating.
Thanks
>
> >
> > > restore_channels_info(ndev);
> > > err = setup_driver(ndev);
> > > if (err)
> > > --
> > > 2.26.0
> > >
> > >
> >
>
>
2020 Sep 09
0
[PATCH v2] vdpa/mlx5: Setup driver only if VIRTIO_CONFIG_S_DRIVER_OK
...ev, struct vhost_iotlb *
> if (err)
> goto err_mr;
>
> + if (!(ndev->mvdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
> + return 0;
> +
Is there any reason that we still need to do vq suspending and saving before?
Thanks
> restore_channels_info(ndev);
> err = setup_driver(ndev);
> if (err)
> --
> 2.26.0
>
>
2023 Aug 31
2
[PATCH v2] vdpa/mlx5: Fix firmware error on creation of 1k VQs
...er_param_a);
- p_b = MLX5_CAP_DEV_VDPA_EMULATION(mdev, umem_3_buffer_param_b);
+ p_a = ndev->umem_3_buffer_param_a;
+ p_b = ndev->umem_3_buffer_param_b;
*umemp = &mvq->umem3;
break;
}
+
(*umemp)->size = p_a * mvq->num_ent + p_b;
}
@@ -2679,6 +2719,11 @@ static int setup_driver(struct mlx5_vdpa_dev *mvdev)
goto out;
}
mlx5_vdpa_add_debugfs(ndev);
+
+ err = read_umem_params(ndev);
+ if (err)
+ goto err_setup;
+
err = setup_virtqueues(mvdev);
if (err) {
mlx5_vdpa_warn(mvdev, "setup_virtqueues\n");
diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.h b/dri...
2020 Jul 16
0
[PATCH vhost next 10/10] vdpa/mlx5: Add VDPA driver for supported mlx5 devices
...mutex reslock;
> + struct mlx5_flow_table *rxft;
> + struct mlx5_fc *rx_counter;
> + struct mlx5_flow_handle *rx_rule;
> + bool setup;
> +};
> +
> +static void free_resources(struct mlx5_vdpa_net *ndev);
> +static void init_mvqs(struct mlx5_vdpa_net *ndev);
> +static int setup_driver(struct mlx5_vdpa_net *ndev);
> +static void teardown_driver(struct mlx5_vdpa_net *ndev);
> +
> +static bool mlx5_vdpa_debug;
> +
> +#define MLX5_LOG_VIO_FLAG(_feature) \
> + do {...