This series adds HiSilicon QM and ZIP controller driver in crypto subsystem. A simple QM/ZIP driver which helps to provide an example for a general accelerator framework is under review in community[1]. Based on this simple driver, this series adds HW v2 support, PCI passthrough, PCI/misc error handler, debug support. But unlike [1], driver in this patchset only registers to crypto subsystem. There will be a long discussion about above accelerator framework in the process of upstreaming. So let's firstly review and upstream QM/ZIP crypto driver. Changes v2 -> v3: - Change to register zlib/gzip to crypto acomp. - As acomp is using sgl interface, add a common hardware sgl module which also can be used in other HiSilicon accelerator drivers. - Change irq thread to work queue in the flow of irq handler in QM. - Split SRIOV and debugfs out for the convenience of review. - rebased on v5.3-rc1. - Some tiny fixes. Links: - v2 https://lkml.org/lkml/2019/1/23/358 - v1 https://lwn.net/Articles/775484/ - rfc https://lkml.org/lkml/2018/12/13/290 Note: this series is based on https://lkml.org/lkml/2019/7/23/1135 Reference: [1] https://lkml.org/lkml/2018/11/12/1951 Zhou Wang (7): crypto: hisilicon: Add queue management driver for HiSilicon QM module crypto: hisilicon: Add hardware SGL support crypto: hisilicon: Add HiSilicon ZIP accelerator support crypto: hisilicon: Add SRIOV support for ZIP Documentation: Add debugfs doc for hisi_zip crypto: hisilicon: Add debugfs for ZIP and QM MAINTAINERS: add maintainer for HiSilicon QM and ZIP controller driver Documentation/ABI/testing/debugfs-hisi-zip | 50 + MAINTAINERS | 11 + drivers/crypto/hisilicon/Kconfig | 23 + drivers/crypto/hisilicon/Makefile | 3 + drivers/crypto/hisilicon/qm.c | 1912 ++++++++++++++++++++++++++++ drivers/crypto/hisilicon/qm.h | 215 ++++ drivers/crypto/hisilicon/sgl.c | 214 ++++ drivers/crypto/hisilicon/sgl.h | 24 + drivers/crypto/hisilicon/zip/Makefile | 2 + drivers/crypto/hisilicon/zip/zip.h | 71 ++ drivers/crypto/hisilicon/zip/zip_crypto.c | 651 ++++++++++ drivers/crypto/hisilicon/zip/zip_main.c | 1013 +++++++++++++++ 12 files changed, 4189 insertions(+) create mode 100644 Documentation/ABI/testing/debugfs-hisi-zip create mode 100644 drivers/crypto/hisilicon/qm.c create mode 100644 drivers/crypto/hisilicon/qm.h create mode 100644 drivers/crypto/hisilicon/sgl.c create mode 100644 drivers/crypto/hisilicon/sgl.h create mode 100644 drivers/crypto/hisilicon/zip/Makefile create mode 100644 drivers/crypto/hisilicon/zip/zip.h create mode 100644 drivers/crypto/hisilicon/zip/zip_crypto.c create mode 100644 drivers/crypto/hisilicon/zip/zip_main.c -- 2.8.1