From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 7407EA2EFC
	for <public@inbox.dpdk.org>; Fri, 20 Sep 2019 12:09:12 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 39B481F39D;
	Fri, 20 Sep 2019 12:09:11 +0200 (CEST)
Received: from mga06.intel.com (mga06.intel.com [134.134.136.31])
 by dpdk.org (Postfix) with ESMTP id 218EC1F39C
 for <dev@dpdk.org>; Fri, 20 Sep 2019 12:09:08 +0200 (CEST)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 20 Sep 2019 03:09:07 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.64,528,1559545200"; d="scan'208";a="388605912"
Received: from irsmsx153.ger.corp.intel.com ([163.33.192.75])
 by fmsmga006.fm.intel.com with ESMTP; 20 Sep 2019 03:09:06 -0700
Received: from irsmsx112.ger.corp.intel.com (10.108.20.5) by
 IRSMSX153.ger.corp.intel.com (163.33.192.75) with Microsoft SMTP Server (TLS)
 id 14.3.439.0; Fri, 20 Sep 2019 11:09:05 +0100
Received: from irsmsx101.ger.corp.intel.com ([169.254.1.129]) by
 irsmsx112.ger.corp.intel.com ([169.254.1.33]) with mapi id 14.03.0439.000;
 Fri, 20 Sep 2019 11:09:05 +0100
From: "Trahe, Fiona" <fiona.trahe@intel.com>
To: "Dybkowski, AdamX" <adamx.dybkowski@intel.com>, "dev@dpdk.org"
 <dev@dpdk.org>, "akhil.goyal@nxp.com" <akhil.goyal@nxp.com>, "Trybula,
 ArturX" <arturx.trybula@intel.com>
CC: "Trahe, Fiona" <fiona.trahe@intel.com>
Thread-Topic: [PATCH 2/4] compress/qat: add stateful decompression
Thread-Index: AQHVYZs0+o61sPnbD0q263m++Insoac0ck+g
Date: Fri, 20 Sep 2019 10:09:05 +0000
Message-ID: <348A99DA5F5B7549AA880327E580B4358981E847@IRSMSX101.ger.corp.intel.com>
References: <20190826074501.10653-1-adamx.dybkowski@intel.com>
 <20190826074501.10653-2-adamx.dybkowski@intel.com>
In-Reply-To: <20190826074501.10653-2-adamx.dybkowski@intel.com>
Accept-Language: en-IE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZmE2NzUzMWUtM2MyZC00Zjk5LWE2MmMtNTEzMDk2NmFiNDhmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiUUpSZGJYeU10dkRuUkRvNk1DdWZndUN6dCtiemdzR1d6UG5UZzZVOWVVWU9oeGlacG9lYlRzVjdzSFNHbEVYcyJ9
x-ctpclassification: CTP_NT
dlp-product: dlpe-windows
dlp-version: 11.2.0.6
dlp-reaction: no-action
x-originating-ip: [163.33.239.180]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [dpdk-dev] [PATCH 2/4] compress/qat: add stateful decompression
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>



> -----Original Message-----
> From: Dybkowski, AdamX
> Sent: Monday, August 26, 2019 8:45 AM
> To: dev@dpdk.org; Trahe, Fiona <fiona.trahe@intel.com>; akhil.goyal@nxp.c=
om; Trybula, ArturX
> <arturx.trybula@intel.com>
> Cc: Dybkowski, AdamX <adamx.dybkowski@intel.com>
> Subject: [PATCH 2/4] compress/qat: add stateful decompression
>=20
> This patch adds the stateful decompression feature
> to the DPDK QAT PMD.
>=20
> Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com>
> ---
>  drivers/compress/qat/qat_comp.c     | 256 +++++++++++++++++++++++++---
>  drivers/compress/qat/qat_comp.h     |  32 ++++
>  drivers/compress/qat/qat_comp_pmd.c | 166 ++++++++++++++++--
>  drivers/compress/qat/qat_comp_pmd.h |   2 +
>  4 files changed, 423 insertions(+), 33 deletions(-)
>=20
> diff --git a/drivers/compress/qat/qat_comp.c b/drivers/compress/qat/qat_c=
omp.c
> index 835aaa838..a80cd6864 100644
> --- a/drivers/compress/qat/qat_comp.c
> +++ b/drivers/compress/qat/qat_comp.c
> @@ -27,22 +27,51 @@ qat_comp_build_request(void *in_op, uint8_t *out_msg,
>  	struct rte_comp_op *op =3D in_op;
>  	struct qat_comp_op_cookie *cookie =3D
>  			(struct qat_comp_op_cookie *)op_cookie;
> -	struct qat_comp_xform *qat_xform =3D op->private_xform;
> -	const uint8_t *tmpl =3D (uint8_t *)&qat_xform->qat_comp_req_tmpl;
> +	struct qat_comp_stream *stream;
> +	struct qat_comp_xform *qat_xform;
> +	const uint8_t *tmpl;
>  	struct icp_qat_fw_comp_req *comp_req =3D
>  	    (struct icp_qat_fw_comp_req *)out_msg;
>=20
> -	if (unlikely(op->op_type !=3D RTE_COMP_OP_STATELESS)) {
> -		QAT_DP_LOG(ERR, "QAT PMD only supports stateless compression "
> -				"operation requests, op (%p) is not a "
> -				"stateless operation.", op);
> -		op->status =3D RTE_COMP_OP_STATUS_INVALID_ARGS;
> -		return -EINVAL;
> +	if (op->op_type =3D=3D RTE_COMP_OP_STATEFUL) {
> +		stream =3D op->stream;
> +		qat_xform =3D &stream->qat_xform;
> +		if (unlikely(qat_xform->qat_comp_request_type !=3D
> +			     QAT_COMP_REQUEST_DECOMPRESS)) {
> +			QAT_DP_LOG(ERR, "QAT PMD does not support stateful compression");
> +			op->status =3D RTE_COMP_OP_STATUS_INVALID_ARGS;
> +			return -EINVAL;
> +		}
> +		if (unlikely(stream->op_in_progress)) {
> +			QAT_DP_LOG(ERR, "QAT PMD does not support running multiple stateless
> operations on the same stream at once");
[Fiona] typo - should be stateful