devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] crypto: add a new driver for Marvell's CESA
@ 2015-05-22 13:33 Boris Brezillon
  2015-05-22 13:33 ` [PATCH v3 01/16] crypto: mv_cesa: request registers memory region Boris Brezillon
                   ` (8 more replies)
  0 siblings, 9 replies; 49+ messages in thread
From: Boris Brezillon @ 2015-05-22 13:33 UTC (permalink / raw)
  To: Herbert Xu, David S. Miller, linux-crypto
  Cc: Boris Brezillon, Arnaud Ebalard, Thomas Petazzoni,
	Gregory CLEMENT, Jason Cooper, Sebastian Hesselbarth, Andrew Lunn,
	Tawfik Bayouk, Lior Amsalem, Nadav Haklai, Eran Ben-Avi,
	Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	devicetree

Hello,

This patch series adds a new driver supporting Marvell's CESA IP.
This driver addresses some limitations of the existing one.
>From a performance and CPU load point of view the most important
limitation in the existing driver is the lack of DMA support, thus
preventing us from chaining crypto operations.

I know we usually try to adapt existing drivers instead of replacing them
by new ones, but after trying to refactor the mv_cesa driver I realized it
would take longer than writing an new one from scratch.

Here are the main features brought by this new driver:
- support for armada SoCs (up to 38x) while keeping support for older ones
  (Orion and Kirkwood). Note that old DT bindings (those used on Orion and
  Kirkwood platforms) are supported, or IOTW, old DTs are compatible with
  this new driver.
- DMA mode to offload the CPU in case of intensive crypto usage
- new algorithms: SHA256, DES and 3DES

In addition to this driver comes a bunch of DT updates adding crypto device
nodes to several Marvell SoCs (those are only the tested ones, others might
be added later).

I'd like to thank Arnaud, who has carefully reviewed several iterations of
this driver, helped me improved my implementation, provided support for
several crypto algorithms, provided support for armada-370 and tested
the driver on different platforms, hence the SoB and dual MODULE_AUTHOR
in the driver code.

Best Regards,

Boris

Changes since v2:
- fixes in the cipher code (->dst_nents was assigned the ->src_nents
  value and CBC state was overwritten by the IV after each chunk
  operation)
- spit the code as suggested by Sebastian

Changes since v1:
- (suggested by Jason) kept the existing CESA driver and added a mechanism
  to prevent the new driver from probing devices handled my the existing
  one (Orion and Kirkwood platforms)
- (reported by Paul) addressed a few Kconfig and module definition issues
- (suggested by Andrew) added DT changes to the series

Arnaud Ebalard (6):
  crypto: marvell/CESA: add Triple-DES support
  crypto: marvell/CESA: add MD5 support
  crypto: marvell/CESA: add SHA256 support
  crypto: marvell/CESA: add support for Kirkwood SoCs
  ARM: marvell/dt: add crypto node to armada 370 dtsi
  ARM: marvell/dt: add crypto node to kirkwood dtsi

Boris Brezillon (10):
  crypto: mv_cesa: request registers memory region
  crypto: add a new driver for Marvell's CESA
  crypto: marvell/CESA: add TDMA support
  crypto: marvell/CESA: add DES support
  crypto: marvell/CESA: add support for all armada SoCs
  crypto: marvell/CESA: add allhwsupport module parameter
  crypto: marvell/CESA: add support for Orion SoCs
  crypto: marvell/CESA: update DT bindings documentation
  ARM: marvell/dt: add crypto node to armada-xp.dtsi
  ARM: marvell/dt: enable crypto on armada-xp-gp

 .../devicetree/bindings/crypto/marvell-cesa.txt    |   46 +
 arch/arm/boot/dts/armada-370.dtsi                  |   20 +
 arch/arm/boot/dts/armada-xp-gp.dts                 |    4 +-
 arch/arm/boot/dts/armada-xp.dtsi                   |   31 +
 arch/arm/boot/dts/kirkwood.dtsi                    |    2 +-
 drivers/crypto/Kconfig                             |   18 +
 drivers/crypto/Makefile                            |    1 +
 drivers/crypto/marvell/Makefile                    |    2 +
 drivers/crypto/marvell/cesa.c                      |  543 ++++++++
 drivers/crypto/marvell/cesa.h                      |  804 ++++++++++++
 drivers/crypto/marvell/cipher.c                    |  769 +++++++++++
 drivers/crypto/marvell/hash.c                      | 1349 ++++++++++++++++++++
 drivers/crypto/marvell/tdma.c                      |  224 ++++
 drivers/crypto/mv_cesa.c                           |   13 +-
 14 files changed, 3816 insertions(+), 10 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/crypto/marvell-cesa.txt
 create mode 100644 drivers/crypto/marvell/Makefile
 create mode 100644 drivers/crypto/marvell/cesa.c
 create mode 100644 drivers/crypto/marvell/cesa.h
 create mode 100644 drivers/crypto/marvell/cipher.c
 create mode 100644 drivers/crypto/marvell/hash.c
 create mode 100644 drivers/crypto/marvell/tdma.c

