All of lore.kernel.org
 help / color / mirror / Atom feed
From: Herbert Xu <herbert@gondor.apana.org.au>
To: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Cc: linux-crypto@vger.kernel.org, qat-linux@intel.com,
	marco.chiappero@intel.com
Subject: Re: [PATCH v3 00/25] crypto: qat - PFVF refactoring
Date: Fri, 26 Nov 2021 13:31:16 +0800	[thread overview]
Message-ID: <20211126053116.GB17477@gondor.apana.org.au> (raw)
In-Reply-To: <20211117143058.211550-1-giovanni.cabiddu@intel.com>

On Wed, Nov 17, 2021 at 02:30:33PM +0000, Giovanni Cabiddu wrote:
> This set includes fixes to the PFVF logic but also refactoring in
> preparation for updates to the protocol and support for QAT GEN4
> devices.
> 
> The main changes introduced by this set are:
> * A fix for a bug introduced in the previous PFVF set related to an
>   undetected timeout;
> * The refactoring and rework of the PFVF message handling logic which
>   includes changes to the ACK behaviour;
> * The introduction of adf_pfvf_gen2.c which includes logic common
>   to QAT GEN 2 devices;
> * The introduction of the pfvf_ops structure to isolate PFVF related
>   code inside the adf_hw_device_data structure and facilitate the
>   introduction of PFVF for QAT GEN4;
> * The reorganization of the PFVF code structure so that message logic
>   is separated from low level communication primitives and the protocol.
> 
> Changes since v1:
> - Fixed compilation error with CONFIG_PCI_IOV=n, reported by kernel test
>   robot <lkp@intel.com>;
> 
> Changes since v2:
> - Added patch to fix a NULL pointer dereference in case of a spurious
>   interrupt with QAT GEN4 devices. This was due to a missing function;
> - Minor style changes.
> 
> Giovanni Cabiddu (7):
>   crypto: qat - do not handle PFVF sources for qat_4xxx
>   crypto: qat - fix undetected PFVF timeout in ACK loop
>   crypto: qat - move vf2pf interrupt helpers
>   crypto: qat - change PFVF ACK behaviour
>   crypto: qat - re-enable interrupts for legacy PFVF messages
>   crypto: qat - relocate PFVF disabled function
>   crypto: qat - abstract PFVF receive logic
> 
> Marco Chiappero (18):
>   crypto: qat - refactor PF top half for PFVF
>   crypto: qat - move VF message handler to adf_vf2pf_msg.c
>   crypto: qat - move interrupt code out of the PFVF handler
>   crypto: qat - split PFVF message decoding from handling
>   crypto: qat - handle retries due to collisions in adf_iov_putmsg()
>   crypto: qat - relocate PFVF PF related logic
>   crypto: qat - relocate PFVF VF related logic
>   crypto: qat - add pfvf_ops
>   crypto: qat - differentiate between pf2vf and vf2pf offset
>   crypto: qat - abstract PFVF send function
>   crypto: qat - reorganize PFVF code
>   crypto: qat - reorganize PFVF protocol definitions
>   crypto: qat - use enums for PFVF protocol codes
>   crypto: qat - pass the PF2VF responses back to the callers
>   crypto: qat - refactor pfvf version request messages
>   crypto: qat - do not rely on min version
>   crypto: qat - fix VF IDs in PFVF log messages
>   crypto: qat - improve logging of PFVF messages
> 
>  .../crypto/qat/qat_4xxx/adf_4xxx_hw_data.c    |  18 +-
>  .../crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c  |  11 +-
>  .../qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c     |  14 +-
>  .../qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.h     |   1 -
>  drivers/crypto/qat/qat_c3xxxvf/adf_drv.c      |   2 +-
>  .../crypto/qat/qat_c62x/adf_c62x_hw_data.c    |  11 +-
>  .../qat/qat_c62xvf/adf_c62xvf_hw_data.c       |  14 +-
>  .../qat/qat_c62xvf/adf_c62xvf_hw_data.h       |   1 -
>  drivers/crypto/qat/qat_c62xvf/adf_drv.c       |   2 +-
>  drivers/crypto/qat/qat_common/Makefile        |   6 +-
>  .../crypto/qat/qat_common/adf_accel_devices.h |  25 +-
>  .../crypto/qat/qat_common/adf_common_drv.h    |  30 +-
>  .../crypto/qat/qat_common/adf_gen2_hw_data.c  |  48 --
>  .../crypto/qat/qat_common/adf_gen2_hw_data.h  |  13 -
>  drivers/crypto/qat/qat_common/adf_gen2_pfvf.c | 225 ++++++++++
>  drivers/crypto/qat/qat_common/adf_gen2_pfvf.h |  29 ++
>  .../crypto/qat/qat_common/adf_gen4_hw_data.c  |   7 +
>  drivers/crypto/qat/qat_common/adf_init.c      |   2 +-
>  drivers/crypto/qat/qat_common/adf_isr.c       | 123 ++++--
>  drivers/crypto/qat/qat_common/adf_pf2vf_msg.c | 416 ------------------
>  .../{adf_pf2vf_msg.h => adf_pfvf_msg.h}       |  68 +--
>  .../crypto/qat/qat_common/adf_pfvf_pf_msg.c   |  21 +
>  .../crypto/qat/qat_common/adf_pfvf_pf_msg.h   |  10 +
>  .../crypto/qat/qat_common/adf_pfvf_pf_proto.c | 148 +++++++
>  .../crypto/qat/qat_common/adf_pfvf_pf_proto.h |  13 +
>  .../crypto/qat/qat_common/adf_pfvf_vf_msg.c   |  97 ++++
>  .../crypto/qat/qat_common/adf_pfvf_vf_msg.h   |  21 +
>  .../crypto/qat/qat_common/adf_pfvf_vf_proto.c | 134 ++++++
>  .../crypto/qat/qat_common/adf_pfvf_vf_proto.h |  14 +
>  drivers/crypto/qat/qat_common/adf_sriov.c     |  20 +-
>  drivers/crypto/qat/qat_common/adf_vf2pf_msg.c |  48 --
>  drivers/crypto/qat/qat_common/adf_vf_isr.c    |  92 ++--
>  .../qat/qat_dh895xcc/adf_dh895xcc_hw_data.c   |  41 +-
>  .../qat/qat_dh895xcc/adf_dh895xcc_hw_data.h   |   2 +
>  .../qat_dh895xccvf/adf_dh895xccvf_hw_data.c   |  14 +-
>  .../qat_dh895xccvf/adf_dh895xccvf_hw_data.h   |   1 -
>  drivers/crypto/qat/qat_dh895xccvf/adf_drv.c   |   2 +-
>  37 files changed, 966 insertions(+), 778 deletions(-)
>  create mode 100644 drivers/crypto/qat/qat_common/adf_gen2_pfvf.c
>  create mode 100644 drivers/crypto/qat/qat_common/adf_gen2_pfvf.h
>  delete mode 100644 drivers/crypto/qat/qat_common/adf_pf2vf_msg.c
>  rename drivers/crypto/qat/qat_common/{adf_pf2vf_msg.h => adf_pfvf_msg.h} (81%)
>  create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_pf_msg.c
>  create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_pf_msg.h
>  create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_pf_proto.c
>  create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_pf_proto.h
>  create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_vf_msg.c
>  create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_vf_msg.h
>  create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_vf_proto.c
>  create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_vf_proto.h
>  delete mode 100644 drivers/crypto/qat/qat_common/adf_vf2pf_msg.c

