mirror of
https://github.com/torvalds/linux.git
synced 2025-04-11 04:53:02 +00:00

Delete the previous Zbc optimized CRC32 code, and re-implement it using the new template. The new implementation is more optimized and shares more code among CRC variants. Tested-by: Björn Töpel <bjorn@rivosinc.com> Acked-by: Alexandre Ghiti <alexghiti@rivosinc.com> Link: https://lore.kernel.org/r/20250216225530.306980-3-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@google.com>
19 lines
377 B
C
19 lines
377 B
C
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
/*
|
|
* RISC-V optimized most-significant-bit-first CRC32
|
|
*
|
|
* Copyright 2025 Google LLC
|
|
*/
|
|
|
|
#include "crc-clmul.h"
|
|
|
|
typedef u32 crc_t;
|
|
#define LSB_CRC 0
|
|
#include "crc-clmul-template.h"
|
|
|
|
u32 crc32_msb_clmul(u32 crc, const void *p, size_t len,
|
|
const struct crc_clmul_consts *consts)
|
|
{
|
|
return crc_clmul(crc, p, len, consts);
|
|
}
|