-- 
1.9.1

^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2015-05-27 11:38 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-22 13:33 [PATCH v3 0/2] crypto: add a new driver for Marvell's CESA Boris Brezillon
2015-05-22 13:33 ` [PATCH v3 01/16] crypto: mv_cesa: request registers memory region Boris Brezillon
2015-05-25 12:56   ` Herbert Xu
     [not found] ` <1432301642-11470-1-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-05-22 13:33   ` [PATCH v3 02/16] crypto: add a new driver for Marvell's CESA Boris Brezillon
     [not found]     ` <1432301642-11470-3-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-05-25  7:58       ` Herbert Xu
2015-05-25  8:10         ` Boris Brezillon
2015-05-25  8:12           ` Herbert Xu
2015-05-25 10:44           ` Imre Kaloz
2015-05-25 11:08             ` Boris Brezillon
2015-05-25 11:13               ` Imre Kaloz
2015-05-25 11:17                 ` Boris Brezillon
2015-05-27  8:13                   ` Imre Kaloz
2015-05-25  8:05     ` Herbert Xu
2015-05-25  8:18       ` Boris Brezillon
2015-05-25  8:25         ` Herbert Xu
2015-05-22 13:33   ` [PATCH v3 03/16] crypto: marvell/CESA: add TDMA support Boris Brezillon
2015-05-22 13:33   ` [PATCH v3 04/16] crypto: marvell/CESA: add DES support Boris Brezillon
2015-05-22 13:33   ` [PATCH v3 05/16] crypto: marvell/CESA: add Triple-DES support Boris Brezillon
2015-05-22 13:33   ` [PATCH v3 08/16] crypto: marvell/CESA: add support for all armada SoCs Boris Brezillon
2015-05-22 13:33   ` [PATCH v3 09/16] crypto: marvell/CESA: add allhwsupport module parameter Boris Brezillon
2015-05-22 13:33   ` [PATCH v3 12/16] crypto: marvell/CESA: update DT bindings documentation Boris Brezillon
2015-05-22 13:34   ` [PATCH v3 15/16] ARM: marvell/dt: add crypto node to armada 370 dtsi Boris Brezillon
2015-05-25 15:33     ` Gregory CLEMENT
2015-05-26  9:03       ` Boris Brezillon
2015-05-26  9:10         ` Thomas Petazzoni
2015-05-26  9:36           ` Boris Brezillon
2015-05-22 13:34   ` [PATCH v3 16/16] ARM: marvell/dt: add crypto node to kirkwood dtsi Boris Brezillon
2015-05-25 15:39     ` Gregory CLEMENT
2015-05-25 16:46       ` Jason Cooper
2015-05-25 18:43         ` Boris Brezillon
2015-05-26  9:06           ` Jason Cooper
2015-05-26  9:10             ` Boris Brezillon
2015-05-26  9:42               ` Jason Cooper
2015-05-22 13:33 ` [PATCH v3 06/16] crypto: marvell/CESA: add MD5 support Boris Brezillon
2015-05-22 13:33 ` [PATCH v3 07/16] crypto: marvell/CESA: add SHA256 support Boris Brezillon
2015-05-22 13:33 ` [PATCH v3 10/16] crypto: marvell/CESA: add support for Orion SoCs Boris Brezillon
2015-05-22 13:33 ` [PATCH v3 11/16] crypto: marvell/CESA: add support for Kirkwood SoCs Boris Brezillon
2015-05-22 13:33 ` [PATCH v3 13/16] ARM: marvell/dt: add crypto node to armada-xp.dtsi Boris Brezillon
2015-05-25 15:15   ` Gregory CLEMENT
2015-05-22 13:34 ` [PATCH v3 14/16] ARM: marvell/dt: enable crypto on armada-xp-gp Boris Brezillon
     [not found]   ` <1432301642-11470-15-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-05-25 15:10     ` Gregory CLEMENT
2015-05-26  8:59       ` Boris Brezillon
2015-05-26  9:22         ` Imre Kaloz
2015-05-26 11:57           ` Andrew Lunn
2015-05-27 10:20         ` Gregory CLEMENT
2015-05-27 11:23           ` Thomas Petazzoni
2015-05-27 11:33             ` Gregory CLEMENT
     [not found]               ` <5565AB91.1010008-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-05-27 11:38                 ` Thomas Petazzoni
2015-05-22 14:02 ` [PATCH v3 0/2] crypto: add a new driver for Marvell's CESA Jason Cooper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).