ipc: end multiprocess thread during cleanup
[dpdk.git] / lib / bbdev / rte_bbdev.h
index 7017124..1dbcf73 100644 (file)
  *
  * Wireless base band device abstraction APIs.
  *
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed without prior notice.
- *
  * 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.
@@ -55,7 +51,6 @@ enum rte_bbdev_state {
  * @return
  *   The total number of usable devices.
  */
-__rte_experimental
 uint16_t
 rte_bbdev_count(void);
 
@@ -68,7 +63,6 @@ rte_bbdev_count(void);
  * @return
  *   true if device ID is valid and device is attached, false otherwise.
  */
-__rte_experimental
 bool
 rte_bbdev_is_valid(uint16_t dev_id);
 
@@ -82,7 +76,6 @@ rte_bbdev_is_valid(uint16_t dev_id);
  *   - The next device, or
  *   - RTE_BBDEV_MAX_DEVS if none found
  */
-__rte_experimental
 uint16_t
 rte_bbdev_find_next(uint16_t dev_id);
 
@@ -112,7 +105,6 @@ rte_bbdev_find_next(uint16_t dev_id);
  *   - -EBUSY if the identified device has already started
  *   - -ENOMEM if unable to allocate memory
  */
-__rte_experimental
 int
 rte_bbdev_setup_queues(uint16_t dev_id, uint16_t num_queues, int socket_id);
 
@@ -130,7 +122,6 @@ rte_bbdev_setup_queues(uint16_t dev_id, uint16_t num_queues, int socket_id);
  *   - -EBUSY if the identified device has already started
  *   - -ENOTSUP if the interrupts are not supported by the device
  */
-__rte_experimental
 int
 rte_bbdev_intr_enable(uint16_t dev_id);
 
@@ -160,7 +151,6 @@ struct rte_bbdev_queue_conf {
  *   - EINVAL if the identified queue size or priority are invalid
  *   - EBUSY if the identified queue or its device have already started
  */
-__rte_experimental
 int
 rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id,
                const struct rte_bbdev_queue_conf *conf);
@@ -174,9 +164,8 @@ rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id,
  *
  * @return
  *   - 0 on success
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
-__rte_experimental
 int
 rte_bbdev_start(uint16_t dev_id);
 
@@ -190,7 +179,6 @@ rte_bbdev_start(uint16_t dev_id);
  * @return
  *   - 0 on success
  */
-__rte_experimental
 int
 rte_bbdev_stop(uint16_t dev_id);
 
@@ -204,7 +192,6 @@ rte_bbdev_stop(uint16_t dev_id);
  * @return
  *   - 0 on success
  */
-__rte_experimental
 int
 rte_bbdev_close(uint16_t dev_id);
 
@@ -220,9 +207,8 @@ rte_bbdev_close(uint16_t dev_id);
  *
  * @return
  *   - 0 on success
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
-__rte_experimental
 int
 rte_bbdev_queue_start(uint16_t dev_id, uint16_t queue_id);
 
@@ -236,9 +222,8 @@ rte_bbdev_queue_start(uint16_t dev_id, uint16_t queue_id);
  *
  * @return
  *   - 0 on success
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
-__rte_experimental
 int
 rte_bbdev_queue_stop(uint16_t dev_id, uint16_t queue_id);
 
@@ -272,7 +257,6 @@ struct rte_bbdev_stats {
  *   - 0 on success
  *   - EINVAL if invalid parameter pointer is provided
  */
-__rte_experimental
 int
 rte_bbdev_stats_get(uint16_t dev_id, struct rte_bbdev_stats *stats);
 
@@ -284,7 +268,6 @@ rte_bbdev_stats_get(uint16_t dev_id, struct rte_bbdev_stats *stats);
  * @return
  *   - 0 on success
  */
-__rte_experimental
 int
 rte_bbdev_stats_reset(uint16_t dev_id);
 
@@ -309,6 +292,10 @@ struct rte_bbdev_driver_info {
        uint16_t min_alignment;
        /** HARQ memory available in kB */
        uint32_t harq_buffer_size;
+       /** Byte endianness (RTE_BIG_ENDIAN/RTE_LITTLE_ENDIAN) supported
+        *  for input/output data
+        */
+       uint8_t data_endianness;
        /** Default queue configuration used if none is supplied  */
        struct rte_bbdev_queue_conf default_queue_conf;
        /** Device operation capabilities */
@@ -347,7 +334,6 @@ struct rte_bbdev_info {
  *   - 0 on success
  *   - EINVAL if invalid parameter pointer is provided
  */
-__rte_experimental
 int
 rte_bbdev_info_get(uint16_t dev_id, struct rte_bbdev_info *dev_info);
 
@@ -374,7 +360,6 @@ struct rte_bbdev_queue_info {
  *   - 0 on success
  *   - EINVAL if invalid parameter pointer is provided
  */
-__rte_experimental
 int
 rte_bbdev_queue_info_get(uint16_t dev_id, uint16_t queue_id,
                struct rte_bbdev_queue_info *queue_info);
@@ -434,7 +419,7 @@ struct rte_bbdev_callback;
 struct rte_intr_handle;
 
 /** Structure to keep track of registered callbacks */
-TAILQ_HEAD(rte_bbdev_cb_list, rte_bbdev_callback);
+RTE_TAILQ_HEAD(rte_bbdev_cb_list, rte_bbdev_callback);
 
 /**
  * @internal The data structure associated with a device. Drivers can access
@@ -490,7 +475,6 @@ 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).
  */
-__rte_experimental
 static inline 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)
@@ -521,7 +505,6 @@ 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).
  */
-__rte_experimental
 static inline 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)
@@ -552,7 +535,6 @@ rte_bbdev_enqueue_dec_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).
  */
-__rte_experimental
 static inline 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)
