log: introduce logtype register macro
[dpdk.git] / lib / librte_bbdev / rte_bbdev.c
index 8a053e3..a4fdb69 100644 (file)
@@ -6,6 +6,7 @@
 #include <string.h>
 #include <stdbool.h>
 
+#include <rte_compat.h>
 #include <rte_common.h>
 #include <rte_errno.h>
 #include <rte_log.h>
 #define DEV_NAME "BBDEV"
 
 
+/* BBDev library logging ID */
+RTE_LOG_REGISTER(bbdev_logtype, lib.bbdev, NOTICE);
+
+/* Helper macro for logging */
+#define rte_bbdev_log(level, fmt, ...) \
+       rte_log(RTE_LOG_ ## level, bbdev_logtype, fmt "\n", ##__VA_ARGS__)
+
+#define rte_bbdev_log_debug(fmt, ...) \
+       rte_bbdev_log(DEBUG, RTE_STR(__LINE__) ":%s() " fmt, __func__, \
+               ##__VA_ARGS__)
+
 /* Helper macro to check dev_id is valid */
 #define VALID_DEV_OR_RET_ERR(dev, dev_id) do { \
        if (dev == NULL) { \
@@ -483,11 +495,20 @@ rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id,
                                        conf->queue_size, queue_id, dev_id);
                        return -EINVAL;
                }
-               if (conf->priority > dev_info.max_queue_priority) {
+               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_queue_priority);
+                                       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 bbdev %u must be <= %u",
+                                       conf->priority, queue_id, dev_id,
+                                       dev_info.max_dl_queue_priority);
                        return -EINVAL;
                }
        }
@@ -774,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;
 
@@ -825,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;
        }
@@ -839,11 +866,12 @@ 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;
@@ -1095,6 +1123,8 @@ rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type)
                "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)
@@ -1103,15 +1133,3 @@ rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type)
        rte_bbdev_log(ERR, "Invalid operation type");
        return NULL;
 }
-
-
-int bbdev_logtype;
-
-RTE_INIT(rte_bbdev_init_log);
-static void
-rte_bbdev_init_log(void)
-{
-       bbdev_logtype = rte_log_register("lib.bbdev");
-       if (bbdev_logtype >= 0)
-               rte_log_set_level(bbdev_logtype, RTE_LOG_NOTICE);
-}