1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* Copyright 2025 Google LLC */ 3 4 #ifndef _RISCV_CRC_CLMUL_H 5 #define _RISCV_CRC_CLMUL_H 6 7 #include <linux/types.h> 8 #include "crc-clmul-consts.h" 9 10 u16 crc16_msb_clmul(u16 crc, const void *p, size_t len, 11 const struct crc_clmul_consts *consts); 12 u32 crc32_msb_clmul(u32 crc, const void *p, size_t len, 13 const struct crc_clmul_consts *consts); 14 u32 crc32_lsb_clmul(u32 crc, const void *p, size_t len, 15 const struct crc_clmul_consts *consts); 16 #ifdef CONFIG_64BIT 17 u64 crc64_msb_clmul(u64 crc, const void *p, size_t len, 18 const struct crc_clmul_consts *consts); 19 u64 crc64_lsb_clmul(u64 crc, const void *p, size_t len, 20 const struct crc_clmul_consts *consts); 21 #endif 22 23 #endif /* _RISCV_CRC_CLMUL_H */ 24