diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2013-05-16 19:20:32 +0400 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2013-07-09 01:09:18 +0400 |
commit | 7d11965ddb9b9b1e0a5d13c58345ada1ccbc663b (patch) | |
tree | 9aec7ff11372f0194f288c13c7c83ff6ef40c87b /lib/raid6/algos.c | |
parent | 01956597cbc46df072f20f90a40eebe356200c38 (diff) | |
download | linux-7d11965ddb9b9b1e0a5d13c58345ada1ccbc663b.tar.xz |
lib/raid6: add ARM-NEON accelerated syndrome calculation
Rebased/reworked a patch contributed by Rob Herring that uses
NEON intrinsics to perform the RAID-6 syndrome calculations.
It uses the existing unroll.awk code to generate several
unrolled versions of which the best performing one is selected
at boot time.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Cc: hpa@linux.intel.com
Diffstat (limited to 'lib/raid6/algos.c')
-rw-r--r-- | lib/raid6/algos.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/raid6/algos.c b/lib/raid6/algos.c index 6d7316fe9f30..74e6f5629dbc 100644 --- a/lib/raid6/algos.c +++ b/lib/raid6/algos.c @@ -70,6 +70,12 @@ const struct raid6_calls * const raid6_algos[] = { &raid6_intx2, &raid6_intx4, &raid6_intx8, +#ifdef CONFIG_KERNEL_MODE_NEON + &raid6_neonx1, + &raid6_neonx2, + &raid6_neonx4, + &raid6_neonx8, +#endif NULL }; |