Lines Matching refs:aes_dev

40  * @aes_dev:		The OCS AES device.
48 struct ocs_aes_dev *aes_dev;
121 struct ocs_aes_dev *aes_dev;
125 if (tctx->aes_dev) {
126 aes_dev = tctx->aes_dev;
131 aes_dev = list_first_entry(&ocs_aes.dev_list, struct ocs_aes_dev, list);
132 tctx->aes_dev = aes_dev;
137 return aes_dev;
316 struct ocs_aes_dev *aes_dev;
350 aes_dev = kmb_ocs_aes_find_dev(tctx);
351 if (!aes_dev)
361 return crypto_transfer_skcipher_request_to_engine(aes_dev->engine, req);
379 struct device *dev = tctx->aes_dev->dev;
424 rctx->dst_dma_count = dma_map_sg(tctx->aes_dev->dev, req->dst,
427 dev_err(tctx->aes_dev->dev, "Failed to map destination sg\n");
432 rc = ocs_create_linked_list_from_sg(tctx->aes_dev, req->dst,
459 rctx->src_dma_count = dma_map_sg(tctx->aes_dev->dev, req->src,
462 dev_err(tctx->aes_dev->dev, "Failed to map source sg\n");
467 rc = ocs_create_linked_list_from_sg(tctx->aes_dev, req->src,
474 rctx->dst_dma_count = dma_map_sg(tctx->aes_dev->dev, req->dst,
477 dev_err(tctx->aes_dev->dev, "Failed to map destination sg\n");
482 rc = ocs_create_linked_list_from_sg(tctx->aes_dev, req->dst,
499 rc = ocs_aes_bypass_op(tctx->aes_dev, rctx->dst_dll.dma_addr,
519 struct ocs_aes_dev *aes_dev = tctx->aes_dev;
549 rc = ocs_aes_op(aes_dev, rctx->mode, tctx->cipher, rctx->instruction,
686 struct device *dev = tctx->aes_dev->dev;
790 rctx->dst_dma_count = dma_map_sg(tctx->aes_dev->dev, req->dst,
795 dev_err(tctx->aes_dev->dev, "Failed to map destination sg\n");
800 rc = ocs_create_linked_list_from_sg(tctx->aes_dev, req->dst,
808 rc = ocs_create_linked_list_from_sg(tctx->aes_dev, req->dst,
833 rc = ocs_create_linked_list_from_sg(tctx->aes_dev, req->dst,
839 rc = ocs_create_linked_list_from_sg(tctx->aes_dev, req->dst,
851 rctx->src_dma_count = dma_map_sg(tctx->aes_dev->dev, req->src,
854 dev_err(tctx->aes_dev->dev, "Failed to map source sg\n");
859 rc = ocs_create_linked_list_from_sg(tctx->aes_dev, req->src,
867 rc = ocs_create_linked_list_from_sg(tctx->aes_dev, req->src,
878 rc = ocs_aes_bypass_op(tctx->aes_dev, rctx->aad_dst_dll.dma_addr,
881 dev_err(tctx->aes_dev->dev,
901 rc = ocs_aes_ccm_op(tctx->aes_dev, tctx->cipher,
910 rc = ocs_aes_gcm_op(tctx->aes_dev, tctx->cipher,
954 if (!tctx->aes_dev) {
959 err = ocs_aes_set_key(tctx->aes_dev, tctx->key_len, tctx->key,
980 if (!tctx->aes_dev)
983 err = ocs_aes_set_key(tctx->aes_dev, tctx->key_len, tctx->key,
991 crypto_finalize_aead_request(tctx->aes_dev->engine, req, err);
1178 if (tctx->aes_dev)
1179 ocs_aes_set_key(tctx->aes_dev, OCS_AES_KEYSIZE_256,
1532 static void unregister_aes_algs(struct ocs_aes_dev *aes_dev)
1538 static int register_aes_algs(struct ocs_aes_dev *aes_dev)
1567 struct ocs_aes_dev *aes_dev;
1569 aes_dev = platform_get_drvdata(pdev);
1571 unregister_aes_algs(aes_dev);
1574 list_del(&aes_dev->list);
1577 crypto_engine_exit(aes_dev->engine);
1583 struct ocs_aes_dev *aes_dev;
1586 aes_dev = devm_kzalloc(dev, sizeof(*aes_dev), GFP_KERNEL);
1587 if (!aes_dev)
1590 aes_dev->dev = dev;
1592 platform_set_drvdata(pdev, aes_dev);
1601 aes_dev->base_reg = devm_platform_ioremap_resource(pdev, 0);
1602 if (IS_ERR(aes_dev->base_reg))
1603 return PTR_ERR(aes_dev->base_reg);
1606 aes_dev->irq = platform_get_irq(pdev, 0);
1607 if (aes_dev->irq < 0)
1608 return aes_dev->irq;
1610 rc = devm_request_threaded_irq(dev, aes_dev->irq, ocs_aes_irq_handler,
1611 NULL, 0, "keembay-ocs-aes", aes_dev);
1617 INIT_LIST_HEAD(&aes_dev->list);
1619 list_add_tail(&aes_dev->list, &ocs_aes.dev_list);
1622 init_completion(&aes_dev->irq_completion);
1625 aes_dev->engine = crypto_engine_alloc_init(dev, true);
1626 if (!aes_dev->engine) {
1631 rc = crypto_engine_start(aes_dev->engine);
1637 rc = register_aes_algs(aes_dev);
1647 crypto_engine_exit(aes_dev->engine);
1650 list_del(&aes_dev->list);