Lines Matching +full:data +full:- +full:out
1 // SPDX-License-Identifier: GPL-2.0-only
7 * Intel(R) 64 and IA-32 Architectures Software Developer's Manual
8 * Volume 2A: Instruction Set Reference, A-M
48 static u32 crc32c_intel_le_hw_byte(u32 crc, unsigned char const *data, size_t length) in crc32c_intel_le_hw_byte() argument
50 while (length--) { in crc32c_intel_le_hw_byte()
52 : "+r" (crc) : "rm" (*data)); in crc32c_intel_le_hw_byte()
53 data++; in crc32c_intel_le_hw_byte()
65 while (iquotient--) { in crc32c_intel_le_hw()
89 return -EINVAL; in crc32c_intel_setkey()
96 u32 *mctx = crypto_shash_ctx(desc->tfm); in crc32c_intel_init()
104 static int crc32c_intel_update(struct shash_desc *desc, const u8 *data, in crc32c_intel_update() argument
109 *crcp = crc32c_intel_le_hw(*crcp, data, len); in crc32c_intel_update()
113 static int __crc32c_intel_finup(u32 *crcp, const u8 *data, unsigned int len, in __crc32c_intel_finup() argument
114 u8 *out) in __crc32c_intel_finup() argument
116 *(__le32 *)out = ~cpu_to_le32(crc32c_intel_le_hw(*crcp, data, len)); in __crc32c_intel_finup()
120 static int crc32c_intel_finup(struct shash_desc *desc, const u8 *data, in crc32c_intel_finup() argument
121 unsigned int len, u8 *out) in crc32c_intel_finup() argument
123 return __crc32c_intel_finup(shash_desc_ctx(desc), data, len, out); in crc32c_intel_finup()
126 static int crc32c_intel_final(struct shash_desc *desc, u8 *out) in crc32c_intel_final() argument
130 *(__le32 *)out = ~cpu_to_le32p(crcp); in crc32c_intel_final()
134 static int crc32c_intel_digest(struct shash_desc *desc, const u8 *data, in crc32c_intel_digest() argument
135 unsigned int len, u8 *out) in crc32c_intel_digest() argument
137 return __crc32c_intel_finup(crypto_shash_ctx(desc->tfm), data, len, in crc32c_intel_digest()
138 out); in crc32c_intel_digest()
151 static int crc32c_pcl_intel_update(struct shash_desc *desc, const u8 *data, in crc32c_pcl_intel_update() argument
162 *crcp = crc_pcl(data, len, *crcp); in crc32c_pcl_intel_update()
165 *crcp = crc32c_intel_le_hw(*crcp, data, len); in crc32c_pcl_intel_update()
169 static int __crc32c_pcl_intel_finup(u32 *crcp, const u8 *data, unsigned int len, in __crc32c_pcl_intel_finup() argument
170 u8 *out) in __crc32c_pcl_intel_finup() argument
174 *(__le32 *)out = ~cpu_to_le32(crc_pcl(data, len, *crcp)); in __crc32c_pcl_intel_finup()
177 *(__le32 *)out = in __crc32c_pcl_intel_finup()
178 ~cpu_to_le32(crc32c_intel_le_hw(*crcp, data, len)); in __crc32c_pcl_intel_finup()
182 static int crc32c_pcl_intel_finup(struct shash_desc *desc, const u8 *data, in crc32c_pcl_intel_finup() argument
183 unsigned int len, u8 *out) in crc32c_pcl_intel_finup() argument
185 return __crc32c_pcl_intel_finup(shash_desc_ctx(desc), data, len, out); in crc32c_pcl_intel_finup()
188 static int crc32c_pcl_intel_digest(struct shash_desc *desc, const u8 *data, in crc32c_pcl_intel_digest() argument
189 unsigned int len, u8 *out) in crc32c_pcl_intel_digest() argument
191 return __crc32c_pcl_intel_finup(crypto_shash_ctx(desc->tfm), data, len, in crc32c_pcl_intel_digest()
192 out); in crc32c_pcl_intel_digest()
207 .cra_driver_name = "crc32c-intel",
226 return -ENODEV; in crc32c_intel_mod_init()
250 MODULE_ALIAS_CRYPTO("crc32c-intel");