All of lore.kernel.org
 help / color / mirror / Atom feed
From: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
To: herbert@gondor.apana.org.au
Cc: linux-crypto@vger.kernel.org, qat-linux@intel.com,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Subject: [PATCH 00/31] crypto: qat - rework in preparation for qat_4xxx driver
Date: Mon, 12 Oct 2020 21:38:16 +0100	[thread overview]
Message-ID: <20201012203847.340030-1-giovanni.cabiddu@intel.com> (raw)

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

-- 
2.26.2


             reply	other threads:[~2020-10-12 20:39 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-12 20:38 Giovanni Cabiddu [this message]
2020-10-12 20:38 ` [PATCH 01/31] crypto: qat - update IV in software Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 02/31] crypto: qat - mask device capabilities with soft straps Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 03/31] crypto: qat - num_rings_per_bank is device dependent Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 04/31] crypto: qat - fix configuration of iov threads Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 05/31] crypto: qat - split transport CSR access logic Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 06/31] crypto: qat - relocate GEN2 CSR access code Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 07/31] crypto: qat - abstract admin interface Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 08/31] crypto: qat - add packed to init admin structures Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 09/31] crypto: qat - rename ME in AE Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 10/31] crypto: qat - change admin sequence Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 11/31] crypto: qat - use admin mask to send fw constants Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 12/31] crypto: qat - update constants table Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 13/31] crypto: qat - remove writes into WQCFG Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 14/31] crypto: qat - remove unused macros in arbiter module Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 15/31] crypto: qat - abstract arbiter access Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 16/31] crypto: qat - add support for capability detection Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 17/31] crypto: qat - register crypto instances based on capability Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 18/31] crypto: qat - enable ring after pair is programmed Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 19/31] crypto: qat - abstract build ring base Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 20/31] crypto: qat - replace constant masks with GENMASK Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 21/31] crypto: qat - use BIT_ULL() - 1 pattern for masks Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 22/31] crypto: qat - abstract writes to arbiter enable Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 23/31] crypto: qat - remove hardcoded bank irq clear flag mask Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 24/31] crypto: qat - call functions in adf_sriov if available Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 25/31] crypto: qat - remove unnecessary void* casts Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 26/31] crypto: qat - change return value in adf_cfg_add_key_value_param() Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 27/31] crypto: qat - change return value in adf_cfg_key_val_get() Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 28/31] crypto: qat - refactor qat_crypto_create_instances() Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 29/31] crypto: qat - refactor qat_crypto_dev_config() Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 30/31] crypto: qat - allow for instances in different banks Giovanni Cabiddu
2020-10-12 20:38 ` [PATCH 31/31] crypto: qat - extend ae_mask Giovanni Cabiddu
2020-10-30  6:49 ` [PATCH 00/31] crypto: qat - rework in preparation for qat_4xxx driver Herbert Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201012203847.340030-1-giovanni.cabiddu@intel.com \
    --to=giovanni.cabiddu@intel.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=qat-linux@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.