Lines Matching refs:req
125 struct aead_request *req, in nx_gca() argument
132 unsigned int nbytes = req->assoclen; in nx_gca()
137 scatterwalk_start(&walk, req->assoc); in nx_gca()
162 req->assoc, processed, &to_process); in nx_gca()
173 req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP); in nx_gca()
183 atomic64_add(req->assoclen, &(nx_ctx->stats->aes_bytes)); in nx_gca()
193 static int gmac(struct aead_request *req, struct blkcipher_desc *desc) in gmac() argument
196 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in gmac()
199 unsigned int nbytes = req->assoclen; in gmac()
228 req->assoc, processed, &to_process); in gmac()
242 req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP); in gmac()
254 atomic64_add(req->assoclen, &(nx_ctx->stats->aes_bytes)); in gmac()
265 static int gcm_empty(struct aead_request *req, struct blkcipher_desc *desc, in gcm_empty() argument
269 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in gcm_empty()
316 crypto_aead_authsize(crypto_aead_reqtfm(req))); in gcm_empty()
330 static int gcm_aes_nx_crypt(struct aead_request *req, int enc) in gcm_aes_nx_crypt() argument
332 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in gcm_aes_nx_crypt()
333 struct nx_gcm_rctx *rctx = aead_request_ctx(req); in gcm_aes_nx_crypt()
336 unsigned int nbytes = req->cryptlen; in gcm_aes_nx_crypt()
348 if (req->assoclen == 0) in gcm_aes_nx_crypt()
349 rc = gcm_empty(req, &desc, enc); in gcm_aes_nx_crypt()
351 rc = gmac(req, &desc); in gcm_aes_nx_crypt()
359 csbcpb->cpb.aes_gcm.bit_length_aad = req->assoclen * 8; in gcm_aes_nx_crypt()
360 if (req->assoclen) { in gcm_aes_nx_crypt()
361 rc = nx_gca(nx_ctx, req, csbcpb->cpb.aes_gcm.in_pat_or_aad); in gcm_aes_nx_crypt()
372 nbytes -= crypto_aead_authsize(crypto_aead_reqtfm(req)); in gcm_aes_nx_crypt()
379 desc.tfm = (struct crypto_blkcipher *) req->base.tfm; in gcm_aes_nx_crypt()
380 rc = nx_build_sg_lists(nx_ctx, &desc, req->dst, in gcm_aes_nx_crypt()
381 req->src, &to_process, processed, in gcm_aes_nx_crypt()
394 req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP); in gcm_aes_nx_crypt()
417 req->dst, nbytes, in gcm_aes_nx_crypt()
418 crypto_aead_authsize(crypto_aead_reqtfm(req)), in gcm_aes_nx_crypt()
424 scatterwalk_map_and_copy(itag, req->src, nbytes, in gcm_aes_nx_crypt()
425 crypto_aead_authsize(crypto_aead_reqtfm(req)), in gcm_aes_nx_crypt()
428 crypto_aead_authsize(crypto_aead_reqtfm(req))) ? in gcm_aes_nx_crypt()
436 static int gcm_aes_nx_encrypt(struct aead_request *req) in gcm_aes_nx_encrypt() argument
438 struct nx_gcm_rctx *rctx = aead_request_ctx(req); in gcm_aes_nx_encrypt()
441 memcpy(iv, req->iv, 12); in gcm_aes_nx_encrypt()
443 return gcm_aes_nx_crypt(req, 1); in gcm_aes_nx_encrypt()
446 static int gcm_aes_nx_decrypt(struct aead_request *req) in gcm_aes_nx_decrypt() argument
448 struct nx_gcm_rctx *rctx = aead_request_ctx(req); in gcm_aes_nx_decrypt()
451 memcpy(iv, req->iv, 12); in gcm_aes_nx_decrypt()
453 return gcm_aes_nx_crypt(req, 0); in gcm_aes_nx_decrypt()
456 static int gcm4106_aes_nx_encrypt(struct aead_request *req) in gcm4106_aes_nx_encrypt() argument
458 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in gcm4106_aes_nx_encrypt()
459 struct nx_gcm_rctx *rctx = aead_request_ctx(req); in gcm4106_aes_nx_encrypt()
464 memcpy(iv + NX_GCM4106_NONCE_LEN, req->iv, 8); in gcm4106_aes_nx_encrypt()
466 return gcm_aes_nx_crypt(req, 1); in gcm4106_aes_nx_encrypt()
469 static int gcm4106_aes_nx_decrypt(struct aead_request *req) in gcm4106_aes_nx_decrypt() argument
471 struct nx_crypto_ctx *nx_ctx = crypto_tfm_ctx(req->base.tfm); in gcm4106_aes_nx_decrypt()
472 struct nx_gcm_rctx *rctx = aead_request_ctx(req); in gcm4106_aes_nx_decrypt()
477 memcpy(iv + NX_GCM4106_NONCE_LEN, req->iv, 8); in gcm4106_aes_nx_decrypt()
479 return gcm_aes_nx_crypt(req, 0); in gcm4106_aes_nx_decrypt()