Lines Matching refs:req
138 struct skcipher_request *req;
290 struct skcipher_request *req = cryp->req;
291 __be32 *tmp = (void *)req->iv;
602 stm32_cryp_hw_write_iv(cryp, (__be32 *)cryp->req->iv);
632 crypto_finalize_skcipher_request(cryp->engine, cryp->req,
677 static int stm32_cryp_crypt(struct skcipher_request *req, unsigned long mode)
680 crypto_skcipher_reqtfm(req));
681 struct stm32_cryp_reqctx *rctx = skcipher_request_ctx(req);
689 return crypto_transfer_skcipher_request_to_engine(cryp->engine, req);
692 static int stm32_cryp_aead_crypt(struct aead_request *req, unsigned long mode)
694 struct stm32_cryp_ctx *ctx = crypto_aead_ctx(crypto_aead_reqtfm(req));
695 struct stm32_cryp_reqctx *rctx = aead_request_ctx(req);
703 return crypto_transfer_aead_request_to_engine(cryp->engine, req);
794 static int stm32_cryp_aes_ecb_encrypt(struct skcipher_request *req)
796 if (req->cryptlen % AES_BLOCK_SIZE)
799 if (req->cryptlen == 0)
802 return stm32_cryp_crypt(req, FLG_AES | FLG_ECB | FLG_ENCRYPT);
805 static int stm32_cryp_aes_ecb_decrypt(struct skcipher_request *req)
807 if (req->cryptlen % AES_BLOCK_SIZE)
810 if (req->cryptlen == 0)
813 return stm32_cryp_crypt(req, FLG_AES | FLG_ECB);
816 static int stm32_cryp_aes_cbc_encrypt(struct skcipher_request *req)
818 if (req->cryptlen % AES_BLOCK_SIZE)
821 if (req->cryptlen == 0)
824 return stm32_cryp_crypt(req, FLG_AES | FLG_CBC | FLG_ENCRYPT);
827 static int stm32_cryp_aes_cbc_decrypt(struct skcipher_request *req)
829 if (req->cryptlen % AES_BLOCK_SIZE)
832 if (req->cryptlen == 0)
835 return stm32_cryp_crypt(req, FLG_AES | FLG_CBC);
838 static int stm32_cryp_aes_ctr_encrypt(struct skcipher_request *req)
840 if (req->cryptlen == 0)
843 return stm32_cryp_crypt(req, FLG_AES | FLG_CTR | FLG_ENCRYPT);
846 static int stm32_cryp_aes_ctr_decrypt(struct skcipher_request *req)
848 if (req->cryptlen == 0)
851 return stm32_cryp_crypt(req, FLG_AES | FLG_CTR);
854 static int stm32_cryp_aes_gcm_encrypt(struct aead_request *req)
856 return stm32_cryp_aead_crypt(req, FLG_AES | FLG_GCM | FLG_ENCRYPT);
859 static int stm32_cryp_aes_gcm_decrypt(struct aead_request *req)
861 return stm32_cryp_aead_crypt(req, FLG_AES | FLG_GCM);
873 static int stm32_cryp_aes_ccm_encrypt(struct aead_request *req)
877 err = crypto_ccm_check_iv(req->iv);
881 return stm32_cryp_aead_crypt(req, FLG_AES | FLG_CCM | FLG_ENCRYPT);
884 static int stm32_cryp_aes_ccm_decrypt(struct aead_request *req)
888 err = crypto_ccm_check_iv(req->iv);
892 return stm32_cryp_aead_crypt(req, FLG_AES | FLG_CCM);
895 static int stm32_cryp_des_ecb_encrypt(struct skcipher_request *req)
897 if (req->cryptlen % DES_BLOCK_SIZE)
900 if (req->cryptlen == 0)
903 return stm32_cryp_crypt(req, FLG_DES | FLG_ECB | FLG_ENCRYPT);
906 static int stm32_cryp_des_ecb_decrypt(struct skcipher_request *req)
908 if (req->cryptlen % DES_BLOCK_SIZE)
911 if (req->cryptlen == 0)
914 return stm32_cryp_crypt(req, FLG_DES | FLG_ECB);
917 static int stm32_cryp_des_cbc_encrypt(struct skcipher_request *req)
919 if (req->cryptlen % DES_BLOCK_SIZE)
922 if (req->cryptlen == 0)
925 return stm32_cryp_crypt(req, FLG_DES | FLG_CBC | FLG_ENCRYPT);
928 static int stm32_cryp_des_cbc_decrypt(struct skcipher_request *req)
930 if (req->cryptlen % DES_BLOCK_SIZE)
933 if (req->cryptlen == 0)
936 return stm32_cryp_crypt(req, FLG_DES | FLG_CBC);
939 static int stm32_cryp_tdes_ecb_encrypt(struct skcipher_request *req)
941 if (req->cryptlen % DES_BLOCK_SIZE)
944 if (req->cryptlen == 0)
947 return stm32_cryp_crypt(req, FLG_TDES | FLG_ECB | FLG_ENCRYPT);
950 static int stm32_cryp_tdes_ecb_decrypt(struct skcipher_request *req)
952 if (req->cryptlen % DES_BLOCK_SIZE)
955 if (req->cryptlen == 0)
958 return stm32_cryp_crypt(req, FLG_TDES | FLG_ECB);
961 static int stm32_cryp_tdes_cbc_encrypt(struct skcipher_request *req)
963 if (req->cryptlen % DES_BLOCK_SIZE)
966 if (req->cryptlen == 0)
969 return stm32_cryp_crypt(req, FLG_TDES | FLG_CBC | FLG_ENCRYPT);
972 static int stm32_cryp_tdes_cbc_decrypt(struct skcipher_request *req)
974 if (req->cryptlen % DES_BLOCK_SIZE)
977 if (req->cryptlen == 0)
980 return stm32_cryp_crypt(req, FLG_TDES | FLG_CBC);
983 static int stm32_cryp_prepare_req(struct skcipher_request *req,
992 if (!req && !areq)
995 ctx = req ? crypto_skcipher_ctx(crypto_skcipher_reqtfm(req)) :
1003 rctx = req ? skcipher_request_ctx(req) : aead_request_ctx(areq);
1012 if (req) {
1013 cryp->req = req;
1016 cryp->payload_in = req->cryptlen;
1017 cryp->payload_out = req->cryptlen;
1037 cryp->req = NULL;
1050 in_sg = req ? req->src : areq->src;
1053 cryp->out_sg = req ? req->dst : areq->dst;
1071 struct skcipher_request *req = container_of(areq,
1075 return stm32_cryp_prepare_req(req, NULL);
1080 struct skcipher_request *req = container_of(areq,
1084 crypto_skcipher_reqtfm(req));
1095 struct aead_request *req = container_of(areq, struct aead_request,
1098 return stm32_cryp_prepare_req(NULL, req);
1103 struct aead_request *req = container_of(areq, struct aead_request,
1105 struct stm32_cryp_ctx *ctx = crypto_aead_ctx(crypto_aead_reqtfm(req));