Lines Matching defs:areq
224 static int safexcel_ahash_enqueue(struct ahash_request *areq);
232 struct ahash_request *areq = ahash_request_cast(async);
233 struct crypto_ahash *ahash = crypto_ahash_reqtfm(areq);
234 struct safexcel_ahash_req *sreq = ahash_request_ctx_dma(areq);
252 dma_unmap_sg(priv->dev, areq->src,
253 sg_nents_for_len(areq->src, areq->nbytes),
287 areq->nbytes = 0;
288 safexcel_ahash_enqueue(areq);
294 memcpy(areq->result, sreq->state,
310 struct ahash_request *areq = ahash_request_cast(async);
311 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
312 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
325 cache_len = queued - areq->nbytes;
339 sg_pcopy_to_buffer(areq->src, sg_nents(areq->src),
341 areq->nbytes - extra);
365 sg_pcopy_to_buffer(areq->src,
366 sg_nents(areq->src),
419 req->nents = dma_map_sg(priv->dev, areq->src,
420 sg_nents_for_len(areq->src,
421 areq->nbytes),
428 for_each_sg(areq->src, sg, req->nents, i) {
483 safexcel_rdr_req_set(priv, ring, rdesc, &areq->base);
496 dma_unmap_sg(priv->dev, areq->src,
497 sg_nents_for_len(areq->src, areq->nbytes),
521 struct ahash_request *areq = ahash_request_cast(async);
522 struct crypto_ahash *ahash = crypto_ahash_reqtfm(areq);
569 struct ahash_request *areq = ahash_request_cast(async);
570 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
590 struct ahash_request *areq = ahash_request_cast(async);
591 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
608 struct ahash_request *areq = ahash_request_cast(async);
609 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
662 static int safexcel_ahash_cache(struct ahash_request *areq)
664 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
676 if (cache_len + areq->nbytes <= HASH_CACHE_SIZE) {
677 sg_pcopy_to_buffer(areq->src, sg_nents(areq->src),
679 areq->nbytes, 0);
687 static int safexcel_ahash_enqueue(struct ahash_request *areq)
689 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
690 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
721 EIP197_GFP_FLAGS(areq->base),
731 ret = crypto_enqueue_request(&priv->ring[ring].queue, &areq->base);
740 static int safexcel_ahash_update(struct ahash_request *areq)
742 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
746 if (!areq->nbytes)
750 ret = safexcel_ahash_cache(areq);
753 req->len += areq->nbytes;
760 return safexcel_ahash_enqueue(areq);
765 static int safexcel_ahash_final(struct ahash_request *areq)
767 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
768 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
772 if (unlikely(!req->len && !areq->nbytes)) {
779 memcpy(areq->result, md5_zero_message_hash,
782 memcpy(areq->result, sha1_zero_message_hash,
785 memcpy(areq->result, sha224_zero_message_hash,
788 memcpy(areq->result, sha256_zero_message_hash,
791 memcpy(areq->result, sha384_zero_message_hash,
794 memcpy(areq->result, sha512_zero_message_hash,
797 memcpy(areq->result,
804 req->len == sizeof(u32) && !areq->nbytes)) {
806 memcpy(areq->result, &ctx->base.ipad, sizeof(u32));
809 !areq->nbytes)) {
811 memset(areq->result, 0, AES_BLOCK_SIZE);
814 !areq->nbytes)) {
819 u32 *result = (void *)areq->result;
824 areq->result[0] ^= 0x80; // 10- padding
825 aes_encrypt(ctx->aes, areq->result, areq->result);
829 !areq->nbytes)) {
866 return safexcel_ahash_enqueue(areq);
869 static int safexcel_ahash_finup(struct ahash_request *areq)
871 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
875 safexcel_ahash_update(areq);
876 return safexcel_ahash_final(areq);
879 static int safexcel_ahash_export(struct ahash_request *areq, void *out)
881 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
895 static int safexcel_ahash_import(struct ahash_request *areq, const void *in)
897 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
901 ret = crypto_ahash_init(areq);
933 static int safexcel_sha1_init(struct ahash_request *areq)
935 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
936 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
949 static int safexcel_sha1_digest(struct ahash_request *areq)
951 int ret = safexcel_sha1_init(areq);
956 return safexcel_ahash_finup(areq);
1010 static int safexcel_hmac_sha1_init(struct ahash_request *areq)
1012 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1013 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1033 static int safexcel_hmac_sha1_digest(struct ahash_request *areq)
1035 int ret = safexcel_hmac_sha1_init(areq);
1040 return safexcel_ahash_finup(areq);
1043 static int safexcel_hmac_init_pad(struct ahash_request *areq,
1059 ahash_request_set_callback(areq, CRYPTO_TFM_REQ_MAY_BACKLOG,
1062 ahash_request_set_crypt(areq, &sg, ipad, keylen);
1064 ret = crypto_ahash_digest(areq);
1073 keylen = crypto_ahash_digestsize(crypto_ahash_reqtfm(areq));
1087 static int safexcel_hmac_init_iv(struct ahash_request *areq,
1095 ahash_request_set_callback(areq, CRYPTO_TFM_REQ_MAY_BACKLOG,
1098 ahash_request_set_crypt(areq, &sg, pad, blocksize);
1100 ret = crypto_ahash_init(areq);
1104 req = ahash_request_ctx_dma(areq);
1108 ret = crypto_ahash_update(areq);
1111 return ret ?: crypto_ahash_export(areq, state);
1118 struct ahash_request *areq;
1128 areq = ahash_request_alloc(tfm, GFP_KERNEL);
1129 if (!areq) {
1145 ret = safexcel_hmac_init_pad(areq, blocksize, key, keylen, ipad, opad);
1149 ret = safexcel_hmac_init_iv(areq, blocksize, ipad, istate);
1153 ret = safexcel_hmac_init_iv(areq, blocksize, opad, ostate);
1158 ahash_request_free(areq);
1236 static int safexcel_sha256_init(struct ahash_request *areq)
1238 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1239 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1252 static int safexcel_sha256_digest(struct ahash_request *areq)
1254 int ret = safexcel_sha256_init(areq);
1259 return safexcel_ahash_finup(areq);
1293 static int safexcel_sha224_init(struct ahash_request *areq)
1295 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1296 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1309 static int safexcel_sha224_digest(struct ahash_request *areq)
1311 int ret = safexcel_sha224_init(areq);
1316 return safexcel_ahash_finup(areq);
1357 static int safexcel_hmac_sha224_init(struct ahash_request *areq)
1359 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1360 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1380 static int safexcel_hmac_sha224_digest(struct ahash_request *areq)
1382 int ret = safexcel_hmac_sha224_init(areq);
1387 return safexcel_ahash_finup(areq);
1429 static int safexcel_hmac_sha256_init(struct ahash_request *areq)
1431 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1432 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1452 static int safexcel_hmac_sha256_digest(struct ahash_request *areq)
1454 int ret = safexcel_hmac_sha256_init(areq);
1459 return safexcel_ahash_finup(areq);
1494 static int safexcel_sha512_init(struct ahash_request *areq)
1496 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1497 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1510 static int safexcel_sha512_digest(struct ahash_request *areq)
1512 int ret = safexcel_sha512_init(areq);
1517 return safexcel_ahash_finup(areq);
1551 static int safexcel_sha384_init(struct ahash_request *areq)
1553 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1554 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1567 static int safexcel_sha384_digest(struct ahash_request *areq)
1569 int ret = safexcel_sha384_init(areq);
1574 return safexcel_ahash_finup(areq);
1615 static int safexcel_hmac_sha512_init(struct ahash_request *areq)
1617 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1618 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1638 static int safexcel_hmac_sha512_digest(struct ahash_request *areq)
1640 int ret = safexcel_hmac_sha512_init(areq);
1645 return safexcel_ahash_finup(areq);
1687 static int safexcel_hmac_sha384_init(struct ahash_request *areq)
1689 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1690 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1710 static int safexcel_hmac_sha384_digest(struct ahash_request *areq)
1712 int ret = safexcel_hmac_sha384_init(areq);
1717 return safexcel_ahash_finup(areq);
1752 static int safexcel_md5_init(struct ahash_request *areq)
1754 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1755 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1768 static int safexcel_md5_digest(struct ahash_request *areq)
1770 int ret = safexcel_md5_init(areq);
1775 return safexcel_ahash_finup(areq);
1809 static int safexcel_hmac_md5_init(struct ahash_request *areq)
1811 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1812 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1840 static int safexcel_hmac_md5_digest(struct ahash_request *areq)
1842 int ret = safexcel_hmac_md5_init(areq);
1847 return safexcel_ahash_finup(areq);
1882 static int safexcel_cbcmac_init(struct ahash_request *areq)
1884 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
1885 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
1935 static int safexcel_cbcmac_digest(struct ahash_request *areq)
1937 return safexcel_cbcmac_init(areq) ?: safexcel_ahash_finup(areq);
2142 static int safexcel_sm3_init(struct ahash_request *areq)
2144 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
2145 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
2158 static int safexcel_sm3_digest(struct ahash_request *areq)
2160 int ret = safexcel_sm3_init(areq);
2165 return safexcel_ahash_finup(areq);
2206 static int safexcel_hmac_sm3_init(struct ahash_request *areq)
2208 struct safexcel_ahash_ctx *ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(areq));
2209 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
2229 static int safexcel_hmac_sm3_digest(struct ahash_request *areq)
2231 int ret = safexcel_hmac_sm3_init(areq);
2236 return safexcel_ahash_finup(areq);
2271 static int safexcel_sha3_224_init(struct ahash_request *areq)
2273 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
2275 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
2465 static int safexcel_sha3_256_init(struct ahash_request *areq)
2467 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
2469 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
2523 static int safexcel_sha3_384_init(struct ahash_request *areq)
2525 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
2527 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
2581 static int safexcel_sha3_512_init(struct ahash_request *areq)
2583 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
2585 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
2731 static int safexcel_hmac_sha3_224_init(struct ahash_request *areq)
2733 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
2735 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
2802 static int safexcel_hmac_sha3_256_init(struct ahash_request *areq)
2804 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
2806 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
2873 static int safexcel_hmac_sha3_384_init(struct ahash_request *areq)
2875 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
2877 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);
2944 static int safexcel_hmac_sha3_512_init(struct ahash_request *areq)
2946 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
2948 struct safexcel_ahash_req *req = ahash_request_ctx_dma(areq);