#include <stdbool.h>
#include <string.h>
+#include <rte_compat.h>
#include <rte_atomic.h>
#include <rte_bus.h>
#include <rte_cpuflags.h>
* @return
* The total number of usable devices.
*/
-uint16_t
+uint16_t __rte_experimental
rte_bbdev_count(void);
/**
* @return
* true if device ID is valid and device is attached, false otherwise.
*/
-bool
+bool __rte_experimental
rte_bbdev_is_valid(uint16_t dev_id);
/**
* - The next device, or
* - RTE_BBDEV_MAX_DEVS if none found
*/
-uint16_t
+uint16_t __rte_experimental
rte_bbdev_find_next(uint16_t dev_id);
/** Iterate through all enabled devices */
* - -EBUSY if the identified device has already started
* - -ENOMEM if unable to allocate memory
*/
-int
+int __rte_experimental
rte_bbdev_setup_queues(uint16_t dev_id, uint16_t num_queues, int socket_id);
/**
* - -EBUSY if the identified device has already started
* - -ENOTSUP if the interrupts are not supported by the device
*/
-int
+int __rte_experimental
rte_bbdev_intr_enable(uint16_t dev_id);
/** Device queue configuration structure */
* - EINVAL if the identified queue size or priority are invalid
* - EBUSY if the identified queue or its device have already started
*/
-int
+int __rte_experimental
rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id,
const struct rte_bbdev_queue_conf *conf);
* - 0 on success
* - negative value on failure - as returned from PMD driver
*/
-int
+int __rte_experimental
rte_bbdev_start(uint16_t dev_id);
/**
* @return
* - 0 on success
*/
-int
+int __rte_experimental
rte_bbdev_stop(uint16_t dev_id);
/**
* @return
* - 0 on success
*/
-int
+int __rte_experimental
rte_bbdev_close(uint16_t dev_id);
/**
* - 0 on success
* - negative value on failure - as returned from PMD driver
*/
-int
+int __rte_experimental
rte_bbdev_queue_start(uint16_t dev_id, uint16_t queue_id);
/**
* - 0 on success
* - negative value on failure - as returned from PMD driver
*/
-int
+int __rte_experimental
rte_bbdev_queue_stop(uint16_t dev_id, uint16_t queue_id);
/** Device statistics. */
* - 0 on success
* - EINVAL if invalid parameter pointer is provided
*/
-int
+int __rte_experimental
rte_bbdev_stats_get(uint16_t dev_id, struct rte_bbdev_stats *stats);
/**
* @return
* - 0 on success
*/
-int
+int __rte_experimental
rte_bbdev_stats_reset(uint16_t dev_id);
/** Device information supplied by the device's driver */
* - 0 on success
* - EINVAL if invalid parameter pointer is provided
*/
-int
+int __rte_experimental
rte_bbdev_info_get(uint16_t dev_id, struct rte_bbdev_info *dev_info);
/** Queue information */
* - 0 on success
* - EINVAL if invalid parameter pointer is provided
*/
-int
+int __rte_experimental
rte_bbdev_queue_info_get(uint16_t dev_id, uint16_t queue_id,
struct rte_bbdev_queue_info *queue_info);
{
struct rte_bbdev *dev = &rte_bbdev_devices[dev_id];
struct rte_bbdev_queue_data *q_data = &dev->data->queues[queue_id];
- uint16_t n = dev->enqueue_enc_ops(q_data, ops, num_ops);
-
- rte_bbdev_log_verbose("%u encode ops enqueued to dev%u,q%u.\n",
- num_ops, dev_id, queue_id);
-
- return n;
+ return dev->enqueue_enc_ops(q_data, ops, num_ops);
}
/**
{
struct rte_bbdev *dev = &rte_bbdev_devices[dev_id];
struct rte_bbdev_queue_data *q_data = &dev->data->queues[queue_id];
- uint16_t n = dev->enqueue_dec_ops(q_data, ops, num_ops);
-
- rte_bbdev_log_verbose("%u decode ops enqueued to dev%u,q%u.\n",
- num_ops, dev_id, queue_id);
-
- return n;
+ return dev->enqueue_dec_ops(q_data, ops, num_ops);
}
/**
{
struct rte_bbdev *dev = &rte_bbdev_devices[dev_id];
struct rte_bbdev_queue_data *q_data = &dev->data->queues[queue_id];
- uint16_t n = dev->dequeue_enc_ops(q_data, ops, num_ops);
-
- rte_bbdev_log_verbose("%u encode ops dequeued to dev%u,q%u\n",
- n, dev_id, queue_id);
-
- return n;
+ return dev->dequeue_enc_ops(q_data, ops, num_ops);
}
/**
{
struct rte_bbdev *dev = &rte_bbdev_devices[dev_id];
struct rte_bbdev_queue_data *q_data = &dev->data->queues[queue_id];
- uint16_t n = dev->dequeue_dec_ops(q_data, ops, num_ops);
-
- rte_bbdev_log_verbose("%u decode ops dequeued to dev%u,q%u\n",
- n, dev_id, queue_id);
-
- return n;
+ return dev->dequeue_dec_ops(q_data, ops, num_ops);
}
/** Definitions of device event types */
* @return
* Zero on success, negative value on failure.
*/
-int
+int __rte_experimental
rte_bbdev_callback_register(uint16_t dev_id, enum rte_bbdev_event_type event,
rte_bbdev_cb_fn cb_fn, void *cb_arg);
* - EINVAL if invalid parameter pointer is provided
* - EAGAIN if the provided callback pointer does not exist
*/
-int
+int __rte_experimental
rte_bbdev_callback_unregister(uint16_t dev_id, enum rte_bbdev_event_type event,
rte_bbdev_cb_fn cb_fn, void *cb_arg);
* - 0 on success
* - negative value on failure - as returned from PMD driver
*/
-int
+int __rte_experimental
rte_bbdev_queue_intr_enable(uint16_t dev_id, uint16_t queue_id);
/**
* - 0 on success
* - negative value on failure - as returned from PMD driver
*/
-int
+int __rte_experimental
rte_bbdev_queue_intr_disable(uint16_t dev_id, uint16_t queue_id);
/**
* - ENOTSUP if interrupts are not supported by the identified device
* - negative value on failure - as returned from PMD driver
*/
-int
+int __rte_experimental
rte_bbdev_queue_intr_ctl(uint16_t dev_id, uint16_t queue_id, int epfd, int op,
void *data);