[dpdk-dev] [PATCH v3 04/11] compress/isal: add private xform related ops

De Lara Guarch, Pablo pablo.de.lara.guarch at intel.com
Tue Apr 24 11:45:10 CEST 2018



> -----Original Message-----
> From: Daly, Lee
> Sent: Tuesday, April 17, 2018 2:35 PM
> To: dev at dpdk.org
> Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch at intel.com>; Tucker, Greg B
> <greg.b.tucker at intel.com>; Jain, Deepak K <deepak.k.jain at intel.com>; Trahe,
> Fiona <fiona.trahe at intel.com>; Daly, Lee <lee.daly at intel.com>
> Subject: [PATCH v3 04/11] compress/isal: add private xform related ops
> 
> Signed-off-by: Lee Daly <lee.daly at intel.com>
> ---
>  drivers/compress/isal/isal_compress_pmd.c         | 187
> ++++++++++++++++++++++
>  drivers/compress/isal/isal_compress_pmd_ops.c     |  96 ++++++++++-
>  drivers/compress/isal/isal_compress_pmd_private.h |  12 ++
>  3 files changed, 292 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/compress/isal/isal_compress_pmd.c
> b/drivers/compress/isal/isal_compress_pmd.c
> index 8e658b4..8db6380 100644
> --- a/drivers/compress/isal/isal_compress_pmd.c
> +++ b/drivers/compress/isal/isal_compress_pmd.c
> @@ -9,8 +9,195 @@
> 
>  #include "isal_compress_pmd_private.h"
> 
> +#define RTE_COMP_ISAL_WINDOW_SIZE 15
> +#define RTE_COMP_ISAL_LEVEL_ZERO 0 /* ISA-L Level 0 used for fixed
> +Huffman */ #define RTE_COMP_ISAL_LEVEL_ONE 1 #define
> +RTE_COMP_ISAL_LEVEL_TWO 2 #define RTE_COMP_ISAL_LEVEL_THREE 3 /*
> +Optimised for AVX512 & AVX2 only */
> +
>  int isal_logtype_driver;
> 
> +/* Verify and set private xform parameters */ int
> +isal_comp_set_priv_xform_parameters(struct isal_priv_xform *priv_xform,
> +		const struct rte_comp_xform *xform)
> +{
> +	if (xform == NULL)
> +		return -EINVAL;
> +
> +	/* Check for chained xforms */
> +	if (xform->next != NULL) {
> +		ISAL_PMD_LOG(ERR, "Chained xforms not supported\n");
> +		return -ENOTSUP;
> +	}

The next pointer will be removed in the API v6 patchset, so you can remove this.

...

> +++ b/drivers/compress/isal/isal_compress_pmd_ops.c
> @@ -16,7 +16,56 @@ static int
>  isal_comp_pmd_config(struct rte_compressdev *dev __rte_unused,
>  		struct rte_compressdev_config *config __rte_unused)  {

Remove the __rte_unused here, as you are now using these structure pointers.

...

> git a/drivers/compress/isal/isal_compress_pmd_private.h
> b/drivers/compress/isal/isal_compress_pmd_private.h
> index efbe68b..5c27939 100644
> --- a/drivers/compress/isal/isal_compress_pmd_private.h
> +++ b/drivers/compress/isal/isal_compress_pmd_private.h
> @@ -30,6 +30,18 @@ struct isal_comp_qp {
>  	uint16_t num_free_elements;
>  } __rte_cache_aligned;
> 
> +/** ISA-L private xform structure */
> +struct isal_priv_xform {
> +	enum rte_comp_xform_type type;
> +	struct rte_comp_compress_xform compress;
> +	struct rte_comp_decompress_xform decompress; }

Xform will be either for compression or decompression, so use a union with
compress and decompress structures inside.



More information about the dev mailing list