xref: /OK3568_Linux_fs/kernel/arch/ia64/include/asm/xor.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Optimized RAID-5 checksumming functions for IA-64.
4*4882a593Smuzhiyun  */
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun extern void xor_ia64_2(unsigned long, unsigned long *, unsigned long *);
8*4882a593Smuzhiyun extern void xor_ia64_3(unsigned long, unsigned long *, unsigned long *,
9*4882a593Smuzhiyun 		       unsigned long *);
10*4882a593Smuzhiyun extern void xor_ia64_4(unsigned long, unsigned long *, unsigned long *,
11*4882a593Smuzhiyun 		       unsigned long *, unsigned long *);
12*4882a593Smuzhiyun extern void xor_ia64_5(unsigned long, unsigned long *, unsigned long *,
13*4882a593Smuzhiyun 		       unsigned long *, unsigned long *, unsigned long *);
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun static struct xor_block_template xor_block_ia64 = {
16*4882a593Smuzhiyun 	.name =	"ia64",
17*4882a593Smuzhiyun 	.do_2 =	xor_ia64_2,
18*4882a593Smuzhiyun 	.do_3 =	xor_ia64_3,
19*4882a593Smuzhiyun 	.do_4 =	xor_ia64_4,
20*4882a593Smuzhiyun 	.do_5 =	xor_ia64_5,
21*4882a593Smuzhiyun };
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun #define XOR_TRY_TEMPLATES	xor_speed(&xor_block_ia64)
24