From 285df63efc7052576b14af2ea38b1234da4cb104 Mon Sep 17 00:00:00 2001 From: Eneas U de Queiroz Date: Mon, 24 Feb 2020 09:59:38 -0300 Subject: [PATCH] kernel: build neon-asm version of ghash module This alone improves AES-GCM performance by up to 50% on ipq40xx. This is enabled for targets that support neon and set CONFIG_ARM_CRYPTO: imx6, ipq40xx, and mvebu. Signed-off-by: Eneas U de Queiroz --- package/kernel/linux/modules/crypto.mk | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk index be2182fd8b..0fe6416df0 100644 --- a/package/kernel/linux/modules/crypto.mk +++ b/package/kernel/linux/modules/crypto.mk @@ -266,12 +266,23 @@ $(eval $(call KernelPackage,crypto-gf128)) define KernelPackage/crypto-ghash TITLE:=GHASH digest CryptoAPI module DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-hash - KCONFIG:=CONFIG_CRYPTO_GHASH + KCONFIG:= \ + CONFIG_CRYPTO_GHASH \ + CONFIG_CRYPTO_GHASH_ARM_CE FILES:=$(LINUX_DIR)/crypto/ghash-generic.ko AUTOLOAD:=$(call AutoLoad,09,ghash-generic) $(call AddDepends/crypto) endef +define KernelPackage/crypto-ghash/arm-ce + FILES+= $(LINUX_DIR)/arch/arm/crypto/ghash-arm-ce.ko + AUTOLOAD+=$(call AutoLoad,09,ghash-arm-ce) +endef + +KernelPackage/crypto-ghash/imx6=$(KernelPackage/crypto-ghash/arm-ce) +KernelPackage/crypto-ghash/ipq40xx=$(KernelPackage/crypto-ghash/arm-ce) +KernelPackage/crypto-ghash/mvebu=$(KernelPackage/crypto-ghash/arm-ce) + $(eval $(call KernelPackage,crypto-ghash)) -- 2.25.1