19e229025SChristoph Hellwig# SPDX-License-Identifier: GPL-2.0 29e229025SChristoph Hellwig 39e229025SChristoph Hellwigconfig XOR_BLOCKS 49e229025SChristoph Hellwig tristate 5e20043b4SChristoph Hellwig 6e20043b4SChristoph Hellwig# selected by architectures that provide an optimized XOR implementation 7e20043b4SChristoph Hellwigconfig XOR_BLOCKS_ARCH 8e20043b4SChristoph Hellwig depends on XOR_BLOCKS 9e20043b4SChristoph Hellwig default y if ALPHA 10e20043b4SChristoph Hellwig default y if ARM 11e20043b4SChristoph Hellwig default y if ARM64 12e20043b4SChristoph Hellwig default y if CPU_HAS_LSX # loongarch 13e20043b4SChristoph Hellwig default y if ALTIVEC # powerpc 14e20043b4SChristoph Hellwig default y if RISCV_ISA_V 15e20043b4SChristoph Hellwig default y if SPARC 16e20043b4SChristoph Hellwig default y if S390 17e20043b4SChristoph Hellwig default y if X86_32 18e20043b4SChristoph Hellwig default y if X86_64 19e20043b4SChristoph Hellwig bool 20af53e85eSChristoph Hellwig 21af53e85eSChristoph Hellwigconfig XOR_KUNIT_TEST 22af53e85eSChristoph Hellwig tristate "KUnit tests for xor_gen" if !KUNIT_ALL_TESTS 23af53e85eSChristoph Hellwig depends on KUNIT 24af53e85eSChristoph Hellwig depends on XOR_BLOCKS 25af53e85eSChristoph Hellwig default KUNIT_ALL_TESTS 26af53e85eSChristoph Hellwig help 27af53e85eSChristoph Hellwig Unit tests for the XOR library functions. 28af53e85eSChristoph Hellwig 29af53e85eSChristoph Hellwig This is intended to help people writing architecture-specific 30af53e85eSChristoph Hellwig optimized versions. If unsure, say N. 313626738bSChristoph Hellwig 32*874d2eddSChristoph Hellwigconfig XOR_BENCHMARK 33*874d2eddSChristoph Hellwig bool "Benchmark for xor_gen" 34*874d2eddSChristoph Hellwig depends on XOR_KUNIT_TEST 35*874d2eddSChristoph Hellwig help 36*874d2eddSChristoph Hellwig Include benchmarks in the KUnit test suite for xor_gen. 37*874d2eddSChristoph Hellwig 383626738bSChristoph Hellwigconfig RAID6_PQ 393626738bSChristoph Hellwig tristate 403626738bSChristoph Hellwig 41adfcf6e8SChristoph Hellwig# selected by architectures that provide an optimized PQ implementation 42adfcf6e8SChristoph Hellwigconfig RAID6_PQ_ARCH 43adfcf6e8SChristoph Hellwig depends on RAID6_PQ 44adfcf6e8SChristoph Hellwig default y if KERNEL_MODE_NEON # arm32/arm64 45adfcf6e8SChristoph Hellwig default y if LOONGARCH 46adfcf6e8SChristoph Hellwig default y if ALTIVEC # powerpc 47adfcf6e8SChristoph Hellwig default y if RISCV_ISA_V 48adfcf6e8SChristoph Hellwig default y if S390 49adfcf6e8SChristoph Hellwig default y if X86 50adfcf6e8SChristoph Hellwig bool 51adfcf6e8SChristoph Hellwig 523626738bSChristoph Hellwigconfig RAID6_PQ_KUNIT_TEST 533626738bSChristoph Hellwig tristate "KUnit tests for RAID6 PQ functions" if !KUNIT_ALL_TESTS 543626738bSChristoph Hellwig depends on KUNIT 553626738bSChristoph Hellwig depends on RAID6_PQ 563626738bSChristoph Hellwig default KUNIT_ALL_TESTS 573626738bSChristoph Hellwig help 583626738bSChristoph Hellwig Unit tests for the RAID6 PQ library functions. 593626738bSChristoph Hellwig 603626738bSChristoph Hellwig This is intended to help people writing architecture-specific 613626738bSChristoph Hellwig optimized versions. If unsure, say N. 623626738bSChristoph Hellwig 633626738bSChristoph Hellwigconfig RAID6_PQ_BENCHMARK 643626738bSChristoph Hellwig bool "Automatically choose fastest RAID6 PQ functions" 653626738bSChristoph Hellwig depends on RAID6_PQ 663626738bSChristoph Hellwig default y 673626738bSChristoph Hellwig help 683626738bSChristoph Hellwig Benchmark all available RAID6 PQ functions on init and choose the 693626738bSChristoph Hellwig fastest one. 70