X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_compressdev%2Frte_compressdev.c;h=afba584c9d6df512d54870016d142e6cb392b4e3;hb=a79e3088cab58f01ddfbf937c193a37154ac5296;hp=2d7127ce23e8ba43405a07c6b7809408d1ef084d;hpb=5d432f364078f04fb476ae910773ca4cbfee8ef2;p=dpdk.git diff --git a/lib/librte_compressdev/rte_compressdev.c b/lib/librte_compressdev/rte_compressdev.c index 2d7127ce23..afba584c9d 100644 --- a/lib/librte_compressdev/rte_compressdev.c +++ b/lib/librte_compressdev/rte_compressdev.c @@ -7,6 +7,7 @@ #include #include +#include #include #include #include @@ -18,19 +19,15 @@ #define RTE_COMPRESSDEV_DETACHED (0) #define RTE_COMPRESSDEV_ATTACHED (1) -struct rte_compressdev rte_comp_devices[RTE_COMPRESS_MAX_DEVS]; - -struct rte_compressdev *rte_compressdevs = &rte_comp_devices[0]; +static struct rte_compressdev rte_comp_devices[RTE_COMPRESS_MAX_DEVS]; static struct rte_compressdev_global compressdev_globals = { - .devs = &rte_comp_devices[0], + .devs = rte_comp_devices, .data = { NULL }, .nb_devs = 0, .max_devs = RTE_COMPRESS_MAX_DEVS }; -struct rte_compressdev_global *rte_compressdev_globals = &compressdev_globals; - const struct rte_compressdev_capabilities * __rte_experimental rte_compressdev_capability_get(uint8_t dev_id, enum rte_comp_algorithm algo) @@ -70,6 +67,8 @@ rte_compressdev_get_feature_name(uint64_t flag) return "CPU_AVX512"; case RTE_COMPDEV_FF_CPU_NEON: return "CPU_NEON"; + case RTE_COMPDEV_FF_OP_DONE_IN_DEQUEUE: + return "OP_DONE_IN_DEQ"; default: return NULL; } @@ -78,7 +77,7 @@ rte_compressdev_get_feature_name(uint64_t flag) static struct rte_compressdev * rte_compressdev_get_dev(uint8_t dev_id) { - return &rte_compressdev_globals->devs[dev_id]; + return &compressdev_globals.devs[dev_id]; } struct rte_compressdev * __rte_experimental @@ -90,8 +89,8 @@ rte_compressdev_pmd_get_named_dev(const char *name) if (name == NULL) return NULL; - for (i = 0; i < rte_compressdev_globals->max_devs; i++) { - dev = &rte_compressdev_globals->devs[i]; + for (i = 0; i < compressdev_globals.max_devs; i++) { + dev = &compressdev_globals.devs[i]; if ((dev->attached == RTE_COMPRESSDEV_ATTACHED) && (strcmp(dev->data->name, name) == 0)) @@ -106,7 +105,7 @@ rte_compressdev_is_valid_dev(uint8_t dev_id) { struct rte_compressdev *dev = NULL; - if (dev_id >= rte_compressdev_globals->nb_devs) + if (dev_id >= compressdev_globals.nb_devs) return 0; dev = rte_compressdev_get_dev(dev_id); @@ -117,10 +116,28 @@ rte_compressdev_is_valid_dev(uint8_t dev_id) } +int __rte_experimental +rte_compressdev_get_dev_id(const char *name) +{ + unsigned int i; + + if (name == NULL) + return -1; + + for (i = 0; i < compressdev_globals.nb_devs; i++) + if ((strcmp(compressdev_globals.devs[i].data->name, name) + == 0) && + (compressdev_globals.devs[i].attached == + RTE_COMPRESSDEV_ATTACHED)) + return i; + + return -1; +} + uint8_t __rte_experimental rte_compressdev_count(void) { - return rte_compressdev_globals->nb_devs; + return compressdev_globals.nb_devs; } uint8_t __rte_experimental @@ -128,8 +145,8 @@ rte_compressdev_devices_get(const char *driver_name, uint8_t *devices, uint8_t nb_devices) { uint8_t i, count = 0; - struct rte_compressdev *devs = rte_compressdev_globals->devs; - uint8_t max_devs = rte_compressdev_globals->max_devs; + struct rte_compressdev *devs = compressdev_globals.devs; + uint8_t max_devs = compressdev_globals.max_devs; for (i = 0; i < max_devs && count < nb_devices; i++) { @@ -236,8 +253,8 @@ rte_compressdev_pmd_allocate(const char *name, int socket_id) compressdev->data = compressdev_data; - snprintf(compressdev->data->name, RTE_COMPRESSDEV_NAME_MAX_LEN, - "%s", name); + strlcpy(compressdev->data->name, name, + RTE_COMPRESSDEV_NAME_MAX_LEN); compressdev->data->dev_id = dev_id; compressdev->data->socket_id = socket_id; @@ -560,7 +577,7 @@ uint16_t __rte_experimental rte_compressdev_dequeue_burst(uint8_t dev_id, uint16_t qp_id, struct rte_comp_op **ops, uint16_t nb_ops) { - struct rte_compressdev *dev = &rte_compressdevs[dev_id]; + struct rte_compressdev *dev = &rte_comp_devices[dev_id]; nb_ops = (*dev->dequeue_burst) (dev->data->queue_pairs[qp_id], ops, nb_ops); @@ -572,7 +589,7 @@ uint16_t __rte_experimental rte_compressdev_enqueue_burst(uint8_t dev_id, uint16_t qp_id, struct rte_comp_op **ops, uint16_t nb_ops) { - struct rte_compressdev *dev = &rte_compressdevs[dev_id]; + struct rte_compressdev *dev = &rte_comp_devices[dev_id]; return (*dev->enqueue_burst)( dev->data->queue_pairs[qp_id], ops, nb_ops); @@ -746,10 +763,7 @@ rte_compressdev_name_get(uint8_t dev_id) return dev->data->name; } -RTE_INIT(rte_compressdev_log); - -static void -rte_compressdev_log(void) +RTE_INIT(rte_compressdev_log) { compressdev_logtype = rte_log_register("lib.compressdev"); if (compressdev_logtype >= 0)