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@xxxxxxxxx>; > > 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@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt