Lines Matching refs:req
112 struct skcipher_request *req;
298 if (dd->req->iv && (valmr & TDES_MR_OPMOD_MASK) != TDES_MR_OPMOD_ECB)
299 atmel_tdes_write_n(dd, TDES_IV1R, (void *)dd->req->iv, 2);
389 struct atmel_tdes_reqctx *rctx = skcipher_request_ctx(dd->req);
432 struct atmel_tdes_reqctx *rctx = skcipher_request_ctx(dd->req);
570 struct skcipher_request *req = dd->req;
571 struct atmel_tdes_reqctx *rctx = skcipher_request_ctx(req);
572 struct crypto_skcipher *skcipher = crypto_skcipher_reqtfm(req);
575 if (req->cryptlen < ivsize)
579 scatterwalk_map_and_copy(req->iv, req->dst,
580 req->cryptlen - ivsize, ivsize, 0);
582 if (req->src == req->dst)
583 memcpy(req->iv, rctx->lastc, ivsize);
585 scatterwalk_map_and_copy(req->iv, req->src,
586 req->cryptlen - ivsize,
593 struct skcipher_request *req = dd->req;
594 struct atmel_tdes_reqctx *rctx = skcipher_request_ctx(req);
603 req->base.complete(&req->base, err);
607 struct skcipher_request *req)
616 if (req)
617 ret = crypto_enqueue_request(&dd->queue, &req->base);
634 req = skcipher_request_cast(async_req);
637 dd->req = req;
638 dd->total = req->cryptlen;
640 dd->in_sg = req->src;
642 dd->out_sg = req->dst;
644 rctx = skcipher_request_ctx(req);
645 ctx = crypto_skcipher_ctx(crypto_skcipher_reqtfm(req));
689 static int atmel_tdes_crypt(struct skcipher_request *req, unsigned long mode)
691 struct crypto_skcipher *skcipher = crypto_skcipher_reqtfm(req);
693 struct atmel_tdes_reqctx *rctx = skcipher_request_ctx(req);
697 if (!IS_ALIGNED(req->cryptlen, CFB8_BLOCK_SIZE)) {
705 if (!IS_ALIGNED(req->cryptlen, CFB16_BLOCK_SIZE)) {
713 if (!IS_ALIGNED(req->cryptlen, CFB32_BLOCK_SIZE)) {
721 if (!IS_ALIGNED(req->cryptlen, DES_BLOCK_SIZE)) {
732 !(mode & TDES_FLAGS_ENCRYPT) && req->src == req->dst) {
735 if (req->cryptlen >= ivsize)
736 scatterwalk_map_and_copy(rctx->lastc, req->src,
737 req->cryptlen - ivsize,
741 return atmel_tdes_handle_queue(ctx->dd, req);
828 static int atmel_tdes_ecb_encrypt(struct skcipher_request *req)
830 return atmel_tdes_crypt(req, TDES_FLAGS_ECB | TDES_FLAGS_ENCRYPT);
833 static int atmel_tdes_ecb_decrypt(struct skcipher_request *req)
835 return atmel_tdes_crypt(req, TDES_FLAGS_ECB);
838 static int atmel_tdes_cbc_encrypt(struct skcipher_request *req)
840 return atmel_tdes_crypt(req, TDES_FLAGS_CBC | TDES_FLAGS_ENCRYPT);
843 static int atmel_tdes_cbc_decrypt(struct skcipher_request *req)
845 return atmel_tdes_crypt(req, TDES_FLAGS_CBC);
847 static int atmel_tdes_cfb_encrypt(struct skcipher_request *req)
849 return atmel_tdes_crypt(req, TDES_FLAGS_CFB64 | TDES_FLAGS_ENCRYPT);
852 static int atmel_tdes_cfb_decrypt(struct skcipher_request *req)
854 return atmel_tdes_crypt(req, TDES_FLAGS_CFB64);
857 static int atmel_tdes_cfb8_encrypt(struct skcipher_request *req)
859 return atmel_tdes_crypt(req, TDES_FLAGS_CFB8 | TDES_FLAGS_ENCRYPT);
862 static int atmel_tdes_cfb8_decrypt(struct skcipher_request *req)
864 return atmel_tdes_crypt(req, TDES_FLAGS_CFB8);
867 static int atmel_tdes_cfb16_encrypt(struct skcipher_request *req)
869 return atmel_tdes_crypt(req, TDES_FLAGS_CFB16 | TDES_FLAGS_ENCRYPT);
872 static int atmel_tdes_cfb16_decrypt(struct skcipher_request *req)
874 return atmel_tdes_crypt(req, TDES_FLAGS_CFB16);
877 static int atmel_tdes_cfb32_encrypt(struct skcipher_request *req)
879 return atmel_tdes_crypt(req, TDES_FLAGS_CFB32 | TDES_FLAGS_ENCRYPT);
882 static int atmel_tdes_cfb32_decrypt(struct skcipher_request *req)
884 return atmel_tdes_crypt(req, TDES_FLAGS_CFB32);
887 static int atmel_tdes_ofb_encrypt(struct skcipher_request *req)
889 return atmel_tdes_crypt(req, TDES_FLAGS_OFB | TDES_FLAGS_ENCRYPT);
892 static int atmel_tdes_ofb_decrypt(struct skcipher_request *req)
894 return atmel_tdes_crypt(req, TDES_FLAGS_OFB);