Lines Matching defs:req
135 static inline int riscv64_aes_ecb_crypt(struct skcipher_request *req, bool enc)
137 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
143 err = skcipher_walk_virt(&walk, req, false);
161 static int riscv64_aes_ecb_encrypt(struct skcipher_request *req)
163 return riscv64_aes_ecb_crypt(req, true);
166 static int riscv64_aes_ecb_decrypt(struct skcipher_request *req)
168 return riscv64_aes_ecb_crypt(req, false);
173 static int riscv64_aes_cbc_crypt(struct skcipher_request *req, bool enc)
175 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
181 err = skcipher_walk_virt(&walk, req, false);
201 static int riscv64_aes_cbc_encrypt(struct skcipher_request *req)
203 return riscv64_aes_cbc_crypt(req, true);
206 static int riscv64_aes_cbc_decrypt(struct skcipher_request *req)
208 return riscv64_aes_cbc_crypt(req, false);
213 static int riscv64_aes_cbc_cts_crypt(struct skcipher_request *req, bool enc)
215 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
224 if (req->cryptlen < AES_BLOCK_SIZE)
227 err = skcipher_walk_virt(&walk, req, false);
236 if (unlikely(walk.nbytes != req->cryptlen)) {
237 cbc_len = round_down(req->cryptlen - AES_BLOCK_SIZE - 1,
242 skcipher_request_flags(req),
244 skcipher_request_set_crypt(&subreq, req->src, req->dst,
245 cbc_len, req->iv);
249 dst = src = scatterwalk_ffwd(sg_src, req->src, cbc_len);
250 if (req->dst != req->src)
251 dst = scatterwalk_ffwd(sg_dst, req->dst, cbc_len);
253 req->cryptlen - cbc_len, req->iv);
260 walk.nbytes, req->iv, enc);
265 static int riscv64_aes_cbc_cts_encrypt(struct skcipher_request *req)
267 return riscv64_aes_cbc_cts_crypt(req, true);
270 static int riscv64_aes_cbc_cts_decrypt(struct skcipher_request *req)
272 return riscv64_aes_cbc_cts_crypt(req, false);
277 static int riscv64_aes_ctr_crypt(struct skcipher_request *req)
279 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
287 ctr32 = get_unaligned_be32(req->iv + 12);
289 err = skcipher_walk_virt(&walk, req, false);
306 req->iv);
318 p1_nbytes, req->iv);
319 crypto_inc(req->iv, 12);
326 nbytes - p1_nbytes, req->iv);
354 static int riscv64_aes_xts_crypt(struct skcipher_request *req, bool enc)
356 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
358 int tail = req->cryptlen % AES_BLOCK_SIZE;
365 if (req->cryptlen < AES_BLOCK_SIZE)
370 aes_encrypt_zvkned(&ctx->ctx2, req->iv, req->iv);
373 err = skcipher_walk_virt(&walk, req, false);
387 skcipher_request_flags(req),
389 skcipher_request_set_crypt(&subreq, req->src, req->dst,
390 req->cryptlen - tail - AES_BLOCK_SIZE,
391 req->iv);
392 req = &subreq;
393 err = skcipher_walk_virt(&walk, req, false);
408 walk.dst.virt.addr, nbytes, req->iv);
412 walk.dst.virt.addr, nbytes, req->iv);
422 dst = src = scatterwalk_ffwd(sg_src, req->src, req->cryptlen);
423 if (req->dst != req->src)
424 dst = scatterwalk_ffwd(sg_dst, req->dst, req->cryptlen);
426 skcipher_request_set_crypt(req, src, dst, AES_BLOCK_SIZE + tail,
427 req->iv);
429 err = skcipher_walk_virt(&walk, req, false);
437 walk.dst.virt.addr, walk.nbytes, req->iv);
441 walk.dst.virt.addr, walk.nbytes, req->iv);
447 static int riscv64_aes_xts_encrypt(struct skcipher_request *req)
449 return riscv64_aes_xts_crypt(req, true);
452 static int riscv64_aes_xts_decrypt(struct skcipher_request *req)
454 return riscv64_aes_xts_crypt(req, false);