@@ -583,7 +565,6 @@ rte_bbdev_enqueue_ldpc_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).
  */
-__rte_experimental
 static inline 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)
@@ -616,7 +597,6 @@ rte_bbdev_enqueue_ldpc_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).
  */
-__rte_experimental
 static inline 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)
@@ -649,7 +629,6 @@ rte_bbdev_dequeue_enc_ops(uint16_t dev_id, uint16_t queue_id,
  *   copied into the @p ops array).
  */
 
-__rte_experimental
 static inline 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)
@@ -681,7 +660,6 @@ rte_bbdev_dequeue_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).
  */
-__rte_experimental
 static inline 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)
@@ -712,7 +690,6 @@ rte_bbdev_dequeue_ldpc_enc_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).
  */
-__rte_experimental
 static inline 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)
@@ -764,7 +741,6 @@ typedef void (*rte_bbdev_cb_fn)(uint16_t dev_id,
  * @return
  *   Zero on success, negative value on failure.
  */
-__rte_experimental
 int
 rte_bbdev_callback_register(uint16_t dev_id, enum rte_bbdev_event_type event,
                rte_bbdev_cb_fn cb_fn, void *cb_arg);
@@ -788,7 +764,6 @@ rte_bbdev_callback_register(uint16_t dev_id, enum rte_bbdev_event_type event,
  *   - EINVAL if invalid parameter pointer is provided
  *   - EAGAIN if the provided callback pointer does not exist
  */
-__rte_experimental
 int
 rte_bbdev_callback_unregister(uint16_t dev_id, enum rte_bbdev_event_type event,
                rte_bbdev_cb_fn cb_fn, void *cb_arg);
@@ -807,9 +782,8 @@ rte_bbdev_callback_unregister(uint16_t dev_id, enum rte_bbdev_event_type event,
  *
  * @return
  *   - 0 on success
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
-__rte_experimental
 int
 rte_bbdev_queue_intr_enable(uint16_t dev_id, uint16_t queue_id);
 
@@ -824,9 +798,8 @@ rte_bbdev_queue_intr_enable(uint16_t dev_id, uint16_t queue_id);
  *
  * @return
  *   - 0 on success
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
-__rte_experimental
 int
 rte_bbdev_queue_intr_disable(uint16_t dev_id, uint16_t queue_id);
 
@@ -852,9 +825,8 @@ rte_bbdev_queue_intr_disable(uint16_t dev_id, uint16_t queue_id);
  * @return
  *   - 0 on success
  *   - ENOTSUP if interrupts are not supported by the identified device
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
-__rte_experimental
 int
 rte_bbdev_queue_intr_ctl(uint16_t dev_id, uint16_t queue_id, int epfd, int op,
                void *data);