xref: /linux-6.15/include/linux/raid/xor.h (revision 9bc89cd8)
1 #ifndef _XOR_H
2 #define _XOR_H
3 
4 #include <linux/raid/md.h>
5 
6 #define MAX_XOR_BLOCKS 4
7 
8 extern void xor_blocks(unsigned int count, unsigned int bytes,
9 	void *dest, void **srcs);
10 
11 struct xor_block_template {
12         struct xor_block_template *next;
13         const char *name;
14         int speed;
15 	void (*do_2)(unsigned long, unsigned long *, unsigned long *);
16 	void (*do_3)(unsigned long, unsigned long *, unsigned long *,
17 		     unsigned long *);
18 	void (*do_4)(unsigned long, unsigned long *, unsigned long *,
19 		     unsigned long *, unsigned long *);
20 	void (*do_5)(unsigned long, unsigned long *, unsigned long *,
21 		     unsigned long *, unsigned long *, unsigned long *);
22 };
23 
24 #endif
25