Lines Matching refs:req

183 	struct skcipher_request *req;
353 struct skcipher_request *req = cryp->req;
354 __be32 *tmp = (void *)req->iv;
788 stm32_cryp_hw_write_iv(cryp, (__be32 *)cryp->req->iv);
816 crypto_finalize_skcipher_request(cryp->engine, cryp->req,
846 static int stm32_cryp_crypt(struct skcipher_request *req, unsigned long mode)
849 crypto_skcipher_reqtfm(req));
850 struct stm32_cryp_reqctx *rctx = skcipher_request_ctx(req);
858 return crypto_transfer_skcipher_request_to_engine(cryp->engine, req);
861 static int stm32_cryp_aead_crypt(struct aead_request *req, unsigned long mode)
863 struct stm32_cryp_ctx *ctx = crypto_aead_ctx(crypto_aead_reqtfm(req));
864 struct stm32_cryp_reqctx *rctx = aead_request_ctx(req);
872 return crypto_transfer_aead_request_to_engine(cryp->engine, req);
963 static int stm32_cryp_aes_ecb_encrypt(struct skcipher_request *req)
965 if (req->cryptlen % AES_BLOCK_SIZE)
968 if (req->cryptlen == 0)
971 return stm32_cryp_crypt(req, FLG_AES | FLG_ECB | FLG_ENCRYPT);
974 static int stm32_cryp_aes_ecb_decrypt(struct skcipher_request *req)
976 if (req->cryptlen % AES_BLOCK_SIZE)
979 if (req->cryptlen == 0)
982 return stm32_cryp_crypt(req, FLG_AES | FLG_ECB);
985 static int stm32_cryp_aes_cbc_encrypt(struct skcipher_request *req)
987 if (req->cryptlen % AES_BLOCK_SIZE)
990 if (req->cryptlen == 0)
993 return stm32_cryp_crypt(req, FLG_AES | FLG_CBC | FLG_ENCRYPT);
996 static int stm32_cryp_aes_cbc_decrypt(struct skcipher_request *req)
998 if (req->cryptlen % AES_BLOCK_SIZE)
1001 if (req->cryptlen == 0)
1004 return stm32_cryp_crypt(req, FLG_AES | FLG_CBC);
1007 static int stm32_cryp_aes_ctr_encrypt(struct skcipher_request *req)
1009 if (req->cryptlen == 0)
1012 return stm32_cryp_crypt(req, FLG_AES | FLG_CTR | FLG_ENCRYPT);
1015 static int stm32_cryp_aes_ctr_decrypt(struct skcipher_request *req)
1017 if (req->cryptlen == 0)
1020 return stm32_cryp_crypt(req, FLG_AES | FLG_CTR);
1023 static int stm32_cryp_aes_gcm_encrypt(struct aead_request *req)
1025 return stm32_cryp_aead_crypt(req, FLG_AES | FLG_GCM | FLG_ENCRYPT);
1028 static int stm32_cryp_aes_gcm_decrypt(struct aead_request *req)
1030 return stm32_cryp_aead_crypt(req, FLG_AES | FLG_GCM);
1042 static int stm32_cryp_aes_ccm_encrypt(struct aead_request *req)
1046 err = crypto_ccm_check_iv(req->iv);
1050 return stm32_cryp_aead_crypt(req, FLG_AES | FLG_CCM | FLG_ENCRYPT);
1053 static int stm32_cryp_aes_ccm_decrypt(struct aead_request *req)
1057 err = crypto_ccm_check_iv(req->iv);
1061 return stm32_cryp_aead_crypt(req, FLG_AES | FLG_CCM);
1064 static int stm32_cryp_des_ecb_encrypt(struct skcipher_request *req)
1066 if (req->cryptlen % DES_BLOCK_SIZE)
1069 if (req->cryptlen == 0)
1072 return stm32_cryp_crypt(req, FLG_DES | FLG_ECB | FLG_ENCRYPT);
1075 static int stm32_cryp_des_ecb_decrypt(struct skcipher_request *req)
1077 if (req->cryptlen % DES_BLOCK_SIZE)
1080 if (req->cryptlen == 0)
1083 return stm32_cryp_crypt(req, FLG_DES | FLG_ECB);
1086 static int stm32_cryp_des_cbc_encrypt(struct skcipher_request *req)
1088 if (req->cryptlen % DES_BLOCK_SIZE)
1091 if (req->cryptlen == 0)
1094 return stm32_cryp_crypt(req, FLG_DES | FLG_CBC | FLG_ENCRYPT);
1097 static int stm32_cryp_des_cbc_decrypt(struct skcipher_request *req)
1099 if (req->cryptlen % DES_BLOCK_SIZE)
1102 if (req->cryptlen == 0)
1105 return stm32_cryp_crypt(req, FLG_DES | FLG_CBC);
1108 static int stm32_cryp_tdes_ecb_encrypt(struct skcipher_request *req)
1110 if (req->cryptlen % DES_BLOCK_SIZE)
1113 if (req->cryptlen == 0)
1116 return stm32_cryp_crypt(req, FLG_TDES | FLG_ECB | FLG_ENCRYPT);
1119 static int stm32_cryp_tdes_ecb_decrypt(struct skcipher_request *req)
1121 if (req->cryptlen % DES_BLOCK_SIZE)
1124 if (req->cryptlen == 0)
1127 return stm32_cryp_crypt(req, FLG_TDES | FLG_ECB);
1130 static int stm32_cryp_tdes_cbc_encrypt(struct skcipher_request *req)
1132 if (req->cryptlen % DES_BLOCK_SIZE)
1135 if (req->cryptlen == 0)
1138 return stm32_cryp_crypt(req, FLG_TDES | FLG_CBC | FLG_ENCRYPT);
1141 static int stm32_cryp_tdes_cbc_decrypt(struct skcipher_request *req)
1143 if (req->cryptlen % DES_BLOCK_SIZE)
1146 if (req->cryptlen == 0)
1149 return stm32_cryp_crypt(req, FLG_TDES | FLG_CBC);
1152 static int stm32_cryp_prepare_req(struct skcipher_request *req,
1161 if (!req && !areq)
1164 ctx = req ? crypto_skcipher_ctx(crypto_skcipher_reqtfm(req)) :
1169 rctx = req ? skcipher_request_ctx(req) : aead_request_ctx(areq);
1178 if (req) {
1179 cryp->req = req;
1182 cryp->payload_in = req->cryptlen;
1183 cryp->payload_out = req->cryptlen;
1203 cryp->req = NULL;
1216 in_sg = req ? req->src : areq->src;
1219 cryp->out_sg = req ? req->dst : areq->dst;
1236 struct skcipher_request *req = container_of(areq,
1240 crypto_skcipher_reqtfm(req));
1246 return stm32_cryp_prepare_req(req, NULL) ?:
1252 struct aead_request *req = container_of(areq, struct aead_request,
1254 struct stm32_cryp_ctx *ctx = crypto_aead_ctx(crypto_aead_reqtfm(req));
1261 err = stm32_cryp_prepare_req(NULL, req);