1*f80ae1aaSPavan Nikhilesh /* SPDX-License-Identifier: BSD-3-Clause
2*f80ae1aaSPavan Nikhilesh * Copyright(c) 2022 Marvell.
3*f80ae1aaSPavan Nikhilesh */
4*f80ae1aaSPavan Nikhilesh
5*f80ae1aaSPavan Nikhilesh #ifndef _RTE_CRC_GENERIC_H_
6*f80ae1aaSPavan Nikhilesh #define _RTE_CRC_GENERIC_H_
7*f80ae1aaSPavan Nikhilesh
8*f80ae1aaSPavan Nikhilesh /* Software crc32 implementation for 1 byte value. */
9*f80ae1aaSPavan Nikhilesh static inline uint32_t
rte_hash_crc_1byte(uint8_t data,uint32_t init_val)10*f80ae1aaSPavan Nikhilesh rte_hash_crc_1byte(uint8_t data, uint32_t init_val)
11*f80ae1aaSPavan Nikhilesh {
12*f80ae1aaSPavan Nikhilesh return crc32c_1byte(data, init_val);
13*f80ae1aaSPavan Nikhilesh }
14*f80ae1aaSPavan Nikhilesh
15*f80ae1aaSPavan Nikhilesh /* Software crc32 implementation for 2 byte value. */
16*f80ae1aaSPavan Nikhilesh static inline uint32_t
rte_hash_crc_2byte(uint16_t data,uint32_t init_val)17*f80ae1aaSPavan Nikhilesh rte_hash_crc_2byte(uint16_t data, uint32_t init_val)
18*f80ae1aaSPavan Nikhilesh {
19*f80ae1aaSPavan Nikhilesh return crc32c_2bytes(data, init_val);
20*f80ae1aaSPavan Nikhilesh }
21*f80ae1aaSPavan Nikhilesh
22*f80ae1aaSPavan Nikhilesh /* Software crc32 implementation for 4 byte value. */
23*f80ae1aaSPavan Nikhilesh static inline uint32_t
rte_hash_crc_4byte(uint32_t data,uint32_t init_val)24*f80ae1aaSPavan Nikhilesh rte_hash_crc_4byte(uint32_t data, uint32_t init_val)
25*f80ae1aaSPavan Nikhilesh {
26*f80ae1aaSPavan Nikhilesh return crc32c_1word(data, init_val);
27*f80ae1aaSPavan Nikhilesh }
28*f80ae1aaSPavan Nikhilesh
29*f80ae1aaSPavan Nikhilesh /* Software crc32 implementation for 8 byte value. */
30*f80ae1aaSPavan Nikhilesh static inline uint32_t
rte_hash_crc_8byte(uint64_t data,uint32_t init_val)31*f80ae1aaSPavan Nikhilesh rte_hash_crc_8byte(uint64_t data, uint32_t init_val)
32*f80ae1aaSPavan Nikhilesh {
33*f80ae1aaSPavan Nikhilesh return crc32c_2words(data, init_val);
34*f80ae1aaSPavan Nikhilesh }
35*f80ae1aaSPavan Nikhilesh
36*f80ae1aaSPavan Nikhilesh #endif /* _RTE_CRC_GENERIC_H_ */
37