All applied.  Thanks.
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

      parent reply	other threads:[~2021-11-26  5:33 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-17 14:30 [PATCH v3 00/25] crypto: qat - PFVF refactoring Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 01/25] crypto: qat - do not handle PFVF sources for qat_4xxx Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 02/25] crypto: qat - fix undetected PFVF timeout in ACK loop Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 03/25] crypto: qat - refactor PF top half for PFVF Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 04/25] crypto: qat - move vf2pf interrupt helpers Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 05/25] crypto: qat - move VF message handler to adf_vf2pf_msg.c Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 06/25] crypto: qat - move interrupt code out of the PFVF handler Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 07/25] crypto: qat - change PFVF ACK behaviour Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 08/25] crypto: qat - re-enable interrupts for legacy PFVF messages Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 09/25] crypto: qat - split PFVF message decoding from handling Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 10/25] crypto: qat - handle retries due to collisions in adf_iov_putmsg() Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 11/25] crypto: qat - relocate PFVF PF related logic Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 12/25] crypto: qat - relocate PFVF VF " Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 13/25] crypto: qat - relocate PFVF disabled function Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 14/25] crypto: qat - add pfvf_ops Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 15/25] crypto: qat - differentiate between pf2vf and vf2pf offset Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 16/25] crypto: qat - abstract PFVF send function Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 17/25] crypto: qat - abstract PFVF receive logic Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 18/25] crypto: qat - reorganize PFVF code Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 19/25] crypto: qat - reorganize PFVF protocol definitions Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 20/25] crypto: qat - use enums for PFVF protocol codes Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 21/25] crypto: qat - pass the PF2VF responses back to the callers Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 22/25] crypto: qat - refactor pfvf version request messages Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 23/25] crypto: qat - do not rely on min version Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 24/25] crypto: qat - fix VF IDs in PFVF log messages Giovanni Cabiddu
2021-11-17 14:30 ` [PATCH v3 25/25] crypto: qat - improve logging of PFVF messages Giovanni Cabiddu
2021-11-26  5:31 ` Herbert Xu [this message]

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=20211126053116.GB17477@gondor.apana.org.au \
    --to=herbert@gondor.apana.org.au \
    --cc=giovanni.cabiddu@intel.com \
    --cc=linux-crypto@vger.kernel.org \
    --cc=marco.chiappero@intel.com \
    --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.