34 #include <rte_compat.h>
42 #ifndef RTE_BBDEV_MAX_DEVS
43 #define RTE_BBDEV_MAX_DEVS 128
58 uint16_t __rte_experimental
70 bool __rte_experimental
83 uint16_t __rte_experimental
87 #define RTE_BBDEV_FOREACH(i) for (i = rte_bbdev_find_next(-1); \
88 i < RTE_BBDEV_MAX_DEVS; \
89 i = rte_bbdev_find_next(i))
112 int __rte_experimental
129 int __rte_experimental
158 int __rte_experimental
173 int __rte_experimental
186 int __rte_experimental
199 int __rte_experimental
216 int __rte_experimental
231 int __rte_experimental
259 int __rte_experimental
270 int __rte_experimental
301 #define RTE_BBDEV_END_OF_CAPABILITIES_LIST() \
302 { RTE_BBDEV_OP_NONE }
330 int __rte_experimental
356 int __rte_experimental
361 struct rte_bbdev_queue_data {
369 typedef uint16_t (*rte_bbdev_enqueue_enc_ops_t)(
370 struct rte_bbdev_queue_data *q_data,
375 typedef uint16_t (*rte_bbdev_enqueue_dec_ops_t)(
376 struct rte_bbdev_queue_data *q_data,
381 typedef uint16_t (*rte_bbdev_dequeue_enc_ops_t)(
382 struct rte_bbdev_queue_data *q_data,
386 typedef uint16_t (*rte_bbdev_dequeue_dec_ops_t)(
387 struct rte_bbdev_queue_data *q_data,
390 #define RTE_BBDEV_NAME_MAX_LEN 64
398 struct rte_bbdev_data {
402 struct rte_bbdev_queue_data *queues;
412 struct rte_bbdev_callback;
416 TAILQ_HEAD(rte_bbdev_cb_list, rte_bbdev_callback);
424 rte_bbdev_enqueue_enc_ops_t enqueue_enc_ops;
426 rte_bbdev_enqueue_dec_ops_t enqueue_dec_ops;
428 rte_bbdev_dequeue_enc_ops_t dequeue_enc_ops;
430 rte_bbdev_dequeue_dec_ops_t dequeue_dec_ops;
432 struct rte_bbdev_data *data;
436 struct rte_bbdev_cb_list list_cbs;
441 extern struct rte_bbdev rte_bbdev_devices[];
464 static inline uint16_t
468 struct rte_bbdev *dev = &rte_bbdev_devices[dev_id];
469 struct rte_bbdev_queue_data *q_data = &dev->data->queues[queue_id];
470 return dev->enqueue_enc_ops(q_data, ops, num_ops);
494 static inline uint16_t
498 struct rte_bbdev *dev = &rte_bbdev_devices[dev_id];
499 struct rte_bbdev_queue_data *q_data = &dev->data->queues[queue_id];
500 return dev->enqueue_dec_ops(q_data, ops, num_ops);
524 static inline uint16_t
528 struct rte_bbdev *dev = &rte_bbdev_devices[dev_id];
529 struct rte_bbdev_queue_data *q_data = &dev->data->queues[queue_id];
530 return dev->dequeue_enc_ops(q_data, ops, num_ops);
555 static inline uint16_t
559 struct rte_bbdev *dev = &rte_bbdev_devices[dev_id];
560 struct rte_bbdev_queue_data *q_data = &dev->data->queues[queue_id];
561 return dev->dequeue_dec_ops(q_data, ops, num_ops);
606 int __rte_experimental
629 int __rte_experimental
649 int __rte_experimental
665 int __rte_experimental
692 int __rte_experimental