aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEneas U de Queiroz <cotequeiroz@gmail.com>2020-02-24 09:59:38 -0300
committerChristian Lamparter <chunkeey@gmail.com>2020-02-28 22:46:09 +0100
commit285df63efc7052576b14af2ea38b1234da4cb104 (patch)
tree1039b90a97f13780664a5034d0f19a45d1f9f917
parent13b8404b1eaaa51027cae42c8152b9123d92a425 (diff)
downloadupstream-285df63efc7052576b14af2ea38b1234da4cb104.tar.gz
upstream-285df63efc7052576b14af2ea38b1234da4cb104.tar.bz2
upstream-285df63efc7052576b14af2ea38b1234da4cb104.zip
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 <cotequeiroz@gmail.com>
-rw-r--r--package/kernel/linux/modules/crypto.mk13
1 files changed, 12 insertions, 1 deletions
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))