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 linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html