Lines Matching refs:areq
15 static int noinline_for_stack sun4i_ss_opti_poll(struct skcipher_request *areq) in sun4i_ss_opti_poll() argument
17 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_opti_poll()
21 struct sun4i_cipher_req_ctx *ctx = skcipher_request_ctx(areq); in sun4i_ss_opti_poll()
31 unsigned int ileft = areq->cryptlen; in sun4i_ss_opti_poll()
32 unsigned int oleft = areq->cryptlen; in sun4i_ss_opti_poll()
40 if (!areq->cryptlen) in sun4i_ss_opti_poll()
43 if (!areq->src || !areq->dst) { in sun4i_ss_opti_poll()
48 if (areq->iv && ivsize > 0 && mode & SS_DECRYPTION) { in sun4i_ss_opti_poll()
52 scatterwalk_map_and_copy(backup_iv, areq->src, areq->cryptlen - ivsize, ivsize, 0); in sun4i_ss_opti_poll()
60 if (areq->iv) { in sun4i_ss_opti_poll()
62 v = *(u32 *)(areq->iv + i * 4); in sun4i_ss_opti_poll()
69 ileft = areq->cryptlen / 4; in sun4i_ss_opti_poll()
70 oleft = areq->cryptlen / 4; in sun4i_ss_opti_poll()
75 sg_miter_start(&mi, areq->src, sg_nents(areq->src), in sun4i_ss_opti_poll()
103 sg_miter_start(&mo, areq->dst, sg_nents(areq->dst), in sun4i_ss_opti_poll()
127 if (areq->iv) { in sun4i_ss_opti_poll()
129 memcpy(areq->iv, backup_iv, ivsize); in sun4i_ss_opti_poll()
132 scatterwalk_map_and_copy(areq->iv, areq->dst, areq->cryptlen - ivsize, in sun4i_ss_opti_poll()
144 static int noinline_for_stack sun4i_ss_cipher_poll_fallback(struct skcipher_request *areq) in sun4i_ss_cipher_poll_fallback() argument
146 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_cipher_poll_fallback()
148 struct sun4i_cipher_req_ctx *ctx = skcipher_request_ctx(areq); in sun4i_ss_cipher_poll_fallback()
152 skcipher_request_set_callback(&ctx->fallback_req, areq->base.flags, in sun4i_ss_cipher_poll_fallback()
153 areq->base.complete, areq->base.data); in sun4i_ss_cipher_poll_fallback()
154 skcipher_request_set_crypt(&ctx->fallback_req, areq->src, areq->dst, in sun4i_ss_cipher_poll_fallback()
155 areq->cryptlen, areq->iv); in sun4i_ss_cipher_poll_fallback()
165 static int sun4i_ss_cipher_poll(struct skcipher_request *areq) in sun4i_ss_cipher_poll() argument
167 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_cipher_poll()
171 struct scatterlist *in_sg = areq->src; in sun4i_ss_cipher_poll()
172 struct scatterlist *out_sg = areq->dst; in sun4i_ss_cipher_poll()
174 struct sun4i_cipher_req_ctx *ctx = skcipher_request_ctx(areq); in sun4i_ss_cipher_poll()
185 unsigned int ileft = areq->cryptlen; in sun4i_ss_cipher_poll()
186 unsigned int oleft = areq->cryptlen; in sun4i_ss_cipher_poll()
199 if (!areq->cryptlen) in sun4i_ss_cipher_poll()
202 if (!areq->src || !areq->dst) { in sun4i_ss_cipher_poll()
208 if (areq->cryptlen % algt->alg.crypto.base.cra_blocksize) in sun4i_ss_cipher_poll()
227 return sun4i_ss_opti_poll(areq); in sun4i_ss_cipher_poll()
230 return sun4i_ss_cipher_poll_fallback(areq); in sun4i_ss_cipher_poll()
232 if (areq->iv && ivsize > 0 && mode & SS_DECRYPTION) { in sun4i_ss_cipher_poll()
236 scatterwalk_map_and_copy(backup_iv, areq->src, areq->cryptlen - ivsize, ivsize, 0); in sun4i_ss_cipher_poll()
244 if (areq->iv) { in sun4i_ss_cipher_poll()
246 v = *(u32 *)(areq->iv + i * 4); in sun4i_ss_cipher_poll()
252 ileft = areq->cryptlen; in sun4i_ss_cipher_poll()
253 oleft = areq->cryptlen; in sun4i_ss_cipher_poll()
259 sg_miter_start(&mi, areq->src, sg_nents(areq->src), in sun4i_ss_cipher_poll()
313 sg_miter_start(&mo, areq->dst, sg_nents(areq->dst), in sun4i_ss_cipher_poll()
366 if (areq->iv) { in sun4i_ss_cipher_poll()
368 memcpy(areq->iv, backup_iv, ivsize); in sun4i_ss_cipher_poll()
371 scatterwalk_map_and_copy(areq->iv, areq->dst, areq->cryptlen - ivsize, in sun4i_ss_cipher_poll()
384 int sun4i_ss_cbc_aes_encrypt(struct skcipher_request *areq) in sun4i_ss_cbc_aes_encrypt() argument
386 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_cbc_aes_encrypt()
388 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_cbc_aes_encrypt()
392 return sun4i_ss_cipher_poll(areq); in sun4i_ss_cbc_aes_encrypt()
395 int sun4i_ss_cbc_aes_decrypt(struct skcipher_request *areq) in sun4i_ss_cbc_aes_decrypt() argument
397 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_cbc_aes_decrypt()
399 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_cbc_aes_decrypt()
403 return sun4i_ss_cipher_poll(areq); in sun4i_ss_cbc_aes_decrypt()
407 int sun4i_ss_ecb_aes_encrypt(struct skcipher_request *areq) in sun4i_ss_ecb_aes_encrypt() argument
409 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_ecb_aes_encrypt()
411 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_ecb_aes_encrypt()
415 return sun4i_ss_cipher_poll(areq); in sun4i_ss_ecb_aes_encrypt()
418 int sun4i_ss_ecb_aes_decrypt(struct skcipher_request *areq) in sun4i_ss_ecb_aes_decrypt() argument
420 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_ecb_aes_decrypt()
422 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_ecb_aes_decrypt()
426 return sun4i_ss_cipher_poll(areq); in sun4i_ss_ecb_aes_decrypt()
430 int sun4i_ss_cbc_des_encrypt(struct skcipher_request *areq) in sun4i_ss_cbc_des_encrypt() argument
432 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_cbc_des_encrypt()
434 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_cbc_des_encrypt()
438 return sun4i_ss_cipher_poll(areq); in sun4i_ss_cbc_des_encrypt()
441 int sun4i_ss_cbc_des_decrypt(struct skcipher_request *areq) in sun4i_ss_cbc_des_decrypt() argument
443 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_cbc_des_decrypt()
445 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_cbc_des_decrypt()
449 return sun4i_ss_cipher_poll(areq); in sun4i_ss_cbc_des_decrypt()
453 int sun4i_ss_ecb_des_encrypt(struct skcipher_request *areq) in sun4i_ss_ecb_des_encrypt() argument
455 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_ecb_des_encrypt()
457 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_ecb_des_encrypt()
461 return sun4i_ss_cipher_poll(areq); in sun4i_ss_ecb_des_encrypt()
464 int sun4i_ss_ecb_des_decrypt(struct skcipher_request *areq) in sun4i_ss_ecb_des_decrypt() argument
466 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_ecb_des_decrypt()
468 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_ecb_des_decrypt()
472 return sun4i_ss_cipher_poll(areq); in sun4i_ss_ecb_des_decrypt()
476 int sun4i_ss_cbc_des3_encrypt(struct skcipher_request *areq) in sun4i_ss_cbc_des3_encrypt() argument
478 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_cbc_des3_encrypt()
480 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_cbc_des3_encrypt()
484 return sun4i_ss_cipher_poll(areq); in sun4i_ss_cbc_des3_encrypt()
487 int sun4i_ss_cbc_des3_decrypt(struct skcipher_request *areq) in sun4i_ss_cbc_des3_decrypt() argument
489 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_cbc_des3_decrypt()
491 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_cbc_des3_decrypt()
495 return sun4i_ss_cipher_poll(areq); in sun4i_ss_cbc_des3_decrypt()
499 int sun4i_ss_ecb_des3_encrypt(struct skcipher_request *areq) in sun4i_ss_ecb_des3_encrypt() argument
501 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_ecb_des3_encrypt()
503 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_ecb_des3_encrypt()
507 return sun4i_ss_cipher_poll(areq); in sun4i_ss_ecb_des3_encrypt()
510 int sun4i_ss_ecb_des3_decrypt(struct skcipher_request *areq) in sun4i_ss_ecb_des3_decrypt() argument
512 struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); in sun4i_ss_ecb_des3_decrypt()
514 struct sun4i_cipher_req_ctx *rctx = skcipher_request_ctx(areq); in sun4i_ss_ecb_des3_decrypt()
518 return sun4i_ss_cipher_poll(areq); in sun4i_ss_ecb_des3_decrypt()