From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6CC0BA0547; Fri, 29 Oct 2021 15:59:06 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 54D0A411DD; Fri, 29 Oct 2021 15:59:06 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id C473E410E1 for ; Fri, 29 Oct 2021 15:59:04 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10151"; a="254252563" X-IronPort-AV: E=Sophos;i="5.87,193,1631602800"; d="scan'208";a="254252563" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Oct 2021 06:59:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,193,1631602800"; d="scan'208";a="581028016" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga002.fm.intel.com with ESMTP; 29 Oct 2021 06:59:01 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Fri, 29 Oct 2021 06:59:00 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Fri, 29 Oct 2021 06:59:00 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Fri, 29 Oct 2021 06:59:00 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.171) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Fri, 29 Oct 2021 06:58:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bGZ3eyiTWx00jmILqqmbB0uh3eu7YCBlndEixd7TWE4SpNuOlmZXvHCqteaUfKVjw7sthOckC+JUf2YK90XRM8N6XLjmr14oK74WOLqri10eD+DvrTPwG55vK+ZaCb02+T1uYLA7JR+Wjvum5loDKOHwp9JwoQchp/R82+sTMT60zc46MoXFX1yzShU59xTiy8614lwFi7ZQKe5fJ2jGGNJuqnI1drKRuLSklDhkX8yH9MDbRJF6FhwhqfnXdSM9w8r/nnYsXy8fuurbb76jYwddjx72B7gRc0hFxfbwv3CILa+K6SzMT9l3f3fw0NVQlGLkJPePZiXdYB4Fy3ALEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=o3UiV4lvcXChHUWsayTJJg5oN9aDaEx7E21TVb0XWVU=; b=mEctedeNq0MsoAyCygKFjUFxX1ejjkOy2UALEGIClQTnFHURb547MDGmBULPttJGi9WUScVNUgGfktMkvbI1o5nKuFhkeP9OdHJJ4kXBJK1jRkX/cYfS8JP9hB95fDsHgG0dwXG1HuyuNyg3n5VFLRUtOC2RsclqUrCRd7bqEGuqsIrEU74PNccTtgQDvWDUsmdxkLIs/hGOSkbZ7V+DCQXjmwu4x8CwYV/PFyJcdeDFI+9aHI1ZloUS0CUWTISoR7VVtgGVzngR4T6UdruAEVBmEthSkT53pLkx2TKW7JW7au1lnkoAZGXmHWj0OP3bdQPgVIbKQF7OD1MwXoLruQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=o3UiV4lvcXChHUWsayTJJg5oN9aDaEx7E21TVb0XWVU=; b=c3q3r4qHWA6MQZZbwmW0OJSTm17VpjW4wIBwsRaBE9EanIkbMykxpaAQHiRl9GEL4zQDDd3fEtS0+Ry0eNdvfB0X0brDw68H4sNbnw4TQdAdre0ocyqMjrL4c6EDCg4WeSAakFnNeaURoofm+CA5jWfAgBt+1TfLAL8fWYqR46E= Received: from MW5PR11MB5809.namprd11.prod.outlook.com (2603:10b6:303:197::6) by MWHPR1101MB2286.namprd11.prod.outlook.com (2603:10b6:301:5b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18; Fri, 29 Oct 2021 13:58:58 +0000 Received: from MW5PR11MB5809.namprd11.prod.outlook.com ([fe80::2c31:1470:3036:959b]) by MW5PR11MB5809.namprd11.prod.outlook.com ([fe80::2c31:1470:3036:959b%6]) with mapi id 15.20.4649.015; Fri, 29 Oct 2021 13:58:57 +0000 From: "Zhang, Roy Fan" To: "Ji, Kai" , "dev@dpdk.org" CC: "Ji, Kai" Thread-Topic: [dpdk-dev] [dpdk-dev v1 1/7] crypro/qat: qat driver refactor skeleton Thread-Index: AQHXyo6Lvvm7BJJ6BEGbRtAwTYTIUqvp8bIw Date: Fri, 29 Oct 2021 13:58:57 +0000 Message-ID: References: <20211026172518.20183-1-kai.ji@intel.com> <20211026172518.20183-2-kai.ji@intel.com> In-Reply-To: <20211026172518.20183-2-kai.ji@intel.com> Accept-Language: zh-Hans-HK, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.200.16 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f2928de0-7386-4e5f-5336-08d99ae440bf x-ms-traffictypediagnostic: MWHPR1101MB2286: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hVm+AoQLZDAQXTajS5nNTJZt+OwSg2pv2hBzSYLBwPqbdnuguXn9BmttZT5xX9S9i6b8UiCewPr3inJYTc/Pm3Wb7C1AON1bMJv18Rs6bAVmyFsfQJvGk0T5EW7+td1Ig6zC1VPCEd4k2vkATwB3MRdL6qcNQ9Jv4QwOYBDhLbzcaG+CKL12GO3Meq+LQNgbys36CHRAq6JNKUiUQvrgISFkrjDMInUY1Dla0ycJ7jF7xsQkVKDKBijCvk4+/X9LCHg3udJc2IhJcpsoTi04NU+DpQ1ia6kyReHhd73+9wLcFKJZDWf7r4QPkvw7C3c1qimBrL9A+kf5M3xsFUZiUe8GZ58QIky7cxtsKIm/nOJA9DKyix5S+e5iDOsP7eHBvkV4K6pMMXp7/Cf0yxkAW010Z6oRMC68WGS/J5gmagyimnTQW6EhU+9pi+1/fY1E2jKGQ/RT006aX/jlEo2BlddlfduQXlgyKJ9chDJbQ701nasYwDXZwPGm+9Rj153TAr3D6wZq1MTXuZo6+jrFiZsFs4fZpdE/cW4zrLvVxO/18+rMrh+mIG8aeeCMs7EDKVSBXDqs5dzRBUo4O66G5WHj5hg4T3M5sG7E/wz0kcF879YAhVgvHcO3RQ7CsqqeOmnFBaQke0NAaGUHbGwl+fclrqLQuRiuaqc1qKO7VeMgIR6W55ZZJK/NhLg6h0zxwAxqy7RBHFfdoW90T6jY2E7ioCZHRSfrfuj0sQx9VtQ= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW5PR11MB5809.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(7696005)(8676002)(76116006)(5660300002)(38100700002)(64756008)(66556008)(8936002)(122000001)(83380400001)(66946007)(110136005)(66446008)(26005)(82960400001)(186003)(38070700005)(316002)(86362001)(6506007)(52536014)(9686003)(33656002)(107886003)(66476007)(53546011)(71200400001)(2906002)(4326008)(55016002)(508600001)(21314003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?povcishrynaCeZZFHNoIgKyB18fgAHhkRxxk0HuJe20cXnfv842ERCSI?= =?Windows-1252?Q?Oe0ZNbnQehpdKsTO2JyLZjW1lK9SPiLaP+mE1l+DyFHpr3YGWdjadA2f?= =?Windows-1252?Q?+i8Hi6pp++cO3o+K8R4kEgQVj1EUh3MI6AIzur/nj/9KLdcYvPWVLo9p?= =?Windows-1252?Q?WJriidJnbt3Tdt7ES4IqXoIPEySnvLM+/sjYoqDHFfvsh2k9RxzrGDpK?= =?Windows-1252?Q?gJ5Ian0EW7LqmhYDaU8Lx7ZaQqNtfZ6M+EzETi5iZ9dmvLntw2WrUagh?= =?Windows-1252?Q?Vlg2HuzrRYvp/4qxzrNvtW2gOv5C7BryeuvDDf49/lMj59iDA1V+MPis?= =?Windows-1252?Q?2nP4IWroXUe3kZxLUV+vHZJ5gP1OGqLlQCSyYwts5TDwfxsdOtbzZJLG?= =?Windows-1252?Q?LLCr5M8HFpqYSr3pkabC4VAPkUKJl5MAZY66/iekWAEppXtxdCEke3B0?= =?Windows-1252?Q?ubx6pTEhKRZcl61gvPVZLDDLrl9Yaqv1ZGOcI3K7JaDl8Ss9qlIP0aMX?= =?Windows-1252?Q?vH+FOkyTtHxtU3des1gjMixGDEFVShowwD+gC/+2Hvpcy5thcnry4AI6?= =?Windows-1252?Q?neSjGVOxU27vDkNlTjzHE8ZJ5raC5FAJqkbNkottJSqj2SHCJioBtp1n?= =?Windows-1252?Q?U31dpizRj6CU8mee8Iiavp5QnEy0no2tum6qGQevFqpE1e7gdA3Bya2e?= =?Windows-1252?Q?KadQ0NVzCrD2TjXcNWZq0D7uFrasxfuHmus3wTbT0aK8q5G0X2wE6+pq?= =?Windows-1252?Q?zseeQSUWm7jGVFfr5hesX0amxZAplJz0tGOVpxR2W7rGFQeFyACaIZjo?= =?Windows-1252?Q?nfaQRm803Yzi8G/Irgkt8m59nTBSkGQJTC2HJtde+bonzZCNLWtA4dMf?= =?Windows-1252?Q?xsNzs2y5O2YYrB8fW+dpV6/cTyQb83V3AWxD3N00/BryjdYoIHi8tiVY?= =?Windows-1252?Q?HCRB2D1KaVd279FzxVQN5731Z/gOyS/JXV6+z7SesIcFhnGbmJIBCvyo?= =?Windows-1252?Q?erZhAyrNgTA8bJbTgXbUKrGaqBKDGF7z/eIxlvhGLAiXqIj737mGXsHy?= =?Windows-1252?Q?ThDKky2xg6VstJaRs0bIaxiMJk9U7XWn8TBzmpPmn2O4wpVbhCLz0Rgx?= =?Windows-1252?Q?ucwwvnHFddfinvs9zJ2j374WoE2KxA+af1qFjdK1M1ySFndBqPKvcxvh?= =?Windows-1252?Q?mEHiGoSANFyNLGLS84L4Wthlt1kIqojFVZXPKYSvTB5LwDzwtLGnKgxL?= =?Windows-1252?Q?1mvzT5dFp2fg9+ZfU5HE4qUlPxgdJmSP+8+G8DtSDsoNFJBePlQV8yyT?= =?Windows-1252?Q?WVDv0oNQCTWWRU/1j3Bxk5cvgDtHQPUQKMceYzJUmKmAXK/XwES0qjfB?= =?Windows-1252?Q?A1dpFr0F6Xc7EjDWck4jgo3442Z3foLwq/elyxzhfFnQKO9aG96yBOFN?= =?Windows-1252?Q?ZrOp9frn3HUojC+Y8Yt92+KyxIy5ueKar9TmPYXyDWT0XV3fuC4giOgf?= =?Windows-1252?Q?3P5urv3M2rgotE2c5XlkjTKnHrXeRuWtEKshnW219++FTJldEpW+cIpE?= =?Windows-1252?Q?7BSxONLZfatFpZoWJNin7Q3+r0KIQNEfz/w441rar5pJl3deKwsekuB8?= =?Windows-1252?Q?QYI0ORgNoN59P+ym3EdlNOAh4M/pOlG0Bh1sVVRw9IA7mGaNEObwK/8F?= =?Windows-1252?Q?uTFKr+dsrvgcUSMzyqVWfBok745PEcJjMwoVrysqX1BXUwjZaikI4onR?= =?Windows-1252?Q?hy6mtbTB5Me6MnL0Tcg=3D?= Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5809.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f2928de0-7386-4e5f-5336-08d99ae440bf X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2021 13:58:57.8012 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: a62k7OKQXuobOZq1lHaZQ2H8mmfl4dw6tvO+z5fUFTbKDLwsgcWrOnBRRTG7/CoxBqtkHywEaIKVdWG02wQ2MA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2286 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [dpdk-dev v1 1/7] crypro/qat: qat driver refactor skeleton X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Kai, > -----Original Message----- > From: dev On Behalf Of Kai Ji > Sent: Tuesday, October 26, 2021 6:25 PM > To: dev@dpdk.org > Cc: Ji, Kai > Subject: [dpdk-dev] [dpdk-dev v1 1/7] crypro/qat: qat driver refactor > skeleton >=20 > Add-in enqueue/dequeue op burst and build-request skeleton functions > for qat crypto driver refactor. >=20 > Signed-off-by: Kai Ji > --- ... > +/** > + * @brief Function prototype to build a QAT request. > + * @param opaque: an opaque data may be used to store context may be > useful > + * between 2 enqueue operations. > + **/ The comments for the function prototype can be polished to make it clearer. Also the formatting shall be inline with the rest of dpdk code. Such as /** * * * @param x * Description to the param x. * @return * - 0 if the crypto request is built successfully. * - error code otherwise. */ > +typedef int (*qat_op_build_request_t)(void *in_op, uint8_t *out_msg, > + void *op_cookie, uint64_t *opaque, enum qat_device_gen > dev_gen); > + > +typedef int (*qat_op_dequeue_t)(void **op, uint8_t *resp, void > *op_cookie, > + uint64_t *dequeue_err_count __rte_unused); The above function prototype worth some description too? > + > +#define QAT_BUILD_REQUEST_MAX_OPAQUE_SIZE 2 > + > struct qat_qp { > void *mmap_bar_addr; > struct qat_queue tx_q; > @@ -44,6 +57,7 @@ struct qat_qp { > struct rte_mempool *op_cookie_pool; > void **op_cookies; > uint32_t nb_descriptors; > + uint64_t opaque[QAT_BUILD_REQUEST_MAX_OPAQUE_SIZE]; > enum qat_device_gen qat_dev_gen; > enum qat_service_type service_type; > struct qat_pci_device *qat_dev; > @@ -77,6 +91,14 @@ struct qat_qp_config { > const char *service_str; > }; >=20 > +uint16_t > +refactor_qat_enqueue_op_burst(void *qp, qat_op_build_request_t > op_build_request, > + void **ops, uint16_t nb_ops); > + > +uint16_t > +refactor_qat_dequeue_op_burst(void *qp, void **ops, > + qat_op_dequeue_t qat_dequeue_process_response, > uint16_t nb_ops); > + > uint16_t > qat_enqueue_op_burst(void *qp, void **ops, uint16_t nb_ops); >=20 > diff --git a/drivers/crypto/qat/qat_asym.c b/drivers/crypto/qat/qat_asym.= c > index 85973812a8..d5b4c66d68 100644 > --- a/drivers/crypto/qat/qat_asym.c > +++ b/drivers/crypto/qat/qat_asym.c > @@ -456,6 +456,41 @@ qat_asym_fill_arrays(struct rte_crypto_asym_op > *asym_op, > return 0; > } >=20 > +static __rte_always_inline int > +refactor_qat_asym_build_request(__rte_unused void *in_op, > + __rte_unused uint8_t *out_msg, __rte_unused void > *op_cookie, > + __rte_unused uint64_t *opaque, > + __rte_unused enum qat_device_gen dev_gen) > +{ > + return 0; > +} > + > +int > +refactor_qat_asym_process_response(__rte_unused void **op, > + __rte_unused uint8_t *resp, > + __rte_unused void *op_cookie, > + __rte_unused uint64_t *dequeue_err_count) > +{ > + return 0; > +} I assume the functions refactor_xxx() is removed in future patches right? Maybe adding some comments to help reviewing. > + > +uint16_t > +qat_asym_crypto_enqueue_op_burst(void *qp, struct rte_crypto_op > **ops, > + uint16_t nb_ops) > +{ > + return refactor_qat_enqueue_op_burst(qp, > + refactor_qat_asym_build_request, > + (void **)ops, nb_ops); > +} > + > +uint16_t > +qat_asym_crypto_dequeue_op_burst(void *qp, struct rte_crypto_op > **ops, > + uint16_t nb_ops) > +{ > + return refactor_qat_dequeue_op_burst(qp, (void **)ops, > + refactor_qat_asym_process_response, > nb_ops); > +} > + > int > qat_asym_build_request(void *in_op, > uint8_t *out_msg, > diff --git a/drivers/crypto/qat/qat_asym.h b/drivers/crypto/qat/qat_asym.= h > index 308b6b2e0b..50c2641eba 100644 > --- a/drivers/crypto/qat/qat_asym.h > +++ b/drivers/crypto/qat/qat_asym.h > @@ -92,4 +92,19 @@ void > qat_asym_process_response(void __rte_unused **op, uint8_t *resp, > void *op_cookie); >=20 > +int > +refactor_qat_asym_process_response(__rte_unused void **op, > + __rte_unused uint8_t *resp, > + __rte_unused void *op_cookie, > + __rte_unused uint64_t *dequeue_err_count); > + > +uint16_t > +qat_asym_crypto_enqueue_op_burst(void *qp, struct rte_crypto_op > **ops, > + uint16_t nb_ops); > + > + > +uint16_t > +qat_asym_crypto_dequeue_op_burst(void *qp, struct rte_crypto_op > **ops, > + uint16_t nb_ops); > + > #endif /* _QAT_ASYM_H_ */ > diff --git a/drivers/crypto/qat/qat_sym.c b/drivers/crypto/qat/qat_sym.c > index 93b257522b..a92874cd27 100644 > --- a/drivers/crypto/qat/qat_sym.c > +++ b/drivers/crypto/qat/qat_sym.c > @@ -210,6 +210,31 @@ handle_spc_gmac(struct qat_sym_session *ctx, > struct rte_crypto_op *op, > ICP_QAT_FW_LA_NO_PROTO); > } >=20 > +static __rte_always_inline int > +refactor_qat_sym_build_request(__rte_unused void *in_op, > + __rte_unused uint8_t *out_msg, __rte_unused void > *op_cookie, > + __rte_unused uint64_t *opaque, > + __rte_unused enum qat_device_gen dev_gen) > +{ > + return 0; > +} > + > +uint16_t > +refactor_qat_sym_enqueue_burst(void *qp, struct rte_crypto_op **ops, > + uint16_t nb_ops) > +{ > + return refactor_qat_enqueue_op_burst(qp, > refactor_qat_sym_build_request, > + (void **)ops, nb_ops); > +} > + Same as above, some comments would be helpful and shall remove altogether i= n later patches. > +uint16_t > +refactor_qat_sym_dequeue_burst(void *qp, struct rte_crypto_op **ops, > + uint16_t nb_ops) > +{ > + return refactor_qat_dequeue_op_burst(qp, (void **)ops, > + refactor_qat_sym_process_response, > nb_ops); > +} > + > int > qat_sym_build_request(void *in_op, uint8_t *out_msg, > void *op_cookie, enum qat_device_gen qat_dev_gen) > diff --git a/drivers/crypto/qat/qat_sym.h b/drivers/crypto/qat/qat_sym.h > index e3ec7f0de4..17b2c871bd 100644 > --- a/drivers/crypto/qat/qat_sym.h > +++ b/drivers/crypto/qat/qat_sym.h > @@ -54,6 +54,22 @@ struct qat_sym_op_cookie { > } opt; > }; >=20 > +static __rte_always_inline int > +refactor_qat_sym_process_response(__rte_unused void **op, > + __rte_unused uint8_t *resp, __rte_unused void *op_cookie, > + __rte_unused uint64_t *dequeue_err_count) > +{ > + return 0; > +} > + > +uint16_t > +refactor_qat_sym_enqueue_burst(void *qp, struct rte_crypto_op **ops, > + uint16_t nb_ops); > + > +uint16_t > +refactor_qat_sym_dequeue_burst(void *qp, struct rte_crypto_op **ops, > + uint16_t nb_ops); > + > int > qat_sym_build_request(void *in_op, uint8_t *out_msg, > void *op_cookie, enum qat_device_gen qat_dev_gen); > diff --git a/drivers/crypto/qat/qat_sym_session.h > b/drivers/crypto/qat/qat_sym_session.h > index 6ebc176729..73493ec864 100644 > --- a/drivers/crypto/qat/qat_sym_session.h > +++ b/drivers/crypto/qat/qat_sym_session.h > @@ -55,6 +55,11 @@ > #define QAT_SESSION_IS_SLICE_SET(flags, flag) \ > (!!((flags) & (flag))) >=20 > +struct qat_sym_session; > + > +typedef int (*qat_sym_build_request_t)(void *in_op, struct > qat_sym_session *ctx, > + uint8_t *out_msg, void *op_cookie); > + > enum qat_sym_proto_flag { > QAT_CRYPTO_PROTO_FLAG_NONE =3D 0, > QAT_CRYPTO_PROTO_FLAG_CCM =3D 1, > @@ -107,6 +112,7 @@ struct qat_sym_session { > /* Some generations need different setup of counter */ > uint32_t slice_types; > enum qat_sym_proto_flag qat_proto_flag; > + qat_sym_build_request_t build_request[2]; > }; >=20 > int > -- > 2.17.1 All comments are towards the comments - as of the rest Acked-by: Fan Zhang