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 32874d2eddSChristoph Hellwigconfig XOR_BENCHMARK 33874d2eddSChristoph Hellwig bool "Benchmark for xor_gen" 34874d2eddSChristoph Hellwig depends on XOR_KUNIT_TEST 35874d2eddSChristoph Hellwig help 36874d2eddSChristoph Hellwig Include benchmarks in the KUnit test suite for xor_gen. 37874d2eddSChristoph 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 63*10dab131SChristoph Hellwigconfig RAID6_PQ_KUNIT_BENCHMARK 64*10dab131SChristoph Hellwig bool "Benchmark for RAID6 PQ" 65*10dab131SChristoph Hellwig depends on RAID6_PQ_KUNIT_TEST 66*10dab131SChristoph Hellwig help 67*10dab131SChristoph Hellwig Include benchmarks in the KUnit test suite for raid P/Q generation. 68*10dab131SChristoph Hellwig 693626738bSChristoph Hellwigconfig RAID6_PQ_BENCHMARK 703626738bSChristoph Hellwig bool "Automatically choose fastest RAID6 PQ functions" 713626738bSChristoph Hellwig depends on RAID6_PQ 723626738bSChristoph Hellwig default y 733626738bSChristoph Hellwig help 743626738bSChristoph Hellwig Benchmark all available RAID6 PQ functions on init and choose the 753626738bSChristoph Hellwig fastest one. 76