struct rte_device *
rte_vdpa_get_rte_device(struct rte_vdpa_device *vdpa_dev);
-/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
- * Find the device id of a vdpa device
- *
- * @param addr
- * the vdpa device address
- * @return
- * device id on success, -1 on failure
- */
-__rte_experimental
-int
-rte_vdpa_find_device_id(struct rte_vdpa_device *dev);
-
-/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
- * Find a vdpa device based on device id
- *
- * @param did
- * device id
- * @return
- * rte_vdpa_device on success, NULL on failure
- */
-__rte_experimental
-struct rte_vdpa_device *
-rte_vdpa_get_device(int did);
-
/**
* @warning
* @b EXPERIMENTAL: this API may change without prior notice
static uint32_t vdpa_device_num;
-int
-rte_vdpa_find_device_id(struct rte_vdpa_device *dev)
-{
- struct rte_vdpa_device *tmp_dev;
- int i;
-
- if (dev == NULL)
- return -1;
-
- for (i = 0; i < MAX_VHOST_DEVICE; ++i) {
- tmp_dev = &vdpa_devices[i];
- if (tmp_dev->ops == NULL)
- continue;
-
- if (tmp_dev == dev)
- return i;
- }
-
- return -1;
-}
-
struct rte_vdpa_device *
rte_vdpa_find_device_by_name(const char *name)
{
return vdpa_dev->device;
}
-struct rte_vdpa_device *
-rte_vdpa_get_device(int did)
-{
- if (did < 0 || did >= MAX_VHOST_DEVICE)
- return NULL;
-
- return &vdpa_devices[did];
-}
-
struct rte_vdpa_device *
rte_vdpa_register_device(struct rte_device *rte_dev,
struct rte_vdpa_dev_ops *ops)
int
rte_vdpa_unregister_device(struct rte_vdpa_device *vdev)
{
- int did = rte_vdpa_find_device_id(vdev);
+ int i;
- if (did < 0 || vdpa_devices[did].ops == NULL)
- return -1;
+ for (i = 0; i < MAX_VHOST_DEVICE; i++) {
+ if (vdev != &vdpa_devices[i])
+ continue;
- memset(&vdpa_devices[did], 0, sizeof(struct rte_vdpa_device));
- vdpa_device_num--;
+ memset(vdev, 0, sizeof(struct rte_vdpa_device));
+ vdpa_device_num--;
- return 0;
+ return 0;
+ }
+
+ return -1;
}
int