• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/crypto/

Lines Matching defs:edesc

839 			     struct talitos_edesc *edesc,
843 unsigned int src_nents = edesc->src_nents ? : 1;
844 unsigned int dst_nents = edesc->dst_nents ? : 1;
847 if (edesc->src_is_chained)
853 if (edesc->dst_is_chained)
861 if (edesc->src_is_chained)
868 struct talitos_edesc *edesc,
871 unmap_single_talitos_ptr(dev, &edesc->desc.ptr[6], DMA_FROM_DEVICE);
872 unmap_single_talitos_ptr(dev, &edesc->desc.ptr[3], DMA_TO_DEVICE);
873 unmap_single_talitos_ptr(dev, &edesc->desc.ptr[2], DMA_TO_DEVICE);
874 unmap_single_talitos_ptr(dev, &edesc->desc.ptr[0], DMA_TO_DEVICE);
878 talitos_sg_unmap(dev, edesc, areq->src, areq->dst);
880 if (edesc->dma_len)
881 dma_unmap_single(dev, edesc->dma_link_tbl, edesc->dma_len,
895 struct talitos_edesc *edesc;
899 edesc = container_of(desc, struct talitos_edesc, desc);
901 ipsec_esp_unmap(dev, edesc, areq);
904 if (edesc->dma_len) {
905 icvdata = &edesc->link_tbl[edesc->src_nents +
906 edesc->dst_nents + 2];
907 sg = sg_last(areq->dst, edesc->dst_nents);
912 kfree(edesc);
924 struct talitos_edesc *edesc;
928 edesc = container_of(desc, struct talitos_edesc, desc);
930 ipsec_esp_unmap(dev, edesc, req);
934 if (edesc->dma_len)
935 icvdata = &edesc->link_tbl[edesc->src_nents +
936 edesc->dst_nents + 2];
938 icvdata = &edesc->link_tbl[0];
940 sg = sg_last(req->dst, edesc->dst_nents ? : 1);
945 kfree(edesc);
955 struct talitos_edesc *edesc;
957 edesc = container_of(desc, struct talitos_edesc, desc);
959 ipsec_esp_unmap(dev, edesc, req);
966 kfree(edesc);
1010 static int ipsec_esp(struct talitos_edesc *edesc, struct aead_request *areq,
1019 struct talitos_desc *desc = &edesc->desc;
1050 sg_count = talitos_map_sg(dev, areq->src, edesc->src_nents ? : 1,
1053 edesc->src_is_chained);
1060 if (edesc->desc.hdr & DESC_HDR_MODE1_MDEU_CICV)
1064 &edesc->link_tbl[0]);
1067 to_talitos_ptr(&desc->ptr[4], edesc->dma_link_tbl);
1068 dma_sync_single_for_device(dev, edesc->dma_link_tbl,
1069 edesc->dma_len,
1084 edesc->dst_nents ? : 1,
1086 edesc->dst_is_chained);
1092 &edesc->link_tbl[edesc->src_nents + 1];
1094 to_talitos_ptr(&desc->ptr[5], edesc->dma_link_tbl +
1095 (edesc->src_nents + 1) *
1109 to_talitos_ptr(link_tbl_ptr, edesc->dma_link_tbl +
1110 (edesc->src_nents + edesc->dst_nents + 2) *
1113 dma_sync_single_for_device(ctx->dev, edesc->dma_link_tbl,
1114 edesc->dma_len, DMA_BIDIRECTIONAL);
1123 ipsec_esp_unmap(dev, edesc, areq);
1124 kfree(edesc);
1219 struct talitos_edesc *edesc;
1246 * allocate space for base edesc plus the link tables,
1260 edesc = kmalloc(alloc_len, GFP_DMA | flags);
1261 if (!edesc) {
1266 edesc->src_nents = src_nents;
1267 edesc->dst_nents = dst_nents;
1268 edesc->src_is_chained = src_chained;
1269 edesc->dst_is_chained = dst_chained;
1270 edesc->dma_len = dma_len;
1272 edesc->dma_link_tbl = dma_map_single(dev, &edesc->link_tbl[0],
1273 edesc->dma_len,
1276 return edesc;
1294 struct talitos_edesc *edesc;
1297 edesc = aead_edesc_alloc(req, 0);
1298 if (IS_ERR(edesc))
1299 return PTR_ERR(edesc);
1302 edesc->desc.hdr = ctx->desc_hdr_template | DESC_HDR_MODE0_ENCRYPT;
1304 return ipsec_esp(edesc, req, NULL, 0, ipsec_esp_encrypt_done);
1313 struct talitos_edesc *edesc;
1320 edesc = aead_edesc_alloc(req, 1);
1321 if (IS_ERR(edesc))
1322 return PTR_ERR(edesc);
1325 ((!edesc->src_nents && !edesc->dst_nents) ||
1329 edesc->desc.hdr = ctx->desc_hdr_template |
1334 edesc->desc.hdr_lo = 0;
1336 return ipsec_esp(edesc, req, NULL, 0,
1342 edesc->desc.hdr = ctx->desc_hdr_template | DESC_HDR_DIR_INBOUND;
1345 if (edesc->dma_len)
1346 icvdata = &edesc->link_tbl[edesc->src_nents +
1347 edesc->dst_nents + 2];
1349 icvdata = &edesc->link_tbl[0];
1351 sg = sg_last(req->src, edesc->src_nents ? : 1);
1356 return ipsec_esp(edesc, req, NULL, 0, ipsec_esp_decrypt_swauth_done);
1364 struct talitos_edesc *edesc;
1367 edesc = aead_edesc_alloc(areq, 0);
1368 if (IS_ERR(edesc))
1369 return PTR_ERR(edesc);
1372 edesc->desc.hdr = ctx->desc_hdr_template | DESC_HDR_MODE0_ENCRYPT;
1378 return ipsec_esp(edesc, areq, req->giv, req->seq,
1405 struct talitos_edesc *edesc,
1408 unmap_single_talitos_ptr(dev, &edesc->desc.ptr[5], DMA_FROM_DEVICE);
1409 unmap_single_talitos_ptr(dev, &edesc->desc.ptr[2], DMA_TO_DEVICE);
1410 unmap_single_talitos_ptr(dev, &edesc->desc.ptr[1], DMA_TO_DEVICE);
1412 talitos_sg_unmap(dev, edesc, areq->src, areq->dst);
1414 if (edesc->dma_len)
1415 dma_unmap_single(dev, edesc->dma_link_tbl, edesc->dma_len,
1424 struct talitos_edesc *edesc;
1426 edesc = container_of(desc, struct talitos_edesc, desc);
1428 common_nonsnoop_unmap(dev, edesc, areq);
1430 kfree(edesc);
1435 static int common_nonsnoop(struct talitos_edesc *edesc,
1445 struct talitos_desc *desc = &edesc->desc;
1470 sg_count = talitos_map_sg(dev, areq->src, edesc->src_nents ? : 1,
1473 edesc->src_is_chained);
1479 &edesc->link_tbl[0]);
1481 to_talitos_ptr(&desc->ptr[3], edesc->dma_link_tbl);
1483 dma_sync_single_for_device(dev, edesc->dma_link_tbl,
1484 edesc->dma_len,
1499 edesc->dst_nents ? : 1,
1501 edesc->dst_is_chained);
1507 &edesc->link_tbl[edesc->src_nents + 1];
1509 to_talitos_ptr(&desc->ptr[4], edesc->dma_link_tbl +
1510 (edesc->src_nents + 1) *
1515 dma_sync_single_for_device(ctx->dev, edesc->dma_link_tbl,
1516 edesc->dma_len, DMA_BIDIRECTIONAL);
1530 common_nonsnoop_unmap(dev, edesc, areq);
1531 kfree(edesc);
1550 struct talitos_edesc *edesc;
1553 edesc = ablkcipher_edesc_alloc(areq);
1554 if (IS_ERR(edesc))
1555 return PTR_ERR(edesc);
1558 edesc->desc.hdr = ctx->desc_hdr_template | DESC_HDR_MODE0_ENCRYPT;
1560 return common_nonsnoop(edesc, areq, NULL, ablkcipher_done);
1567 struct talitos_edesc *edesc;
1570 edesc = ablkcipher_edesc_alloc(areq);
1571 if (IS_ERR(edesc))
1572 return PTR_ERR(edesc);
1574 edesc->desc.hdr = ctx->desc_hdr_template | DESC_HDR_DIR_INBOUND;
1576 return common_nonsnoop(edesc, areq, NULL, ablkcipher_done);
1580 struct talitos_edesc *edesc,
1585 unmap_single_talitos_ptr(dev, &edesc->desc.ptr[5], DMA_FROM_DEVICE);
1588 if (edesc->desc.ptr[1].len)
1589 unmap_single_talitos_ptr(dev, &edesc->desc.ptr[1],
1592 if (edesc->desc.ptr[2].len)
1593 unmap_single_talitos_ptr(dev, &edesc->desc.ptr[2],
1596 talitos_sg_unmap(dev, edesc, req_ctx->psrc, NULL);
1598 if (edesc->dma_len)
1599 dma_unmap_single(dev, edesc->dma_link_tbl, edesc->dma_len,
1609 struct talitos_edesc *edesc =
1618 common_nonsnoop_hash_unmap(dev, edesc, areq);
1620 kfree(edesc);
1625 static int common_nonsnoop_hash(struct talitos_edesc *edesc,
1635 struct talitos_desc *desc = &edesc->desc;
1668 edesc->src_nents ? : 1,
1670 edesc->src_is_chained);
1676 &edesc->link_tbl[0]);
1679 to_talitos_ptr(&desc->ptr[3], edesc->dma_link_tbl);
1681 edesc->dma_link_tbl,
1682 edesc->dma_len,
1709 common_nonsnoop_hash_unmap(dev, edesc, areq);
1710 kfree(edesc);
1775 struct talitos_edesc *edesc;
1828 edesc = ahash_edesc_alloc(areq, nbytes_to_hash);
1829 if (IS_ERR(edesc))
1830 return PTR_ERR(edesc);
1832 edesc->desc.hdr = ctx->desc_hdr_template;
1836 edesc->desc.hdr |= DESC_HDR_MODE0_MDEU_PAD;
1838 edesc->desc.hdr |= DESC_HDR_MODE0_MDEU_CONT;
1842 edesc->desc.hdr |= DESC_HDR_MODE0_MDEU_INIT;
1848 edesc->desc.hdr |= DESC_HDR_MODE0_MDEU_HMAC;
1850 return common_nonsnoop_hash(edesc, areq, nbytes_to_hash,