From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 699401B80B for ; Fri, 6 Apr 2018 20:52:16 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Apr 2018 11:52:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,416,1517904000"; d="scan'208";a="189275582" Received: from sivswdev01.ir.intel.com (HELO localhost.localdomain) ([10.237.217.45]) by orsmga004.jf.intel.com with ESMTP; 06 Apr 2018 11:52:13 -0700 From: Fiona Trahe To: dev@dpdk.org, pablo.de.lara.guarch@intel.com Cc: fiona.trahe@intel.com, tomaszx.jozwiak@intel.com Date: Fri, 6 Apr 2018 19:51:42 +0100 Message-Id: <1523040732-3290-1-git-send-email-fiona.trahe@intel.com> X-Mailer: git-send-email 1.7.0.7 Subject: [dpdk-dev] [PATCH 00/30] crypto/qat: refactor to support multiple service X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Apr 2018 18:52:17 -0000 The QAT crypto PMD was peppered with references to rte_cryptodev artefacts. Also the pci device it presented to the API layer was entirely owned by the one cryptodev device instance created by the probe. This patchset refactors the PMD so one pci device can present out multiple different device instances to implement different APIs, specifically cryptodev and compressdev instances. The code is refactored into - common code which handles the pci device discovery, configuration, queue-pair setup, stats gathering and data-path enqueue and dequeue. - service-specific code for symmetric crypto, which is a thin layer implementing the cryptodev API and using the common code. - place-holder files for service-specific code to support asymmetric crypto and compression services in future. Fiona Trahe (29): crypto/qat: use SPDX license crypto/qat: add qat common header crypto/qat: add qat device files crypto/qat: remove unused includes crypto/qat: add symmetric session file crypto/qat: change filename crypto to sym crypto/qat: rename fns for consistency crypto/qat: renamed sym-specific structs crypto/qat: make enqueue function generic crypto/qat: make dequeue function generic crypto/qat: move generic qp fn to qp file crypto/qat: separate sym-specific from generic qp setup crypto/qat: move sym-specific qp code to sym file crypto/qat: remove dependencies on cryptodev from common crypto/qat: move defines from sym to qp header file crypto/qat: create data structures to support different generations crypto/qat: rename sgl related objects crypto/qat: move sgl related element to appropriate files crypto/qat: add QAT PCI device struct crypto/qat: separate the name used for PCI reg from crypto name crypto/qat: move to using new device structure crypto/qat: use common stats structures crypto/qat: rename functions which depend on cryptodev crypto/qat: move code into appropriate files crypto/qat: add lock around csr access and change logic crypto/qat: remove incorrect usage of bundle number crypto/qat: cleanups crypto/qat: create appropriately named device for registration crypto/qat: add MAX PCI DEVICES flag to config file Tomasz Jozwiak (1): crypto/qat: add performance improvement into qat crypto dev. config/common_base | 4 + config/rte_config.h | 2 + drivers/crypto/qat/Makefile | 12 +- drivers/crypto/qat/meson.build | 11 +- .../qat/qat_adf/adf_transport_access_macros.h | 56 +- drivers/crypto/qat/qat_adf/icp_qat_fw.h | 47 +- drivers/crypto/qat/qat_adf/icp_qat_fw_la.h | 47 +- drivers/crypto/qat/qat_adf/icp_qat_hw.h | 47 +- drivers/crypto/qat/qat_adf/qat_algs.h | 72 +- drivers/crypto/qat/qat_adf/qat_algs_build_desc.c | 1059 ------------ drivers/crypto/qat/qat_asym_pmd.c | 17 + drivers/crypto/qat/qat_asym_pmd.h | 15 + drivers/crypto/qat/qat_common.c | 107 ++ drivers/crypto/qat/qat_common.h | 76 + drivers/crypto/qat/qat_comp_pmd.c | 18 + drivers/crypto/qat/qat_comp_pmd.h | 29 + drivers/crypto/qat/qat_crypto.c | 1696 ------------------- drivers/crypto/qat/qat_crypto.h | 150 -- drivers/crypto/qat/qat_crypto_capabilities.h | 557 ------- drivers/crypto/qat/qat_device.c | 241 +++ drivers/crypto/qat/qat_device.h | 78 + drivers/crypto/qat/qat_logs.h | 2 +- drivers/crypto/qat/qat_qp.c | 464 ++++-- drivers/crypto/qat/qat_qp.h | 106 ++ drivers/crypto/qat/qat_sym.c | 568 +++++++ drivers/crypto/qat/qat_sym.h | 152 ++ drivers/crypto/qat/qat_sym_capabilities.h | 557 +++++++ drivers/crypto/qat/qat_sym_pmd.c | 335 ++++ drivers/crypto/qat/qat_sym_pmd.h | 39 + drivers/crypto/qat/qat_sym_session.c | 1723 ++++++++++++++++++++ drivers/crypto/qat/qat_sym_session.h | 143 ++ drivers/crypto/qat/rte_qat_cryptodev.c | 180 -- 32 files changed, 4570 insertions(+), 4040 deletions(-) delete mode 100644 drivers/crypto/qat/qat_adf/qat_algs_build_desc.c create mode 100644 drivers/crypto/qat/qat_asym_pmd.c create mode 100644 drivers/crypto/qat/qat_asym_pmd.h create mode 100644 drivers/crypto/qat/qat_common.c create mode 100644 drivers/crypto/qat/qat_common.h create mode 100644 drivers/crypto/qat/qat_comp_pmd.c create mode 100644 drivers/crypto/qat/qat_comp_pmd.h delete mode 100644 drivers/crypto/qat/qat_crypto.c delete mode 100644 drivers/crypto/qat/qat_crypto.h delete mode 100644 drivers/crypto/qat/qat_crypto_capabilities.h create mode 100644 drivers/crypto/qat/qat_device.c create mode 100644 drivers/crypto/qat/qat_device.h create mode 100644 drivers/crypto/qat/qat_qp.h create mode 100644 drivers/crypto/qat/qat_sym.c create mode 100644 drivers/crypto/qat/qat_sym.h create mode 100644 drivers/crypto/qat/qat_sym_capabilities.h create mode 100644 drivers/crypto/qat/qat_sym_pmd.c create mode 100644 drivers/crypto/qat/qat_sym_pmd.h create mode 100644 drivers/crypto/qat/qat_sym_session.c create mode 100644 drivers/crypto/qat/qat_sym_session.h delete mode 100644 drivers/crypto/qat/rte_qat_cryptodev.c