distributor: skip building if power library not found
[dpdk.git] / lib / librte_bbdev / rte_bbdev.h
index 767a1e1..bec1ef6 100644 (file)
@@ -239,6 +239,13 @@ struct rte_bbdev_stats {
        uint64_t enqueue_err_count;
        /** Total error count on operations dequeued */
        uint64_t dequeue_err_count;
+       /** CPU cycles consumed by the (HW/SW) accelerator device to offload
+        *  the enqueue request to its internal queues.
+        *  - For a HW device this is the cycles consumed in MMIO write
+        *  - For a SW (vdev) device, this is the processing time of the
+        *     bbdev operation
+        */
+       uint64_t acc_offload_cycles;
 };
 
 /**
@@ -279,8 +286,10 @@ struct rte_bbdev_driver_info {
        uint32_t queue_size_lim;
        /** Set if device off-loads operation to hardware  */
        bool hardware_accelerated;
-       /** Max value supported by queue priority */
-       uint8_t max_queue_priority;
+       /** Max value supported by queue priority for DL */
+       uint8_t max_dl_queue_priority;
+       /** Max value supported by queue priority for UL */
+       uint8_t max_ul_queue_priority;
        /** Set if device supports per-queue interrupts */
        bool queue_intr_supported;
        /** Minimum alignment of buffers, in bytes */
@@ -457,18 +466,13 @@ extern struct rte_bbdev rte_bbdev_devices[];
  *   The number of operations actually enqueued (this is the number of processed
  *   entries in the @p ops array).
  */
-static inline uint16_t
+static inline uint16_t __rte_experimental
 rte_bbdev_enqueue_enc_ops(uint16_t dev_id, uint16_t queue_id,
                struct rte_bbdev_enc_op **ops, uint16_t 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_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);
 }
 
 /**
@@ -492,18 +496,13 @@ rte_bbdev_enqueue_enc_ops(uint16_t dev_id, uint16_t queue_id,
  *   The number of operations actually enqueued (this is the number of processed
  *   entries in the @p ops array).
  */
-static inline uint16_t
+static inline uint16_t __rte_experimental
 rte_bbdev_enqueue_dec_ops(uint16_t dev_id, uint16_t queue_id,
                struct rte_bbdev_dec_op **ops, uint16_t 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);
 }
 
 /**
@@ -527,18 +526,13 @@ rte_bbdev_enqueue_dec_ops(uint16_t dev_id, uint16_t queue_id,
  *   The number of operations actually dequeued (this is the number of entries
  *   copied into the @p ops array).
  */
-static inline uint16_t
+static inline uint16_t __rte_experimental
 rte_bbdev_dequeue_enc_ops(uint16_t dev_id, uint16_t queue_id,
                struct rte_bbdev_enc_op **ops, uint16_t 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);
 }
 
 /**
@@ -563,18 +557,13 @@ rte_bbdev_dequeue_enc_ops(uint16_t dev_id, uint16_t queue_id,
  *   copied into the @p ops array).
  */
 
-static inline uint16_t
+static inline uint16_t __rte_experimental
 rte_bbdev_dequeue_dec_ops(uint16_t dev_id, uint16_t queue_id,
                struct rte_bbdev_dec_op **ops, uint16_t 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 */