X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_bbdev%2Frte_bbdev.c;h=f6fe05acafdb718802349c406f93b0a7d1c9fd7b;hb=808b3fce7ed76572b16b699d2845c3e83d9f59e7;hp=28434e08480f1286f26569d80489e59023552841;hpb=58a695c6ec1c803ef1e4bd9fccfa08040a2ca4d0;p=dpdk.git diff --git a/lib/librte_bbdev/rte_bbdev.c b/lib/librte_bbdev/rte_bbdev.c index 28434e0848..f6fe05acaf 100644 --- a/lib/librte_bbdev/rte_bbdev.c +++ b/lib/librte_bbdev/rte_bbdev.c @@ -172,7 +172,7 @@ find_free_dev_id(void) return RTE_BBDEV_MAX_DEVS; } -struct rte_bbdev * __rte_experimental +struct rte_bbdev * rte_bbdev_allocate(const char *name) { int ret; @@ -231,7 +231,7 @@ rte_bbdev_allocate(const char *name) return bbdev; } -int __rte_experimental +int rte_bbdev_release(struct rte_bbdev *bbdev) { uint16_t dev_id; @@ -265,7 +265,7 @@ rte_bbdev_release(struct rte_bbdev *bbdev) return 0; } -struct rte_bbdev * __rte_experimental +struct rte_bbdev * rte_bbdev_get_named_dev(const char *name) { unsigned int i; @@ -285,13 +285,13 @@ rte_bbdev_get_named_dev(const char *name) 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) && @@ -300,7 +300,7 @@ rte_bbdev_is_valid(uint16_t dev_id) return false; } -uint16_t __rte_experimental +uint16_t rte_bbdev_find_next(uint16_t dev_id) { dev_id++; @@ -310,7 +310,7 @@ rte_bbdev_find_next(uint16_t 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; @@ -400,7 +400,7 @@ error: return ret; } -int __rte_experimental +int rte_bbdev_intr_enable(uint16_t dev_id) { int ret; @@ -432,7 +432,7 @@ rte_bbdev_intr_enable(uint16_t dev_id) 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) { @@ -498,7 +498,7 @@ rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id, 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; @@ -506,7 +506,7 @@ rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id, 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; @@ -550,7 +550,7 @@ rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id, return 0; } -int __rte_experimental +int rte_bbdev_start(uint16_t dev_id) { int i; @@ -582,7 +582,7 @@ rte_bbdev_start(uint16_t dev_id) return 0; } -int __rte_experimental +int rte_bbdev_stop(uint16_t dev_id) { struct rte_bbdev *dev = get_dev(dev_id); @@ -603,7 +603,7 @@ rte_bbdev_stop(uint16_t dev_id) return 0; } -int __rte_experimental +int rte_bbdev_close(uint16_t dev_id) { int ret; @@ -648,7 +648,7 @@ rte_bbdev_close(uint16_t dev_id) 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); @@ -678,7 +678,7 @@ rte_bbdev_queue_start(uint16_t dev_id, uint16_t queue_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); @@ -738,7 +738,7 @@ reset_stats_in_queues(struct rte_bbdev *dev) 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); @@ -761,7 +761,7 @@ rte_bbdev_stats_get(uint16_t dev_id, struct rte_bbdev_stats *stats) return 0; } -int __rte_experimental +int rte_bbdev_stats_reset(uint16_t dev_id) { struct rte_bbdev *dev = get_dev(dev_id); @@ -778,7 +778,7 @@ rte_bbdev_stats_reset(uint16_t 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); @@ -795,7 +795,7 @@ rte_bbdev_info_get(uint16_t dev_id, struct rte_bbdev_info *dev_info) 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; @@ -806,7 +806,7 @@ rte_bbdev_info_get(uint16_t dev_id, struct rte_bbdev_info *dev_info) 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) { @@ -846,6 +846,12 @@ get_bbdev_op_size(enum rte_bbdev_op_type type) 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; } @@ -860,18 +866,19 @@ bbdev_op_init(struct rte_mempool *mempool, void *arg, void *element, { 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) @@ -918,7 +925,7 @@ rte_bbdev_op_pool_create(const char *name, enum rte_bbdev_op_type type, 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) { @@ -963,7 +970,7 @@ rte_bbdev_callback_register(uint16_t dev_id, enum rte_bbdev_event_type event, 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) { @@ -1008,7 +1015,7 @@ rte_bbdev_callback_unregister(uint16_t dev_id, enum rte_bbdev_event_type event, return ret; } -void __rte_experimental +void rte_bbdev_pmd_callback_process(struct rte_bbdev *dev, enum rte_bbdev_event_type event, void *ret_param) { @@ -1050,7 +1057,7 @@ rte_bbdev_pmd_callback_process(struct rte_bbdev *dev, 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); @@ -1061,7 +1068,7 @@ rte_bbdev_queue_intr_enable(uint16_t dev_id, uint16_t queue_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); @@ -1072,7 +1079,7 @@ rte_bbdev_queue_intr_disable(uint16_t dev_id, uint16_t queue_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) { @@ -1109,13 +1116,15 @@ rte_bbdev_queue_intr_ctl(uint16_t dev_id, uint16_t queue_id, int epfd, int op, } -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) @@ -1125,9 +1134,7 @@ rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type) 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)