cesa              190 drivers/crypto/marvell/cesa.c static int mv_cesa_add_algs(struct mv_cesa_dev *cesa)
cesa              195 drivers/crypto/marvell/cesa.c 	for (i = 0; i < cesa->caps->ncipher_algs; i++) {
cesa              196 drivers/crypto/marvell/cesa.c 		ret = crypto_register_skcipher(cesa->caps->cipher_algs[i]);
cesa              201 drivers/crypto/marvell/cesa.c 	for (i = 0; i < cesa->caps->nahash_algs; i++) {
cesa              202 drivers/crypto/marvell/cesa.c 		ret = crypto_register_ahash(cesa->caps->ahash_algs[i]);
cesa              211 drivers/crypto/marvell/cesa.c 		crypto_unregister_ahash(cesa->caps->ahash_algs[j]);
cesa              212 drivers/crypto/marvell/cesa.c 	i = cesa->caps->ncipher_algs;
cesa              216 drivers/crypto/marvell/cesa.c 		crypto_unregister_skcipher(cesa->caps->cipher_algs[j]);
cesa              221 drivers/crypto/marvell/cesa.c static void mv_cesa_remove_algs(struct mv_cesa_dev *cesa)
cesa              225 drivers/crypto/marvell/cesa.c 	for (i = 0; i < cesa->caps->nahash_algs; i++)
cesa              226 drivers/crypto/marvell/cesa.c 		crypto_unregister_ahash(cesa->caps->ahash_algs[i]);
cesa              228 drivers/crypto/marvell/cesa.c 	for (i = 0; i < cesa->caps->ncipher_algs; i++)
cesa              229 drivers/crypto/marvell/cesa.c 		crypto_unregister_skcipher(cesa->caps->cipher_algs[i]);
cesa              337 drivers/crypto/marvell/cesa.c static int mv_cesa_dev_dma_init(struct mv_cesa_dev *cesa)
cesa              339 drivers/crypto/marvell/cesa.c 	struct device *dev = cesa->dev;
cesa              342 drivers/crypto/marvell/cesa.c 	if (!cesa->caps->has_tdma)
cesa              369 drivers/crypto/marvell/cesa.c 	cesa->dma = dma;
cesa              376 drivers/crypto/marvell/cesa.c 	struct mv_cesa_dev *cesa = platform_get_drvdata(pdev);
cesa              377 drivers/crypto/marvell/cesa.c 	struct mv_cesa_engine *engine = &cesa->engines[idx];
cesa              381 drivers/crypto/marvell/cesa.c 	engine->pool = of_gen_pool_get(cesa->dev->of_node,
cesa              385 drivers/crypto/marvell/cesa.c 						  cesa->sram_size,
cesa              394 drivers/crypto/marvell/cesa.c 	if (cesa->caps->nengines > 1) {
cesa              403 drivers/crypto/marvell/cesa.c 	if (!res || resource_size(res) < cesa->sram_size)
cesa              406 drivers/crypto/marvell/cesa.c 	engine->sram = devm_ioremap_resource(cesa->dev, res);
cesa              410 drivers/crypto/marvell/cesa.c 	engine->sram_dma = dma_map_resource(cesa->dev, res->start,
cesa              411 drivers/crypto/marvell/cesa.c 					    cesa->sram_size,
cesa              413 drivers/crypto/marvell/cesa.c 	if (dma_mapping_error(cesa->dev, engine->sram_dma))
cesa              421 drivers/crypto/marvell/cesa.c 	struct mv_cesa_dev *cesa = platform_get_drvdata(pdev);
cesa              422 drivers/crypto/marvell/cesa.c 	struct mv_cesa_engine *engine = &cesa->engines[idx];
cesa              426 drivers/crypto/marvell/cesa.c 			      cesa->sram_size);
cesa              428 drivers/crypto/marvell/cesa.c 		dma_unmap_resource(cesa->dev, engine->sram_dma,
cesa              429 drivers/crypto/marvell/cesa.c 				   cesa->sram_size, DMA_BIDIRECTIONAL, 0);
cesa              438 drivers/crypto/marvell/cesa.c 	struct mv_cesa_dev *cesa;
cesa              457 drivers/crypto/marvell/cesa.c 	cesa = devm_kzalloc(dev, sizeof(*cesa), GFP_KERNEL);
cesa              458 drivers/crypto/marvell/cesa.c 	if (!cesa)
cesa              461 drivers/crypto/marvell/cesa.c 	cesa->caps = caps;
cesa              462 drivers/crypto/marvell/cesa.c 	cesa->dev = dev;
cesa              465 drivers/crypto/marvell/cesa.c 	of_property_read_u32(cesa->dev->of_node, "marvell,crypto-sram-size",
cesa              470 drivers/crypto/marvell/cesa.c 	cesa->sram_size = sram_size;
cesa              471 drivers/crypto/marvell/cesa.c 	cesa->engines = devm_kcalloc(dev, caps->nengines, sizeof(*engines),
cesa              473 drivers/crypto/marvell/cesa.c 	if (!cesa->engines)
cesa              476 drivers/crypto/marvell/cesa.c 	spin_lock_init(&cesa->lock);
cesa              479 drivers/crypto/marvell/cesa.c 	cesa->regs = devm_ioremap_resource(dev, res);
cesa              480 drivers/crypto/marvell/cesa.c 	if (IS_ERR(cesa->regs))
cesa              481 drivers/crypto/marvell/cesa.c 		return PTR_ERR(cesa->regs);
cesa              483 drivers/crypto/marvell/cesa.c 	ret = mv_cesa_dev_dma_init(cesa);
cesa              489 drivers/crypto/marvell/cesa.c 	platform_set_drvdata(pdev, cesa);
cesa              492 drivers/crypto/marvell/cesa.c 		struct mv_cesa_engine *engine = &cesa->engines[i];
cesa              533 drivers/crypto/marvell/cesa.c 		engine->regs = cesa->regs + CESA_ENGINE_OFF(i);
cesa              535 drivers/crypto/marvell/cesa.c 		if (dram && cesa->caps->has_tdma)
cesa              556 drivers/crypto/marvell/cesa.c 	cesa_dev = cesa;
cesa              558 drivers/crypto/marvell/cesa.c 	ret = mv_cesa_add_algs(cesa);
cesa              570 drivers/crypto/marvell/cesa.c 		clk_disable_unprepare(cesa->engines[i].zclk);
cesa              571 drivers/crypto/marvell/cesa.c 		clk_disable_unprepare(cesa->engines[i].clk);
cesa              580 drivers/crypto/marvell/cesa.c 	struct mv_cesa_dev *cesa = platform_get_drvdata(pdev);
cesa              583 drivers/crypto/marvell/cesa.c 	mv_cesa_remove_algs(cesa);
cesa              585 drivers/crypto/marvell/cesa.c 	for (i = 0; i < cesa->caps->nengines; i++) {
cesa              586 drivers/crypto/marvell/cesa.c 		clk_disable_unprepare(cesa->engines[i].zclk);
cesa              587 drivers/crypto/marvell/cesa.c 		clk_disable_unprepare(cesa->engines[i].clk);