xref: /linux/arch/riscv/lib/crc32_msb.c (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1*72acff5fSEric Biggers // SPDX-License-Identifier: GPL-2.0-or-later
2*72acff5fSEric Biggers /*
3*72acff5fSEric Biggers  * RISC-V optimized most-significant-bit-first CRC32
4*72acff5fSEric Biggers  *
5*72acff5fSEric Biggers  * Copyright 2025 Google LLC
6*72acff5fSEric Biggers  */
7*72acff5fSEric Biggers 
8*72acff5fSEric Biggers #include "crc-clmul.h"
9*72acff5fSEric Biggers 
10*72acff5fSEric Biggers typedef u32 crc_t;
11*72acff5fSEric Biggers #define LSB_CRC 0
12*72acff5fSEric Biggers #include "crc-clmul-template.h"
13*72acff5fSEric Biggers 
14*72acff5fSEric Biggers u32 crc32_msb_clmul(u32 crc, const void *p, size_t len,
15*72acff5fSEric Biggers 		    const struct crc_clmul_consts *consts)
16*72acff5fSEric Biggers {
17*72acff5fSEric Biggers 	return crc_clmul(crc, p, len, consts);
18*72acff5fSEric Biggers }
19