mbox series

[v3,0/7] crypto: hisilicon: Add HiSilicon QM and ZIP controller driver

Message ID 1564732676-35987-1-git-send-email-wangzhou1@hisilicon.com
Headers show
Series crypto: hisilicon: Add HiSilicon QM and ZIP controller driver | expand

Message

Zhou Wang Aug. 2, 2019, 7:57 a.m. UTC
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

Comments

Zhou Wang Aug. 9, 2019, 7:14 a.m. UTC | #1
On 2019/8/9 14:19, Herbert Xu wrote:
> On Fri, Aug 02, 2019 at 03:57:49PM +0800, Zhou Wang wrote:

>> 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

> 

> All applied.  Thanks.


Many thanks.

Zhou

>