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 (mailing list archive)
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

Comments

Zhou Wang Aug. 8, 2019, 12:41 p.m. UTC | #1
On 2019/8/2 15:57, 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
> 

Any comments for this version?

Best,
Zhou
Herbert Xu Aug. 9, 2019, 6:19 a.m. UTC | #2
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.
Zhou Wang Aug. 9, 2019, 7:14 a.m. UTC | #3
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

>