Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp1044842pxx; Thu, 29 Oct 2020 23:50:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwDltAhvfgagLXsA6+EoxBNOujo24rJ8D21btzlT8GD0EzABCXdWtSX7bA6vUYNCWp2Knwr X-Received: by 2002:a17:906:7fd7:: with SMTP id r23mr1023450ejs.310.1604040648662; Thu, 29 Oct 2020 23:50:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1604040648; cv=none; d=google.com; s=arc-20160816; b=GKRP+FGVA8hvRi6C5dj316FvvogoDCF7BZ5BSChszM9+CStTYKuZ8yunvTIpHgZLzh jhuHuV1CiOsXgh81S6UlIxtMDftBWYPjT0lGFMS4EAJ4N07z2hozPLh3Z3tLakDmE8c9 7nhUvW3mrBKL2V6VwuehY41T6/9D6RBddYZkUEn7y3naSYvTib06IvEujtXjJDWIaVSA fg/NsD5TUc/LKAUcyyP+Wmof72X/kpo+AmHUwJEnMdplFQwof5Zw31QgDjdO+MY7HVr1 Dn/K3yJOJzUXFxAaFRNmNH2vKHF1IlIFM+wuhhyvXlSo8fnDca/m1jo6rooSJPk5HibQ JQhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=JOAXSCKIxS2XkousOqW8kgVFKaZJRtnZBJW7yBimUJo=; b=YU0iKS4dwo6dUr7Wn4M9BXWQt2OsUzgUl08kk06FvIaLYI06PUGY1oUs+jYZjIXwKi YUDcE8cqhm+WprswGlDOIAYp65AhGLzgLvjCBI99ekqdOtJZ62naqk9iCwVSRVOdGhmL cgwCJXlrQr/AWM3IXIU9DGDGOIPaN6gy78EiawMUfpDq9cL3f3YL2G1/G10g4BfhaXM/ I2sz/Ei0OS2T4byVBTyR8EGMJOLCnuizZTcz6k+10FW3BeZSfDX0NUqrQPuxx/QpqiFf JKnEWnMYfH1t/YKwu/8LkZJRBoqaT9Lt6Ceenf3hOSnQo+5f6W+xFTFsbdxEZkjZG261 vk3w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x26si3691939eds.99.2020.10.29.23.50.25; Thu, 29 Oct 2020 23:50:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725930AbgJ3Gtu (ORCPT + 99 others); Fri, 30 Oct 2020 02:49:50 -0400 Received: from helcar.hmeau.com ([216.24.177.18]:60510 "EHLO fornost.hmeau.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725784AbgJ3Gtu (ORCPT ); Fri, 30 Oct 2020 02:49:50 -0400 Received: from gwarestrin.arnor.me.apana.org.au ([192.168.0.7]) by fornost.hmeau.com with smtp (Exim 4.92 #5 (Debian)) id 1kYOEO-0004sZ-1p; Fri, 30 Oct 2020 17:49:49 +1100 Received: by gwarestrin.arnor.me.apana.org.au (sSMTP sendmail emulation); Fri, 30 Oct 2020 17:49:48 +1100 Date: Fri, 30 Oct 2020 17:49:48 +1100 From: Herbert Xu To: Giovanni Cabiddu Cc: linux-crypto@vger.kernel.org, qat-linux@intel.com Subject: Re: [PATCH 00/31] crypto: qat - rework in preparation for qat_4xxx driver Message-ID: <20201030064947.GF25453@gondor.apana.org.au> References: <20201012203847.340030-1-giovanni.cabiddu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201012203847.340030-1-giovanni.cabiddu@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Mon, Oct 12, 2020 at 09:38:16PM +0100, Giovanni Cabiddu wrote: > This set is an initial rework of the QAT driver in preparation for the > inclusion of the qat_4xxx driver (QAT GEN4). > > Summary of changes: > * IV update logic moved to software to remove allocation of the IV > buffer in the data-path and allow for devices that are not capable > of updating it when performing AES-CBC or AES-CTR. > * Added logic to detect the presence of engines and accelerators via > soft-straps and fuse registers. > * Added infrastructure to support devices with an arbitrary number of > rings per bank. > * Introduced adf_gen2_hw_data.[c|h] that contain logic that is common > between QAT GEN2 devices (c62x, c3xxx and dh895xcc). > * Abstracted logic that configures iov threads. > * Abstracted access to transport CSRs. > * Abstracted, refactored and updated admin interface logic. > * Abstracted and refactored arbiter logic. > * Changed sequence on how arbitration is enabled on rings. > * Added support for device capability detection. > * Replaced hardcoded masks. > * Changed logic in adf_sriov.c to allow for drivers that do not > implement some of the functions of that module. > * Refactored logic related to device configuration and instance > creation. > * Changed logic to allow for instances in different banks. > * Extended accelerator mask. > > Ahsan Atta (1): > crypto: qat - num_rings_per_bank is device dependent > > Giovanni Cabiddu (28): > crypto: qat - mask device capabilities with soft straps > crypto: qat - fix configuration of iov threads > crypto: qat - split transport CSR access logic > crypto: qat - relocate GEN2 CSR access code > crypto: qat - abstract admin interface > crypto: qat - add packed to init admin structures > crypto: qat - rename ME in AE > crypto: qat - change admin sequence > crypto: qat - use admin mask to send fw constants > crypto: qat - update constants table > crypto: qat - remove writes into WQCFG > crypto: qat - remove unused macros in arbiter module > crypto: qat - abstract arbiter access > crypto: qat - register crypto instances based on capability > crypto: qat - enable ring after pair is programmed > crypto: qat - abstract build ring base > crypto: qat - replace constant masks with GENMASK > crypto: qat - use BIT_ULL() - 1 pattern for masks > crypto: qat - abstract writes to arbiter enable > crypto: qat - remove hardcoded bank irq clear flag mask > crypto: qat - call functions in adf_sriov if available > crypto: qat - remove unnecessary void* casts > crypto: qat - change return value in adf_cfg_add_key_value_param() > crypto: qat - change return value in adf_cfg_key_val_get() > crypto: qat - refactor qat_crypto_create_instances() > crypto: qat - refactor qat_crypto_dev_config() > crypto: qat - allow for instances in different banks > crypto: qat - extend ae_mask > > Marco Chiappero (2): > crypto: qat - update IV in software > crypto: qat - add support for capability detection > > .../crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c | 49 ++++- > .../crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h | 5 + > drivers/crypto/qat/qat_c3xxx/adf_drv.c | 11 +- > .../qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c | 7 +- > drivers/crypto/qat/qat_c3xxxvf/adf_drv.c | 4 +- > .../crypto/qat/qat_c62x/adf_c62x_hw_data.c | 49 ++++- > .../crypto/qat/qat_c62x/adf_c62x_hw_data.h | 5 + > drivers/crypto/qat/qat_c62x/adf_drv.c | 11 +- > .../qat/qat_c62xvf/adf_c62xvf_hw_data.c | 7 +- > drivers/crypto/qat/qat_c62xvf/adf_drv.c | 4 +- > drivers/crypto/qat/qat_common/Makefile | 1 + > .../crypto/qat/qat_common/adf_accel_devices.h | 58 +++++- > drivers/crypto/qat/qat_common/adf_admin.c | 77 ++++---- > drivers/crypto/qat/qat_common/adf_cfg.c | 4 +- > .../crypto/qat/qat_common/adf_cfg_strings.h | 3 +- > .../crypto/qat/qat_common/adf_gen2_hw_data.c | 181 ++++++++++++++++++ > .../crypto/qat/qat_common/adf_gen2_hw_data.h | 123 ++++++++++++ > .../crypto/qat/qat_common/adf_hw_arbiter.c | 94 ++++----- > drivers/crypto/qat/qat_common/adf_isr.c | 4 +- > drivers/crypto/qat/qat_common/adf_sriov.c | 74 ++----- > drivers/crypto/qat/qat_common/adf_transport.c | 130 +++++++++---- > .../qat_common/adf_transport_access_macros.h | 67 ------- > .../qat/qat_common/adf_transport_debug.c | 32 ++-- > .../qat/qat_common/adf_transport_internal.h | 2 +- > drivers/crypto/qat/qat_common/adf_vf_isr.c | 5 +- > .../qat/qat_common/icp_qat_fw_init_admin.h | 6 +- > drivers/crypto/qat/qat_common/icp_qat_hw.h | 23 +++ > drivers/crypto/qat/qat_common/qat_algs.c | 136 +++++++------ > drivers/crypto/qat/qat_common/qat_crypto.c | 162 ++++++++++------ > drivers/crypto/qat/qat_common/qat_crypto.h | 26 ++- > drivers/crypto/qat/qat_common/qat_hal.c | 27 +-- > .../qat/qat_dh895xcc/adf_dh895xcc_hw_data.c | 60 +++++- > .../qat/qat_dh895xcc/adf_dh895xcc_hw_data.h | 5 + > drivers/crypto/qat/qat_dh895xcc/adf_drv.c | 9 +- > .../qat_dh895xccvf/adf_dh895xccvf_hw_data.c | 7 +- > drivers/crypto/qat/qat_dh895xccvf/adf_drv.c | 4 +- > 36 files changed, 1024 insertions(+), 448 deletions(-) > create mode 100644 drivers/crypto/qat/qat_common/adf_gen2_hw_data.c > create mode 100644 drivers/crypto/qat/qat_common/adf_gen2_hw_data.h All applied. Thanks. -- Email: Herbert Xu Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt