| rte_bbdev.h(3) | Library Functions Manual | rte_bbdev.h(3) |
rte_bbdev.h
#include <stdint.h>
#include <stdbool.h>
#include <rte_compat.h>
#include <rte_cpuflags.h>
#include 'rte_bbdev_op.h'
struct rte_bbdev_queue_conf
struct rte_bbdev_stats
struct rte_bbdev_driver_info
struct rte_bbdev_info
struct rte_bbdev_queue_info
#define RTE_BBDEV_MAX_DEVS 128
#define RTE_BBDEV_FOREACH(i)
#define RTE_BBDEV_END_OF_CAPABILITIES_LIST() {
RTE_BBDEV_OP_NONE }
#define RTE_BBDEV_NAME_MAX_LEN 64
typedef void(* rte_bbdev_cb_fn) (uint16_t dev_id,
enum rte_bbdev_event_type event, void *cb_arg, void *ret_param)
enum rte_bbdev_state
enum rte_bbdev_enqueue_status { RTE_BBDEV_ENQ_STATUS_NONE,
RTE_BBDEV_ENQ_STATUS_QUEUE_FULL,
RTE_BBDEV_ENQ_STATUS_RING_FULL,
RTE_BBDEV_ENQ_STATUS_INVALID_OP }
enum rte_bbdev_device_status { RTE_BBDEV_DEV_NOSTATUS,
RTE_BBDEV_DEV_NOT_SUPPORTED, RTE_BBDEV_DEV_RESET,
RTE_BBDEV_DEV_CONFIGURED, RTE_BBDEV_DEV_ACTIVE,
RTE_BBDEV_DEV_FATAL_ERR, RTE_BBDEV_DEV_RESTART_REQ,
RTE_BBDEV_DEV_RECONFIG_REQ, RTE_BBDEV_DEV_CORRECT_ERR }
enum rte_bbdev_event_type { RTE_BBDEV_EVENT_UNKNOWN,
RTE_BBDEV_EVENT_ERROR, RTE_BBDEV_EVENT_DEQUEUE,
RTE_BBDEV_EVENT_MAX }
uint16_t rte_bbdev_count (void)
bool rte_bbdev_is_valid (uint16_t dev_id)
uint16_t rte_bbdev_find_next (uint16_t dev_id)
int rte_bbdev_setup_queues (uint16_t dev_id, uint16_t num_queues, int
socket_id)
int rte_bbdev_intr_enable (uint16_t dev_id)
int rte_bbdev_queue_configure (uint16_t dev_id, uint16_t queue_id,
const struct rte_bbdev_queue_conf *conf)
int rte_bbdev_start (uint16_t dev_id)
int rte_bbdev_stop (uint16_t dev_id)
int rte_bbdev_close (uint16_t dev_id)
int rte_bbdev_queue_start (uint16_t dev_id, uint16_t queue_id)
int rte_bbdev_queue_stop (uint16_t dev_id, uint16_t queue_id)
int rte_bbdev_stats_get (uint16_t dev_id, struct rte_bbdev_stats
*stats)
int rte_bbdev_stats_reset (uint16_t dev_id)
int rte_bbdev_info_get (uint16_t dev_id, struct rte_bbdev_info
*dev_info)
int rte_bbdev_queue_info_get (uint16_t dev_id, uint16_t queue_id,
struct rte_bbdev_queue_info *queue_info)
RTE_TAILQ_HEAD (rte_bbdev_cb_list, rte_bbdev_callback)
static uint16_t rte_bbdev_enqueue_enc_ops (uint16_t dev_id, uint16_t
queue_id, struct rte_bbdev_enc_op **ops, uint16_t num_ops)
static uint16_t rte_bbdev_enqueue_dec_ops (uint16_t dev_id, uint16_t
queue_id, struct rte_bbdev_dec_op **ops, uint16_t num_ops)
static uint16_t rte_bbdev_enqueue_ldpc_enc_ops (uint16_t dev_id,
uint16_t queue_id, struct rte_bbdev_enc_op **ops, uint16_t num_ops)
static uint16_t rte_bbdev_enqueue_ldpc_dec_ops (uint16_t dev_id,
uint16_t queue_id, struct rte_bbdev_dec_op **ops, uint16_t num_ops)
static uint16_t rte_bbdev_enqueue_fft_ops (uint16_t dev_id, uint16_t
queue_id, struct rte_bbdev_fft_op **ops, uint16_t num_ops)
static uint16_t rte_bbdev_enqueue_mldts_ops (uint16_t dev_id, uint16_t
queue_id, struct rte_bbdev_mldts_op **ops, uint16_t num_ops)
static uint16_t rte_bbdev_dequeue_enc_ops (uint16_t dev_id, uint16_t
queue_id, struct rte_bbdev_enc_op **ops, uint16_t num_ops)
static uint16_t rte_bbdev_dequeue_dec_ops (uint16_t dev_id, uint16_t
queue_id, struct rte_bbdev_dec_op **ops, uint16_t num_ops)
static uint16_t rte_bbdev_dequeue_ldpc_enc_ops (uint16_t dev_id,
uint16_t queue_id, struct rte_bbdev_enc_op **ops, uint16_t num_ops)
static uint16_t rte_bbdev_dequeue_ldpc_dec_ops (uint16_t dev_id,
uint16_t queue_id, struct rte_bbdev_dec_op **ops, uint16_t num_ops)
static uint16_t rte_bbdev_dequeue_fft_ops (uint16_t dev_id, uint16_t
queue_id, struct rte_bbdev_fft_op **ops, uint16_t num_ops)
static uint16_t rte_bbdev_dequeue_mldts_ops (uint16_t dev_id, uint16_t
queue_id, struct rte_bbdev_mldts_op **ops, uint16_t num_ops)
int rte_bbdev_callback_register (uint16_t dev_id, enum
rte_bbdev_event_type event, rte_bbdev_cb_fn cb_fn, void
*cb_arg)
int rte_bbdev_callback_unregister (uint16_t dev_id, enum
rte_bbdev_event_type event, rte_bbdev_cb_fn cb_fn, void
*cb_arg)
int rte_bbdev_queue_intr_enable (uint16_t dev_id, uint16_t queue_id)
int rte_bbdev_queue_intr_disable (uint16_t dev_id, uint16_t queue_id)
int rte_bbdev_queue_intr_ctl (uint16_t dev_id, uint16_t queue_id, int
epfd, int op, void *data)
const char * rte_bbdev_device_status_str (enum
rte_bbdev_device_status status)
const char * rte_bbdev_enqueue_status_str (enum
rte_bbdev_enqueue_status status)
__rte_experimental int rte_bbdev_queue_ops_dump (uint16_t dev_id,
uint16_t queue_index, FILE *file)
__rte_experimental char * rte_bbdev_ops_param_string (void *op, enum
rte_bbdev_op_type op_type, char *str, uint32_t len)
Wireless base band device abstraction APIs.
This API allows an application to discover, configure and use a device to process operations. An asynchronous API (enqueue, followed by later dequeue) is used for processing operations.
The functions in this API are not thread-safe when called on the same target object (a device, or a queue on a device), with the exception that one thread can enqueue operations to a queue while another thread dequeues from the same queue.
Definition in file rte_bbdev.h.
Max number of devices
Definition at line 36 of file rte_bbdev.h.
Value:.PP
for (i = rte_bbdev_find_next(-1); \
i < RTE_BBDEV_MAX_DEVS; \
i = rte_bbdev_find_next(i))
Iterate through all enabled devices
Definition at line 87 of file rte_bbdev.h.
Macro used at end of bbdev PMD list
Definition at line 362 of file rte_bbdev.h.
Max length of device name
Definition at line 477 of file rte_bbdev.h.
Typedef for application callback function registered by application software for notification of device events
Parameters
Definition at line 930 of file rte_bbdev.h.
Flags indicate current state of BBDEV device
Definition at line 47 of file rte_bbdev.h.
Flags to indicate the reason why a previous enqueue may not have consumed all requested operations. In case of multiple reasons the latter supersedes a previous one. The related macro RTE_BBDEV_ENQ_STATUS_SIZE_MAX can be used as an absolute maximum for notably sizing array while allowing for future enumeration insertion.
Enumerator
Definition at line 242 of file rte_bbdev.h.
Flags to indicate the status of the device.
Enumerator
Definition at line 253 of file rte_bbdev.h.
Definitions of device event types
Enumerator
Definition at line 910 of file rte_bbdev.h.
Get the total number of devices that have been successfully initialised.
Returns
Check if a device is valid.
Parameters
Returns
Get the next enabled device.
Parameters
Returns
Setup up device queues. This function must be called on a device before setting up the queues and starting the device. It can also be called when a device is in the stopped state. If any device queues have been configured their configuration will be cleared by a call to this function.
Parameters
Returns
Enable interrupts. This function may be called before starting the device to enable the interrupts if they are available.
Parameters
Returns
Configure a queue on a device. This function can be called after device configuration, and before starting. It can also be called when the device or the queue is in the stopped state.
Parameters
Returns
Start a device. This is the last step needed before enqueueing operations is possible.
Parameters
Returns
Stop a device. The device can be reconfigured, and restarted after being stopped.
Parameters
Returns
Close a device. The device cannot be restarted without reconfiguration!
Parameters
Returns
Start a specified queue on a device. This is only needed if the queue has been stopped, or if the deferred_start flag has been set when configuring the queue.
Parameters
Returns
Stop a specified queue on a device, to allow re configuration.
Parameters
Returns
Retrieve the general I/O statistics of a device.
Parameters
Returns
Reset the statistics of a device.
Parameters
Returns
Retrieve information about a device.
Parameters
Returns
Retrieve information about a specific queue on a device.
Parameters
Returns
Structure to keep track of registered callbacks
Enqueue a burst of processed encode operations to a queue of the device. This functions only enqueues as many operations as currently possible and does not block until num_ops entries in the queue are available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 567 of file rte_bbdev.h.
Enqueue a burst of processed decode operations to a queue of the device. This functions only enqueues as many operations as currently possible and does not block until num_ops entries in the queue are available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 597 of file rte_bbdev.h.
Enqueue a burst of processed encode operations to a queue of the device. This functions only enqueues as many operations as currently possible and does not block until num_ops entries in the queue are available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 627 of file rte_bbdev.h.
Enqueue a burst of processed decode operations to a queue of the device. This functions only enqueues as many operations as currently possible and does not block until num_ops entries in the queue are available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 657 of file rte_bbdev.h.
Enqueue a burst of FFT operations to a queue of the device. This functions only enqueues as many operations as currently possible and does not block until num_ops entries in the queue are available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 687 of file rte_bbdev.h.
Enqueue a burst of MLDTS operations to a queue of the device. This functions only enqueues as many operations as currently possible and does not block until num_ops entries in the queue are available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 717 of file rte_bbdev.h.
Dequeue a burst of processed encode operations from a queue of the device. This functions returns only the current contents of the queue, and does not block until @ num_ops is available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 748 of file rte_bbdev.h.
Dequeue a burst of processed decode operations from a queue of the device. This functions returns only the current contents of the queue, and does not block until @ num_ops is available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 780 of file rte_bbdev.h.
Dequeue a burst of processed encode operations from a queue of the device. This functions returns only the current contents of the queue, and does not block until @ num_ops is available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 811 of file rte_bbdev.h.
Dequeue a burst of processed decode operations from a queue of the device. This functions returns only the current contents of the queue, and does not block until @ num_ops is available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 841 of file rte_bbdev.h.
Dequeue a burst of FFT operations from a queue of the device. This functions returns only the current contents of the queue, and does not block until @ num_ops is available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 871 of file rte_bbdev.h.
Dequeue a burst of MLDTS operations from a queue of the device. This functions returns only the current contents of the queue, and does not block until num_ops is available. This function does not provide any error notification to avoid the corresponding overhead.
Parameters
Returns
Definition at line 901 of file rte_bbdev.h.
Register a callback function for specific device id. Multiple callbacks can be added and will be called in the order they are added when an event is triggered. Callbacks are called in a separate thread created by the DPDK EAL.
Parameters
Returns
Unregister a callback function for specific device id.
Parameters
Returns
Enable a one-shot interrupt on the next operation enqueued to a particular queue. The interrupt will be triggered when the operation is ready to be dequeued. To handle the interrupt, an epoll file descriptor must be registered using rte_bbdev_queue_intr_ctl(), and then an application thread/lcore can wait for the interrupt using rte_epoll_wait().
Parameters
Returns
Disable a one-shot interrupt on the next operation enqueued to a particular queue (if it has been enabled).
Parameters
Returns
Control interface for per-queue interrupts.
Parameters
Returns
Convert device status from enum to string.
Parameters
Returns
Convert queue status from enum to string.
Parameters
Returns
Dump operations info from device to a file. This API is used for debugging provided input operations, not a dataplane API.
Parameters
Returns
String of parameters related to the parameters of an operation of a given type.
Parameters
Returns
Generated automatically by Doxygen for DPDK from the source code.
| Version 24.11.3 | DPDK |