1 #ifndef __ASM_GENERIC_HASH_H
2 #define __ASM_GENERIC_HASH_H
4 #include <linux/jhash.h>
7 * arch_fast_hash - Caclulates a hash over a given buffer that can have
8 * arbitrary size. This function will eventually use an
9 * architecture-optimized hashing implementation if
10 * available, and trades off distribution for speed.
12 * @data: buffer to hash
13 * @len: length of buffer in bytes
18 static inline u32 arch_fast_hash(const void *data, u32 len, u32 seed)
20 return jhash(data, len, seed);
24 * arch_fast_hash2 - Caclulates a hash over a given buffer that has a
25 * size that is of a multiple of 32bit words. This
26 * function will eventually use an architecture-
27 * optimized hashing implementation if available,
28 * and trades off distribution for speed.
30 * @data: buffer to hash (must be 32bit padded)
31 * @len: number of 32bit words
36 static inline u32 arch_fast_hash2(const u32 *data, u32 len, u32 seed)
38 return jhash2(data, len, seed);
41 #endif /* __ASM_GENERIC_HASH_H */