mem: ease init in a docker container
[dpdk.git] / lib / librte_compressdev / rte_compressdev.h
index d52103e..d3c0000 100644 (file)
@@ -73,6 +73,12 @@ rte_compressdev_capability_get(uint8_t dev_id,
 /**< Utilises CPU SIMD AVX512 instructions */
 #define        RTE_COMPDEV_FF_CPU_NEON                 (1ULL << 5)
 /**< Utilises CPU NEON instructions */
+#define RTE_COMPDEV_FF_OP_DONE_IN_DEQUEUE      (1ULL << 6)
+/**< A PMD should set this if the bulk of the
+ * processing is done during the dequeue. It should leave it
+ * cleared if the processing is done during the enqueue (default).
+ * Applications can use this as a hint for tuning.
+ */
 
 /**
  * Get the name of a compress device feature flag.
@@ -111,6 +117,19 @@ struct rte_compressdev_stats {
        /**< Total error count on operations dequeued */
 };
 
+
+/**
+ * Get the device identifier for the named compress device.
+ *
+ * @param name
+ *   Device name to select the device structure
+ * @return
+ *   - Returns compress device identifier on success.
+ *   - Return -1 on failure to find named compress device.
+ */
+int __rte_experimental
+rte_compressdev_get_dev_id(const char *name);
+
 /**
  * Get the compress device name given a device identifier.
  *
@@ -395,6 +414,13 @@ rte_compressdev_dequeue_burst(uint8_t dev_id, uint16_t qp_id,
  * @note All compression operations are Out-of-place (OOP) operations,
  * as the size of the output data is different to the size of the input data.
  *
+ * @note The rte_comp_op contains both input and output parameters and is the
+ * vehicle for the application to pass data into and out of the PMD. While an
+ * op is inflight, i.e. once it has been enqueued, the private_xform or stream
+ * attached to it and any mbufs or memory referenced by it should not be altered
+ * or freed by the application. The PMD may use or change some of this data at
+ * any time until it has been returned in a dequeue operation.
+ *
  * @note The flush flag only applies to operations which return SUCCESS.
  * In OUT_OF_SPACE cases whether STATEFUL or STATELESS, data in dest buffer
  * is as if flush flag was FLUSH_NONE.
@@ -503,6 +529,8 @@ rte_compressdev_private_xform_create(uint8_t dev_id,
 
 /**
  * This should clear the private_xform and return it to the device's mempool.
+ * It is the application's responsibility to ensure that private_xform data
+ * is not cleared while there are still in-flight operations using it.
  *
  * @param dev_id
  *   Compress device identifier
@@ -514,7 +542,6 @@ rte_compressdev_private_xform_create(uint8_t dev_id,
  *  - 0 if successful
  *  - <0 in error cases
  *  - Returns -EINVAL if input parameters are invalid.
- *  - Returns -EBUSY if can't free private_xform due to inflight operations
  */
 int __rte_experimental
 rte_compressdev_private_xform_free(uint8_t dev_id, void *private_xform);