summaryrefslogtreecommitdiffstats
path: root/lib/raid6/algos.c
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2017-07-13 18:16:01 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2017-08-09 18:52:07 +0100
commit6ec4e2514decd6fb4782a9364fa71d6244d05af4 (patch)
treee555e55f6e136bc749a01cf600620ee3f7c7671b /lib/raid6/algos.c
parent35129dde88afad07f54b332d4f9eda2d254b80f2 (diff)
downloadlinux-stable-6ec4e2514decd6fb4782a9364fa71d6244d05af4.tar.gz
linux-stable-6ec4e2514decd6fb4782a9364fa71d6244d05af4.tar.bz2
linux-stable-6ec4e2514decd6fb4782a9364fa71d6244d05af4.zip
md/raid6: implement recovery using ARM NEON intrinsics
Provide a NEON accelerated implementation of the recovery algorithm, which supersedes the default byte-by-byte one. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'lib/raid6/algos.c')
-rw-r--r--lib/raid6/algos.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/raid6/algos.c b/lib/raid6/algos.c
index 7857049fd7d3..476994723258 100644
--- a/lib/raid6/algos.c
+++ b/lib/raid6/algos.c
@@ -113,6 +113,9 @@ const struct raid6_recov_calls *const raid6_recov_algos[] = {
#ifdef CONFIG_S390
&raid6_recov_s390xc,
#endif
+#if defined(CONFIG_KERNEL_MODE_NEON)
+ &raid6_recov_neon,
+#endif
&raid6_recov_intx1,
NULL
};