search for: setup_driver

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