Mvebu: marvell cesa

Had anyone managed to utilize cesa on mvebu target?
I'm using wrt3200acm. When enabling corresponding crypto support in openssl I notice the crypto irq counters start ticking but that's all, benchmark result is completely the same with or without using the crypto engine.

IIRC the turris omnia people had a similar issue. I don't know what their solution was.

I did a large amount of benchmarking with/without CESA on the old forum. Long story short:
software crypto is faster in most cases, excepting some conditions (like large block sizes, iirc). CPU usage is the trade-off -- with CESA enabled the software workload is interrupt servicing and memory transfer.

I had actually linked to that post because this question comes up periodically but with the forum situation there the link is broken.

Did the updated Marvell-CESA ever get pulled into source, as the last I built an image a few months back, I was still having to append it to crypto.mk

  • <buildroot>/package/kernel/linux/modules/crypto.mk
    define KernelPackage/crypto-marvell-cesa
      TITLE:=Marvell Crypto Engine (new)
      DEPENDS:=+kmod-crypto-des +kmod-crypto-manager @TARGET_kirkwood||@TARGET_orion||TARGET_mvebu
      KCONFIG:= \
        CONFIG_CRYPTO_DEV_MARVELL_CESA \
        CONFIG_CRYPTO_HW=y
      FILES:=$(LINUX_DIR)/drivers/crypto/marvell/marvell-cesa.ko
      AUTOLOAD:=$(call AutoLoad,09,marvell-cesa)
      $(call AddDepends/crypto)
    endef
    $(eval $(call KernelPackage,crypto-marvell-cesa))
    

The old unit support has not been required for ~2 years now, ever since it was made in-kernel.

1 Like