return RTE_BBDEV_MAX_DEVS;
}
-struct rte_bbdev * __rte_experimental
+struct rte_bbdev *
rte_bbdev_allocate(const char *name)
{
int ret;
return bbdev;
}
-int __rte_experimental
+int
rte_bbdev_release(struct rte_bbdev *bbdev)
{
uint16_t dev_id;
return 0;
}
-struct rte_bbdev * __rte_experimental
+struct rte_bbdev *
rte_bbdev_get_named_dev(const char *name)
{
unsigned int i;
return NULL;
}
-uint16_t __rte_experimental
+uint16_t
rte_bbdev_count(void)
{
return num_devs;
}
-bool __rte_experimental
+bool
rte_bbdev_is_valid(uint16_t dev_id)
{
if ((dev_id < RTE_BBDEV_MAX_DEVS) &&
return false;
}
-uint16_t __rte_experimental
+uint16_t
rte_bbdev_find_next(uint16_t dev_id)
{
dev_id++;
return dev_id;
}
-int __rte_experimental
+int
rte_bbdev_setup_queues(uint16_t dev_id, uint16_t num_queues, int socket_id)
{
unsigned int i;
return ret;
}
-int __rte_experimental
+int
rte_bbdev_intr_enable(uint16_t dev_id)
{
int ret;
return -ENOTSUP;
}
-int __rte_experimental
+int
rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id,
const struct rte_bbdev_queue_conf *conf)
{
if (conf->op_type == RTE_BBDEV_OP_TURBO_DEC &&
conf->priority > dev_info.max_ul_queue_priority) {
rte_bbdev_log(ERR,
- "Priority (%u) of queue %u of bdev %u must be <= %u",
+ "Priority (%u) of queue %u of bbdev %u must be <= %u",
conf->priority, queue_id, dev_id,
dev_info.max_ul_queue_priority);
return -EINVAL;
if (conf->op_type == RTE_BBDEV_OP_TURBO_ENC &&
conf->priority > dev_info.max_dl_queue_priority) {
rte_bbdev_log(ERR,
- "Priority (%u) of queue %u of bdev %u must be <= %u",
+ "Priority (%u) of queue %u of bbdev %u must be <= %u",
conf->priority, queue_id, dev_id,
dev_info.max_dl_queue_priority);
return -EINVAL;
return 0;
}
-int __rte_experimental
+int
rte_bbdev_start(uint16_t dev_id)
{
int i;
return 0;
}
-int __rte_experimental
+int
rte_bbdev_stop(uint16_t dev_id)
{
struct rte_bbdev *dev = get_dev(dev_id);
return 0;
}
-int __rte_experimental
+int
rte_bbdev_close(uint16_t dev_id)
{
int ret;
return 0;
}
-int __rte_experimental
+int
rte_bbdev_queue_start(uint16_t dev_id, uint16_t queue_id)
{
struct rte_bbdev *dev = get_dev(dev_id);
return 0;
}
-int __rte_experimental
+int
rte_bbdev_queue_stop(uint16_t dev_id, uint16_t queue_id)
{
struct rte_bbdev *dev = get_dev(dev_id);
rte_bbdev_log_debug("Reset stats on %u", dev->data->dev_id);
}
-int __rte_experimental
+int
rte_bbdev_stats_get(uint16_t dev_id, struct rte_bbdev_stats *stats)
{
struct rte_bbdev *dev = get_dev(dev_id);
return 0;
}
-int __rte_experimental
+int
rte_bbdev_stats_reset(uint16_t dev_id)
{
struct rte_bbdev *dev = get_dev(dev_id);
return 0;
}
-int __rte_experimental
+int
rte_bbdev_info_get(uint16_t dev_id, struct rte_bbdev_info *dev_info)
{
struct rte_bbdev *dev = get_dev(dev_id);
memset(dev_info, 0, sizeof(*dev_info));
dev_info->dev_name = dev->data->name;
dev_info->num_queues = dev->data->num_queues;
- dev_info->bus = rte_bus_find_by_device(dev->device);
+ dev_info->device = dev->device;
dev_info->socket_id = dev->data->socket_id;
dev_info->started = dev->data->started;
return 0;
}
-int __rte_experimental
+int
rte_bbdev_queue_info_get(uint16_t dev_id, uint16_t queue_id,
struct rte_bbdev_queue_info *queue_info)
{
case RTE_BBDEV_OP_TURBO_ENC:
result = sizeof(struct rte_bbdev_enc_op);
break;
+ case RTE_BBDEV_OP_LDPC_DEC:
+ result = sizeof(struct rte_bbdev_dec_op);
+ break;
+ case RTE_BBDEV_OP_LDPC_ENC:
+ result = sizeof(struct rte_bbdev_enc_op);
+ break;
default:
break;
}
{
enum rte_bbdev_op_type type = *(enum rte_bbdev_op_type *)arg;
- if (type == RTE_BBDEV_OP_TURBO_DEC) {
+ if (type == RTE_BBDEV_OP_TURBO_DEC || type == RTE_BBDEV_OP_LDPC_DEC) {
struct rte_bbdev_dec_op *op = element;
memset(op, 0, mempool->elt_size);
op->mempool = mempool;
- } else if (type == RTE_BBDEV_OP_TURBO_ENC) {
+ } else if (type == RTE_BBDEV_OP_TURBO_ENC ||
+ type == RTE_BBDEV_OP_LDPC_ENC) {
struct rte_bbdev_enc_op *op = element;
memset(op, 0, mempool->elt_size);
op->mempool = mempool;
}
}
-struct rte_mempool * __rte_experimental
+struct rte_mempool *
rte_bbdev_op_pool_create(const char *name, enum rte_bbdev_op_type type,
unsigned int num_elements, unsigned int cache_size,
int socket_id)
return mp;
}
-int __rte_experimental
+int
rte_bbdev_callback_register(uint16_t dev_id, enum rte_bbdev_event_type event,
rte_bbdev_cb_fn cb_fn, void *cb_arg)
{
return (user_cb == NULL) ? -ENOMEM : 0;
}
-int __rte_experimental
+int
rte_bbdev_callback_unregister(uint16_t dev_id, enum rte_bbdev_event_type event,
rte_bbdev_cb_fn cb_fn, void *cb_arg)
{
return ret;
}
-void __rte_experimental
+void
rte_bbdev_pmd_callback_process(struct rte_bbdev *dev,
enum rte_bbdev_event_type event, void *ret_param)
{
rte_spinlock_unlock(&rte_bbdev_cb_lock);
}
-int __rte_experimental
+int
rte_bbdev_queue_intr_enable(uint16_t dev_id, uint16_t queue_id)
{
struct rte_bbdev *dev = get_dev(dev_id);
return dev->dev_ops->queue_intr_enable(dev, queue_id);
}
-int __rte_experimental
+int
rte_bbdev_queue_intr_disable(uint16_t dev_id, uint16_t queue_id)
{
struct rte_bbdev *dev = get_dev(dev_id);
return dev->dev_ops->queue_intr_disable(dev, queue_id);
}
-int __rte_experimental
+int
rte_bbdev_queue_intr_ctl(uint16_t dev_id, uint16_t queue_id, int epfd, int op,
void *data)
{
}
-const char * __rte_experimental
+const char *
rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type)
{
static const char * const op_types[] = {
"RTE_BBDEV_OP_NONE",
"RTE_BBDEV_OP_TURBO_DEC",
"RTE_BBDEV_OP_TURBO_ENC",
+ "RTE_BBDEV_OP_LDPC_DEC",
+ "RTE_BBDEV_OP_LDPC_ENC",
};
if (op_type < RTE_BBDEV_OP_TYPE_COUNT)
return NULL;
}
-RTE_INIT(rte_bbdev_init_log);
-static void
-rte_bbdev_init_log(void)
+RTE_INIT(rte_bbdev_init_log)
{
bbdev_logtype = rte_log_register("lib.bbdev");
if (bbdev_logtype >= 0)