Lines Matching refs:edesc

813 		       struct aead_edesc *edesc,  in aead_unmap()  argument
817 edesc->src_nents, edesc->dst_nents, 0, 0, DMA_NONE, in aead_unmap()
818 edesc->sec4_sg_dma, edesc->sec4_sg_bytes); in aead_unmap()
822 struct ablkcipher_edesc *edesc, in ablkcipher_unmap() argument
829 edesc->src_nents, edesc->dst_nents, in ablkcipher_unmap()
830 edesc->iv_dma, ivsize, edesc->iv_dir, in ablkcipher_unmap()
831 edesc->sec4_sg_dma, edesc->sec4_sg_bytes); in ablkcipher_unmap()
838 struct aead_edesc *edesc; in aead_encrypt_done() local
844 edesc = container_of(desc, struct aead_edesc, hw_desc[0]); in aead_encrypt_done()
849 aead_unmap(jrdev, edesc, req); in aead_encrypt_done()
851 kfree(edesc); in aead_encrypt_done()
860 struct aead_edesc *edesc; in aead_decrypt_done() local
866 edesc = container_of(desc, struct aead_edesc, hw_desc[0]); in aead_decrypt_done()
871 aead_unmap(jrdev, edesc, req); in aead_decrypt_done()
879 kfree(edesc); in aead_decrypt_done()
888 struct ablkcipher_edesc *edesc; in ablkcipher_encrypt_done() local
896 edesc = container_of(desc, struct ablkcipher_edesc, hw_desc[0]); in ablkcipher_encrypt_done()
904 edesc->src_nents > 1 ? 100 : ivsize, 1); in ablkcipher_encrypt_done()
908 edesc->dst_nents > 1 ? 100 : req->nbytes, 1); in ablkcipher_encrypt_done()
910 ablkcipher_unmap(jrdev, edesc, req); in ablkcipher_encrypt_done()
920 if (edesc->iv_dir == DMA_FROM_DEVICE) { in ablkcipher_encrypt_done()
926 iv = (u8 *)edesc->hw_desc + desc_bytes(edesc->hw_desc) + in ablkcipher_encrypt_done()
927 edesc->sec4_sg_bytes; in ablkcipher_encrypt_done()
931 kfree(edesc); in ablkcipher_encrypt_done()
940 struct ablkcipher_edesc *edesc; in ablkcipher_decrypt_done() local
948 edesc = container_of(desc, struct ablkcipher_edesc, hw_desc[0]); in ablkcipher_decrypt_done()
959 edesc->dst_nents > 1 ? 100 : req->nbytes, 1); in ablkcipher_decrypt_done()
961 ablkcipher_unmap(jrdev, edesc, req); in ablkcipher_decrypt_done()
962 kfree(edesc); in ablkcipher_decrypt_done()
971 struct aead_edesc *edesc, in init_aead_job() argument
977 u32 *desc = edesc->hw_desc; in init_aead_job()
991 src_dma = edesc->src_nents ? sg_dma_address(req->src) : 0; in init_aead_job()
994 src_dma = edesc->sec4_sg_dma; in init_aead_job()
995 sec4_sg_index += edesc->src_nents; in init_aead_job()
1006 if (edesc->dst_nents == 1) { in init_aead_job()
1009 dst_dma = edesc->sec4_sg_dma + in init_aead_job()
1027 struct aead_edesc *edesc, in init_gcm_job() argument
1033 u32 *desc = edesc->hw_desc; in init_gcm_job()
1037 init_aead_job(req, edesc, all_contig, encrypt); in init_gcm_job()
1057 struct aead_edesc *edesc, in init_authenc_job() argument
1069 u32 *desc = edesc->hw_desc; in init_authenc_job()
1087 init_aead_job(req, edesc, all_contig, encrypt); in init_authenc_job()
1109 struct ablkcipher_edesc *edesc, in init_ablkcipher_job() argument
1114 u32 *desc = edesc->hw_desc; in init_ablkcipher_job()
1124 (int)edesc->src_nents > 1 ? 100 : req->nbytes, req->nbytes); in init_ablkcipher_job()
1128 edesc->src_nents > 1 ? 100 : req->nbytes, 1); in init_ablkcipher_job()
1133 append_seq_in_ptr(desc, edesc->sec4_sg_dma, req->nbytes + ivsize, in init_ablkcipher_job()
1137 dst_dma = edesc->sec4_sg_dma + sizeof(struct sec4_sg_entry); in init_ablkcipher_job()
1140 if (edesc->dst_nents == 1) { in init_ablkcipher_job()
1143 dst_dma = edesc->sec4_sg_dma + (edesc->src_nents + 1) * in init_ablkcipher_job()
1155 struct ablkcipher_edesc *edesc, in init_ablkcipher_giv_job() argument
1160 u32 *desc = edesc->hw_desc; in init_ablkcipher_giv_job()
1172 edesc->src_nents > 1 ? 100 : req->nbytes, 1); in init_ablkcipher_giv_job()
1177 if (edesc->src_nents == 1) { in init_ablkcipher_giv_job()
1181 src_dma = edesc->sec4_sg_dma; in init_ablkcipher_giv_job()
1182 sec4_sg_index += edesc->src_nents; in init_ablkcipher_giv_job()
1187 dst_dma = edesc->sec4_sg_dma + sec4_sg_index * in init_ablkcipher_giv_job()
1205 struct aead_edesc *edesc; in aead_edesc_alloc() local
1274 edesc = kzalloc(sizeof(*edesc) + desc_bytes + sec4_sg_bytes, in aead_edesc_alloc()
1276 if (!edesc) { in aead_edesc_alloc()
1282 edesc->src_nents = src_nents; in aead_edesc_alloc()
1283 edesc->dst_nents = dst_nents; in aead_edesc_alloc()
1284 edesc->sec4_sg = (void *)edesc + sizeof(struct aead_edesc) + in aead_edesc_alloc()
1291 edesc->sec4_sg + sec4_sg_index, 0); in aead_edesc_alloc()
1296 edesc->sec4_sg + sec4_sg_index, 0); in aead_edesc_alloc()
1300 return edesc; in aead_edesc_alloc()
1302 edesc->sec4_sg_dma = dma_map_single(jrdev, edesc->sec4_sg, in aead_edesc_alloc()
1304 if (dma_mapping_error(jrdev, edesc->sec4_sg_dma)) { in aead_edesc_alloc()
1306 aead_unmap(jrdev, edesc, req); in aead_edesc_alloc()
1307 kfree(edesc); in aead_edesc_alloc()
1311 edesc->sec4_sg_bytes = sec4_sg_bytes; in aead_edesc_alloc()
1313 return edesc; in aead_edesc_alloc()
1318 struct aead_edesc *edesc; in gcm_encrypt() local
1327 edesc = aead_edesc_alloc(req, GCM_DESC_JOB_IO_LEN, &all_contig, true); in gcm_encrypt()
1328 if (IS_ERR(edesc)) in gcm_encrypt()
1329 return PTR_ERR(edesc); in gcm_encrypt()
1332 init_gcm_job(req, edesc, all_contig, true); in gcm_encrypt()
1335 DUMP_PREFIX_ADDRESS, 16, 4, edesc->hw_desc, in gcm_encrypt()
1336 desc_bytes(edesc->hw_desc), 1); in gcm_encrypt()
1339 desc = edesc->hw_desc; in gcm_encrypt()
1344 aead_unmap(jrdev, edesc, req); in gcm_encrypt()
1345 kfree(edesc); in gcm_encrypt()
1361 struct aead_edesc *edesc; in aead_encrypt() local
1370 edesc = aead_edesc_alloc(req, AUTHENC_DESC_JOB_IO_LEN, in aead_encrypt()
1372 if (IS_ERR(edesc)) in aead_encrypt()
1373 return PTR_ERR(edesc); in aead_encrypt()
1376 init_authenc_job(req, edesc, all_contig, true); in aead_encrypt()
1379 DUMP_PREFIX_ADDRESS, 16, 4, edesc->hw_desc, in aead_encrypt()
1380 desc_bytes(edesc->hw_desc), 1); in aead_encrypt()
1383 desc = edesc->hw_desc; in aead_encrypt()
1388 aead_unmap(jrdev, edesc, req); in aead_encrypt()
1389 kfree(edesc); in aead_encrypt()
1397 struct aead_edesc *edesc; in gcm_decrypt() local
1406 edesc = aead_edesc_alloc(req, GCM_DESC_JOB_IO_LEN, &all_contig, false); in gcm_decrypt()
1407 if (IS_ERR(edesc)) in gcm_decrypt()
1408 return PTR_ERR(edesc); in gcm_decrypt()
1411 init_gcm_job(req, edesc, all_contig, false); in gcm_decrypt()
1414 DUMP_PREFIX_ADDRESS, 16, 4, edesc->hw_desc, in gcm_decrypt()
1415 desc_bytes(edesc->hw_desc), 1); in gcm_decrypt()
1418 desc = edesc->hw_desc; in gcm_decrypt()
1423 aead_unmap(jrdev, edesc, req); in gcm_decrypt()
1424 kfree(edesc); in gcm_decrypt()
1440 struct aead_edesc *edesc; in aead_decrypt() local
1453 edesc = aead_edesc_alloc(req, AUTHENC_DESC_JOB_IO_LEN, in aead_decrypt()
1455 if (IS_ERR(edesc)) in aead_decrypt()
1456 return PTR_ERR(edesc); in aead_decrypt()
1459 init_authenc_job(req, edesc, all_contig, false); in aead_decrypt()
1462 DUMP_PREFIX_ADDRESS, 16, 4, edesc->hw_desc, in aead_decrypt()
1463 desc_bytes(edesc->hw_desc), 1); in aead_decrypt()
1466 desc = edesc->hw_desc; in aead_decrypt()
1471 aead_unmap(jrdev, edesc, req); in aead_decrypt()
1472 kfree(edesc); in aead_decrypt()
1490 struct ablkcipher_edesc *edesc; in ablkcipher_edesc_alloc() local
1544 edesc = kzalloc(sizeof(*edesc) + desc_bytes + sec4_sg_bytes + ivsize, in ablkcipher_edesc_alloc()
1546 if (!edesc) { in ablkcipher_edesc_alloc()
1553 edesc->src_nents = src_nents; in ablkcipher_edesc_alloc()
1554 edesc->dst_nents = dst_nents; in ablkcipher_edesc_alloc()
1555 edesc->sec4_sg_bytes = sec4_sg_bytes; in ablkcipher_edesc_alloc()
1556 edesc->sec4_sg = (struct sec4_sg_entry *)((u8 *)edesc->hw_desc + in ablkcipher_edesc_alloc()
1558 edesc->iv_dir = DMA_TO_DEVICE; in ablkcipher_edesc_alloc()
1561 iv = (u8 *)edesc->hw_desc + desc_bytes + sec4_sg_bytes; in ablkcipher_edesc_alloc()
1569 kfree(edesc); in ablkcipher_edesc_alloc()
1573 dma_to_sec4_sg_one(edesc->sec4_sg, iv_dma, ivsize, 0); in ablkcipher_edesc_alloc()
1574 sg_to_sec4_sg_last(req->src, mapped_src_nents, edesc->sec4_sg + 1, 0); in ablkcipher_edesc_alloc()
1578 edesc->sec4_sg + dst_sg_idx, 0); in ablkcipher_edesc_alloc()
1581 edesc->sec4_sg_dma = dma_map_single(jrdev, edesc->sec4_sg, in ablkcipher_edesc_alloc()
1583 if (dma_mapping_error(jrdev, edesc->sec4_sg_dma)) { in ablkcipher_edesc_alloc()
1587 kfree(edesc); in ablkcipher_edesc_alloc()
1591 edesc->iv_dma = iv_dma; in ablkcipher_edesc_alloc()
1595 DUMP_PREFIX_ADDRESS, 16, 4, edesc->sec4_sg, in ablkcipher_edesc_alloc()
1599 return edesc; in ablkcipher_edesc_alloc()
1604 struct ablkcipher_edesc *edesc; in ablkcipher_encrypt() local
1612 edesc = ablkcipher_edesc_alloc(req, DESC_JOB_IO_LEN * CAAM_CMD_SZ); in ablkcipher_encrypt()
1613 if (IS_ERR(edesc)) in ablkcipher_encrypt()
1614 return PTR_ERR(edesc); in ablkcipher_encrypt()
1617 init_ablkcipher_job(ctx->sh_desc_enc, ctx->sh_desc_enc_dma, edesc, req); in ablkcipher_encrypt()
1620 DUMP_PREFIX_ADDRESS, 16, 4, edesc->hw_desc, in ablkcipher_encrypt()
1621 desc_bytes(edesc->hw_desc), 1); in ablkcipher_encrypt()
1623 desc = edesc->hw_desc; in ablkcipher_encrypt()
1629 ablkcipher_unmap(jrdev, edesc, req); in ablkcipher_encrypt()
1630 kfree(edesc); in ablkcipher_encrypt()
1638 struct ablkcipher_edesc *edesc; in ablkcipher_decrypt() local
1647 edesc = ablkcipher_edesc_alloc(req, DESC_JOB_IO_LEN * CAAM_CMD_SZ); in ablkcipher_decrypt()
1648 if (IS_ERR(edesc)) in ablkcipher_decrypt()
1649 return PTR_ERR(edesc); in ablkcipher_decrypt()
1659 init_ablkcipher_job(ctx->sh_desc_dec, ctx->sh_desc_dec_dma, edesc, req); in ablkcipher_decrypt()
1660 desc = edesc->hw_desc; in ablkcipher_decrypt()
1663 DUMP_PREFIX_ADDRESS, 16, 4, edesc->hw_desc, in ablkcipher_decrypt()
1664 desc_bytes(edesc->hw_desc), 1); in ablkcipher_decrypt()
1671 ablkcipher_unmap(jrdev, edesc, req); in ablkcipher_decrypt()
1672 kfree(edesc); in ablkcipher_decrypt()
1693 struct ablkcipher_edesc *edesc; in ablkcipher_giv_edesc_alloc() local
1748 edesc = kzalloc(sizeof(*edesc) + desc_bytes + sec4_sg_bytes + ivsize, in ablkcipher_giv_edesc_alloc()
1750 if (!edesc) { in ablkcipher_giv_edesc_alloc()
1757 edesc->src_nents = src_nents; in ablkcipher_giv_edesc_alloc()
1758 edesc->dst_nents = dst_nents; in ablkcipher_giv_edesc_alloc()
1759 edesc->sec4_sg_bytes = sec4_sg_bytes; in ablkcipher_giv_edesc_alloc()
1760 edesc->sec4_sg = (struct sec4_sg_entry *)((u8 *)edesc->hw_desc + in ablkcipher_giv_edesc_alloc()
1762 edesc->iv_dir = DMA_FROM_DEVICE; in ablkcipher_giv_edesc_alloc()
1765 iv = (u8 *)edesc->hw_desc + desc_bytes + sec4_sg_bytes; in ablkcipher_giv_edesc_alloc()
1771 kfree(edesc); in ablkcipher_giv_edesc_alloc()
1776 sg_to_sec4_sg_last(req->src, mapped_src_nents, edesc->sec4_sg, in ablkcipher_giv_edesc_alloc()
1779 dma_to_sec4_sg_one(edesc->sec4_sg + dst_sg_idx, iv_dma, ivsize, 0); in ablkcipher_giv_edesc_alloc()
1780 sg_to_sec4_sg_last(req->dst, mapped_dst_nents, edesc->sec4_sg + in ablkcipher_giv_edesc_alloc()
1783 edesc->sec4_sg_dma = dma_map_single(jrdev, edesc->sec4_sg, in ablkcipher_giv_edesc_alloc()
1785 if (dma_mapping_error(jrdev, edesc->sec4_sg_dma)) { in ablkcipher_giv_edesc_alloc()
1789 kfree(edesc); in ablkcipher_giv_edesc_alloc()
1792 edesc->iv_dma = iv_dma; in ablkcipher_giv_edesc_alloc()
1797 DUMP_PREFIX_ADDRESS, 16, 4, edesc->sec4_sg, in ablkcipher_giv_edesc_alloc()
1801 return edesc; in ablkcipher_giv_edesc_alloc()
1807 struct ablkcipher_edesc *edesc; in ablkcipher_givencrypt() local
1815 edesc = ablkcipher_giv_edesc_alloc(creq, DESC_JOB_IO_LEN * CAAM_CMD_SZ); in ablkcipher_givencrypt()
1816 if (IS_ERR(edesc)) in ablkcipher_givencrypt()
1817 return PTR_ERR(edesc); in ablkcipher_givencrypt()
1821 edesc, req); in ablkcipher_givencrypt()
1825 DUMP_PREFIX_ADDRESS, 16, 4, edesc->hw_desc, in ablkcipher_givencrypt()
1826 desc_bytes(edesc->hw_desc), 1); in ablkcipher_givencrypt()
1828 desc = edesc->hw_desc; in ablkcipher_givencrypt()
1834 ablkcipher_unmap(jrdev, edesc, req); in ablkcipher_givencrypt()
1835 kfree(edesc); in ablkcipher_givencrypt()