Kconfig (6dc0e310623fdcb27a1486eb436f0118c45e95a5) Kconfig (59e056cda4beb5412e3653e6360c2eb0fa770baa)
1# SPDX-License-Identifier: GPL-2.0-only
2
3menuconfig CRYPTO_HW
4 bool "Hardware crypto devices"
5 default y
6 ---help---
7 Say Y here to get to see options for hardware crypto devices and
8 processors. This option alone does not add any kernel code.

--- 604 unchanged lines hidden (view full) ---

613 ---help---
614 Select this option if you want to enable compression/decompression
615 acceleration on Cavium's ARM based SoCs
616
617config CRYPTO_DEV_QCE
618 tristate "Qualcomm crypto engine accelerator"
619 depends on ARCH_QCOM || COMPILE_TEST
620 depends on HAS_IOMEM
1# SPDX-License-Identifier: GPL-2.0-only
2
3menuconfig CRYPTO_HW
4 bool "Hardware crypto devices"
5 default y
6 ---help---
7 Say Y here to get to see options for hardware crypto devices and
8 processors. This option alone does not add any kernel code.

--- 604 unchanged lines hidden (view full) ---

613 ---help---
614 Select this option if you want to enable compression/decompression
615 acceleration on Cavium's ARM based SoCs
616
617config CRYPTO_DEV_QCE
618 tristate "Qualcomm crypto engine accelerator"
619 depends on ARCH_QCOM || COMPILE_TEST
620 depends on HAS_IOMEM
621 help
622 This driver supports Qualcomm crypto engine accelerator
623 hardware. To compile this driver as a module, choose M here. The
624 module will be called qcrypto.
625
626config CRYPTO_DEV_QCE_SKCIPHER
627 bool
628 depends on CRYPTO_DEV_QCE
621 select CRYPTO_AES
622 select CRYPTO_LIB_DES
623 select CRYPTO_ECB
624 select CRYPTO_CBC
625 select CRYPTO_XTS
626 select CRYPTO_CTR
627 select CRYPTO_SKCIPHER
629 select CRYPTO_AES
630 select CRYPTO_LIB_DES
631 select CRYPTO_ECB
632 select CRYPTO_CBC
633 select CRYPTO_XTS
634 select CRYPTO_CTR
635 select CRYPTO_SKCIPHER
636
637config CRYPTO_DEV_QCE_SHA
638 bool
639 depends on CRYPTO_DEV_QCE
640
641choice
642 prompt "Algorithms enabled for QCE acceleration"
643 default CRYPTO_DEV_QCE_ENABLE_ALL
644 depends on CRYPTO_DEV_QCE
628 help
645 help
629 This driver supports Qualcomm crypto engine accelerator
630 hardware. To compile this driver as a module, choose M here. The
631 module will be called qcrypto.
646 This option allows to choose whether to build support for all algorihtms
647 (default), hashes-only, or skciphers-only.
632
648
649 The QCE engine does not appear to scale as well as the CPU to handle
650 multiple crypto requests. While the ipq40xx chips have 4-core CPUs, the
651 QCE handles only 2 requests in parallel.
652
653 Ipsec throughput seems to improve when disabling either family of
654 algorithms, sharing the load with the CPU. Enabling skciphers-only
655 appears to work best.
656
657 config CRYPTO_DEV_QCE_ENABLE_ALL
658 bool "All supported algorithms"
659 select CRYPTO_DEV_QCE_SKCIPHER
660 select CRYPTO_DEV_QCE_SHA
661 help
662 Enable all supported algorithms:
663 - AES (CBC, CTR, ECB, XTS)
664 - 3DES (CBC, ECB)
665 - DES (CBC, ECB)
666 - SHA1, HMAC-SHA1
667 - SHA256, HMAC-SHA256
668
669 config CRYPTO_DEV_QCE_ENABLE_SKCIPHER
670 bool "Symmetric-key ciphers only"
671 select CRYPTO_DEV_QCE_SKCIPHER
672 help
673 Enable symmetric-key ciphers only:
674 - AES (CBC, CTR, ECB, XTS)
675 - 3DES (ECB, CBC)
676 - DES (ECB, CBC)
677
678 config CRYPTO_DEV_QCE_ENABLE_SHA
679 bool "Hash/HMAC only"
680 select CRYPTO_DEV_QCE_SHA
681 help
682 Enable hashes/HMAC algorithms only:
683 - SHA1, HMAC-SHA1
684 - SHA256, HMAC-SHA256
685
686endchoice
687
633config CRYPTO_DEV_QCOM_RNG
634 tristate "Qualcomm Random Number Generator Driver"
635 depends on ARCH_QCOM || COMPILE_TEST
636 select CRYPTO_RNG
637 help
638 This driver provides support for the Random Number
639 Generator hardware found on Qualcomm SoCs.
640

--- 151 unchanged lines hidden ---
688config CRYPTO_DEV_QCOM_RNG
689 tristate "Qualcomm Random Number Generator Driver"
690 depends on ARCH_QCOM || COMPILE_TEST
691 select CRYPTO_RNG
692 help
693 This driver provides support for the Random Number
694 Generator hardware found on Qualcomm SoCs.
695

--- 151 unchanged lines hidden ---