Merge tag 'riscv-for-linus-6.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-block.git] / include / linux / raid / xor.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
1da177e4
LT
2#ifndef _XOR_H
3#define _XOR_H
4
9bc89cd8 5#define MAX_XOR_BLOCKS 4
1da177e4 6
9bc89cd8
DW
7extern void xor_blocks(unsigned int count, unsigned int bytes,
8 void *dest, void **srcs);
1da177e4
LT
9
10struct xor_block_template {
11 struct xor_block_template *next;
12 const char *name;
13 int speed;
297565aa
AB
14 void (*do_2)(unsigned long, unsigned long * __restrict,
15 const unsigned long * __restrict);
16 void (*do_3)(unsigned long, unsigned long * __restrict,
17 const unsigned long * __restrict,
18 const unsigned long * __restrict);
19 void (*do_4)(unsigned long, unsigned long * __restrict,
20 const unsigned long * __restrict,
21 const unsigned long * __restrict,
22 const unsigned long * __restrict);
23 void (*do_5)(unsigned long, unsigned long * __restrict,
24 const unsigned long * __restrict,
25 const unsigned long * __restrict,
26 const unsigned long * __restrict,
27 const unsigned long * __restrict);
1da177e4
LT
28};
29
30#endif