Re: [PATCH 0/2] crypto: add new driver for Marvell CESA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 09.04.2015 16:58, Boris Brezillon wrote:
This is an attempt to replace the mv_cesa driver by a new one to address
some limitations of the existing driver.
 From a performance and CPU load point of view the most important
limitation 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.

Boris,

if you include a bunch of performance measurements, I guess it will help
you to get an agreement of replacing the driver instead of reworking it.

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)

Unfortunately, the list above is missing Dove SoCs which also have a
CESA engine with TDMA support. I checked the registers _very_ quickly
but it seems that they are compatible with Kirkwood's CESA.

- DMA mode to offload the CPU in case of intensive crypto usage
- new algorithms: SHA256, DES and 3DES

[...]
Boris Brezillon (2):
   crypto: add new driver for Marvell CESA
   crypto: marvell/CESA: update DT bindings documentation

IMHO, the patch set should be split up in:
- new core driver
- add support for TDMA on platforms that support it
- new cipher algorithms
- removal of old mv_cesa

I'd love to test on Dove, but time still is very limited. I guess the
patches will receive another round anyway, maybe I find some until the
final version.

Sebastian

  .../devicetree/bindings/crypto/mv_cesa.txt         |   50 +-
  drivers/crypto/Kconfig                             |    2 +
  drivers/crypto/Makefile                            |    2 +-
  drivers/crypto/marvell/Makefile                    |    1 +
  drivers/crypto/marvell/cesa.c                      |  539 ++++++++
  drivers/crypto/marvell/cesa.h                      |  802 ++++++++++++
  drivers/crypto/marvell/cipher.c                    |  761 +++++++++++
  drivers/crypto/marvell/hash.c                      | 1349 ++++++++++++++++++++
  drivers/crypto/marvell/tdma.c                      |  223 ++++
  drivers/crypto/mv_cesa.c                           | 1193 -----------------
  drivers/crypto/mv_cesa.h                           |  150 ---
  11 files changed, 3716 insertions(+), 1356 deletions(-)
  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
  delete mode 100644 drivers/crypto/mv_cesa.c
  delete mode 100644 drivers/crypto/mv_cesa.h


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux