Lines Matching refs:areq

924 			    struct aead_request *areq)  in ipsec_esp_unmap()  argument
931 talitos_sg_unmap(dev, edesc, areq->src, areq->dst); in ipsec_esp_unmap()
945 struct aead_request *areq = context; in ipsec_esp_encrypt_done() local
946 struct crypto_aead *authenc = crypto_aead_reqtfm(areq); in ipsec_esp_encrypt_done()
954 ipsec_esp_unmap(dev, edesc, areq); in ipsec_esp_encrypt_done()
960 sg = sg_last(areq->dst, edesc->dst_nents); in ipsec_esp_encrypt_done()
967 aead_request_complete(areq, err); in ipsec_esp_encrypt_done()
1081 static int ipsec_esp(struct talitos_edesc *edesc, struct aead_request *areq, in ipsec_esp() argument
1086 struct crypto_aead *aead = crypto_aead_reqtfm(areq); in ipsec_esp()
1091 unsigned int cryptlen = areq->cryptlen; in ipsec_esp()
1101 sg_count = dma_map_sg(dev, areq->src, edesc->src_nents ?: 1, in ipsec_esp()
1102 (areq->src == areq->dst) ? DMA_BIDIRECTIONAL in ipsec_esp()
1105 desc->ptr[1].len = cpu_to_be16(areq->assoclen); in ipsec_esp()
1107 (ret = sg_to_link_tbl_offset(areq->src, sg_count, 0, in ipsec_esp()
1108 areq->assoclen, in ipsec_esp()
1119 to_talitos_ptr(&desc->ptr[1], sg_dma_address(areq->src), 0); in ipsec_esp()
1147 to_talitos_ptr(&desc->ptr[4], sg_dma_address(areq->src) + in ipsec_esp()
1148 areq->assoclen, 0); in ipsec_esp()
1149 } else if ((ret = sg_to_link_tbl_offset(areq->src, sg_count, in ipsec_esp()
1150 areq->assoclen, sg_link_tbl_len, in ipsec_esp()
1169 if (areq->src != areq->dst) in ipsec_esp()
1170 sg_count = dma_map_sg(dev, areq->dst, edesc->dst_nents ? : 1, in ipsec_esp()
1176 to_talitos_ptr(&desc->ptr[5], sg_dma_address(areq->dst) + in ipsec_esp()
1177 areq->assoclen, 0); in ipsec_esp()
1179 sg_to_link_tbl_offset(areq->dst, sg_count, in ipsec_esp()
1180 areq->assoclen, cryptlen, in ipsec_esp()
1212 ret = talitos_submit(dev, ctx->ch, desc, callback, areq); in ipsec_esp()
1214 ipsec_esp_unmap(dev, edesc, areq); in ipsec_esp()
1306 static struct talitos_edesc *aead_edesc_alloc(struct aead_request *areq, u8 *iv, in aead_edesc_alloc() argument
1309 struct crypto_aead *authenc = crypto_aead_reqtfm(areq); in aead_edesc_alloc()
1314 return talitos_edesc_alloc(ctx->dev, areq->src, areq->dst, in aead_edesc_alloc()
1315 iv, areq->assoclen, areq->cryptlen, in aead_edesc_alloc()
1317 areq->base.flags, encrypt); in aead_edesc_alloc()
1426 struct ablkcipher_request *areq) in common_nonsnoop_unmap() argument
1430 unmap_sg_talitos_ptr(dev, areq->src, areq->dst, areq->nbytes, edesc); in common_nonsnoop_unmap()
1443 struct ablkcipher_request *areq = context; in ablkcipher_done() local
1448 common_nonsnoop_unmap(dev, edesc, areq); in ablkcipher_done()
1452 areq->base.complete(&areq->base, err); in ablkcipher_done()
1550 struct ablkcipher_request *areq, in common_nonsnoop() argument
1555 struct crypto_ablkcipher *cipher = crypto_ablkcipher_reqtfm(areq); in common_nonsnoop()
1559 unsigned int cryptlen = areq->nbytes; in common_nonsnoop()
1580 sg_count = map_sg_in_talitos_ptr(dev, areq->src, cryptlen, edesc, in common_nonsnoop()
1581 (areq->src == areq->dst) ? in common_nonsnoop()
1586 map_sg_out_talitos_ptr(dev, areq->dst, cryptlen, edesc, in common_nonsnoop()
1587 (areq->src == areq->dst) ? DMA_NONE in common_nonsnoop()
1598 ret = talitos_submit(dev, ctx->ch, desc, callback, areq); in common_nonsnoop()
1600 common_nonsnoop_unmap(dev, edesc, areq); in common_nonsnoop()
1607 areq, bool encrypt) in ablkcipher_edesc_alloc()
1609 struct crypto_ablkcipher *cipher = crypto_ablkcipher_reqtfm(areq); in ablkcipher_edesc_alloc()
1613 return talitos_edesc_alloc(ctx->dev, areq->src, areq->dst, in ablkcipher_edesc_alloc()
1614 areq->info, 0, areq->nbytes, 0, ivsize, 0, in ablkcipher_edesc_alloc()
1615 areq->base.flags, encrypt); in ablkcipher_edesc_alloc()
1618 static int ablkcipher_encrypt(struct ablkcipher_request *areq) in ablkcipher_encrypt() argument
1620 struct crypto_ablkcipher *cipher = crypto_ablkcipher_reqtfm(areq); in ablkcipher_encrypt()
1625 edesc = ablkcipher_edesc_alloc(areq, true); in ablkcipher_encrypt()
1632 return common_nonsnoop(edesc, areq, ablkcipher_done); in ablkcipher_encrypt()
1635 static int ablkcipher_decrypt(struct ablkcipher_request *areq) in ablkcipher_decrypt() argument
1637 struct crypto_ablkcipher *cipher = crypto_ablkcipher_reqtfm(areq); in ablkcipher_decrypt()
1642 edesc = ablkcipher_edesc_alloc(areq, false); in ablkcipher_decrypt()
1648 return common_nonsnoop(edesc, areq, ablkcipher_done); in ablkcipher_decrypt()
1653 struct ahash_request *areq) in common_nonsnoop_hash_unmap() argument
1655 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in common_nonsnoop_hash_unmap()
1682 struct ahash_request *areq = context; in ahash_done() local
1685 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in ahash_done()
1692 common_nonsnoop_hash_unmap(dev, edesc, areq); in ahash_done()
1696 areq->base.complete(&areq->base, err); in ahash_done()
1721 struct ahash_request *areq, unsigned int length, in common_nonsnoop_hash() argument
1726 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in common_nonsnoop_hash()
1728 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in common_nonsnoop_hash()
1771 areq->result, DMA_FROM_DEVICE); in common_nonsnoop_hash()
1783 ret = talitos_submit(dev, ctx->ch, desc, callback, areq); in common_nonsnoop_hash()
1785 common_nonsnoop_hash_unmap(dev, edesc, areq); in common_nonsnoop_hash()
1791 static struct talitos_edesc *ahash_edesc_alloc(struct ahash_request *areq, in ahash_edesc_alloc() argument
1794 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in ahash_edesc_alloc()
1796 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in ahash_edesc_alloc()
1799 nbytes, 0, 0, 0, areq->base.flags, false); in ahash_edesc_alloc()
1802 static int ahash_init(struct ahash_request *areq) in ahash_init() argument
1804 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in ahash_init()
1805 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in ahash_init()
1823 static int ahash_init_sha224_swinit(struct ahash_request *areq) in ahash_init_sha224_swinit() argument
1825 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in ahash_init_sha224_swinit()
1827 ahash_init(areq); in ahash_init_sha224_swinit()
1846 static int ahash_process_req(struct ahash_request *areq, unsigned int nbytes) in ahash_process_req() argument
1848 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in ahash_process_req()
1850 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in ahash_process_req()
1860 sg_copy_to_buffer(areq->src, in ahash_process_req()
1861 sg_nents_for_len(areq->src, nbytes), in ahash_process_req()
1888 sg_chain(req_ctx->bufsl, 2, areq->src); in ahash_process_req()
1891 req_ctx->psrc = areq->src; in ahash_process_req()
1894 int nents = sg_nents_for_len(areq->src, nbytes); in ahash_process_req()
1895 sg_pcopy_to_buffer(areq->src, nents, in ahash_process_req()
1903 edesc = ahash_edesc_alloc(areq, nbytes_to_hash); in ahash_process_req()
1925 return common_nonsnoop_hash(edesc, areq, nbytes_to_hash, in ahash_process_req()
1929 static int ahash_update(struct ahash_request *areq) in ahash_update() argument
1931 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in ahash_update()
1935 return ahash_process_req(areq, areq->nbytes); in ahash_update()
1938 static int ahash_final(struct ahash_request *areq) in ahash_final() argument
1940 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in ahash_final()
1944 return ahash_process_req(areq, 0); in ahash_final()
1947 static int ahash_finup(struct ahash_request *areq) in ahash_finup() argument
1949 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in ahash_finup()
1953 return ahash_process_req(areq, areq->nbytes); in ahash_finup()
1956 static int ahash_digest(struct ahash_request *areq) in ahash_digest() argument
1958 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in ahash_digest()
1959 struct crypto_ahash *ahash = crypto_ahash_reqtfm(areq); in ahash_digest()
1961 ahash->init(areq); in ahash_digest()
1964 return ahash_process_req(areq, areq->nbytes); in ahash_digest()
1967 static int ahash_export(struct ahash_request *areq, void *out) in ahash_export() argument
1969 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in ahash_export()
1984 static int ahash_import(struct ahash_request *areq, const void *in) in ahash_import() argument
1986 struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq); in ahash_import()
1987 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in ahash_import()