linux/lib/raid6
Anup Patel b5dceda1f7 lib/raid6: Add log-of-2 table for RAID6 HW requiring disk position
The raid6_gfexp table represents {2}^n values for 0 <= n < 256. The
Linux async_tx framework pass values from raid6_gfexp as coefficients
for each source to prep_dma_pq() callback of DMA channel with PQ
capability. This creates problem for RAID6 offload engines (such as
Broadcom SBA) which take disk position (i.e. log of {2}) instead of
multiplicative cofficients from raid6_gfexp table.

This patch adds raid6_gflog table having log-of-2 value for any given
x such that 0 <= x < 256. For any given disk coefficient x, the
corresponding disk position is given by raid6_gflog[x]. The RAID6
offload engine driver can use this newly added raid6_gflog table to
get disk position from multiplicative coefficient.

Signed-off-by: Anup Patel <anup.patel@broadcom.com>
Reviewed-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Ray Jui <ray.jui@broadcom.com>
Acked-by: Shaohua Li <shli@fb.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2017-05-16 10:01:57 +05:30
..
test raid6/test/test.c: bug fix: Specify aligned(alignment) attributes to the char arrays 2016-09-26 16:18:21 -07:00
.gitignore RAID/s390: add SIMD implementation for raid6 gen/xor 2016-08-29 11:05:04 +02:00
algos.c Merge tag 'md/4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md 2016-10-07 09:45:43 -07:00
altivec.uc powerpc: Create disable_kernel_{fp,altivec,vsx,spe}() 2015-12-01 13:52:25 +11:00
avx2.c lib/raid6: Add AVX2 optimized xor_syndrome functions 2016-11-07 15:08:20 -08:00
avx512.c lib/raid6: Add AVX512 optimized xor_syndrome functions 2016-09-21 09:09:44 -07:00
int.uc md/raid6 algorithms: xor_syndrome() for generic int 2015-04-22 08:00:42 +10:00
Makefile Merge tag 'md/4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md 2016-10-07 09:45:43 -07:00
mktables.c lib/raid6: Add log-of-2 table for RAID6 HW requiring disk position 2017-05-16 10:01:57 +05:30
mmx.c md/raid6 algorithms: delta syndrome functions 2015-04-22 08:00:41 +10:00
neon.c md/raid6: delta syndrome for ARM NEON 2015-08-31 19:29:05 +02:00
neon.uc md/raid6: delta syndrome for ARM NEON 2015-08-31 19:29:05 +02:00
recov_avx2.c x86/raid6: correctly check for assembler capabilities 2015-02-04 08:35:51 +11:00
recov_avx512.c lib/raid6: Add AVX512 optimized recovery functions 2016-09-21 09:09:44 -07:00
recov_s390xc.c RAID/s390: provide raid6 recovery optimization 2016-09-01 16:13:25 +02:00
recov_ssse3.c x86/raid6: correctly check for assembler capabilities 2015-02-04 08:35:51 +11:00
recov.c lib/raid6: fix sparse warnings in recovery functions 2012-05-28 14:10:22 +10:00
s390vx.uc RAID/s390: add SIMD implementation for raid6 gen/xor 2016-08-29 11:05:04 +02:00
sse1.c md/raid6 algorithms: delta syndrome functions 2015-04-22 08:00:41 +10:00
sse2.c md/raid6 algorithms: xor_syndrome() for SSE2 2015-04-22 08:00:42 +10:00
tilegx.uc md/raid6 algorithms: delta syndrome functions 2015-04-22 08:00:41 +10:00
unroll.awk Merge branch 'async' of macbook:git/btrfs-unstable 2010-08-09 10:36:44 +01:00
x86.h lib/raid6: Add AVX512 optimized gen_syndrome functions 2016-09-21 09:09:44 -07:00