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;
};
/**
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 */
* 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);
}
/**
* 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);
}
/**
* 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);
}
/**
* 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 */