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