Lines Matching refs:aes_dd

423 	struct atmel_aes_dev *aes_dd = NULL;  in atmel_aes_find_dev()  local
429 aes_dd = tmp; in atmel_aes_find_dev()
432 ctx->dd = aes_dd; in atmel_aes_find_dev()
434 aes_dd = ctx->dd; in atmel_aes_find_dev()
439 return aes_dd; in atmel_aes_find_dev()
2320 struct atmel_aes_dev *aes_dd = dev_id; in atmel_aes_irq() local
2323 reg = atmel_aes_read(aes_dd, AES_ISR); in atmel_aes_irq()
2324 if (reg & atmel_aes_read(aes_dd, AES_IMR)) { in atmel_aes_irq()
2325 atmel_aes_write(aes_dd, AES_IDR, reg); in atmel_aes_irq()
2326 if (AES_FLAGS_BUSY & aes_dd->flags) in atmel_aes_irq()
2327 tasklet_schedule(&aes_dd->done_task); in atmel_aes_irq()
2329 dev_warn(aes_dd->dev, "AES interrupt when no active requests.\n"); in atmel_aes_irq()
2486 struct atmel_aes_dev *aes_dd; in atmel_aes_probe() local
2491 aes_dd = devm_kzalloc(&pdev->dev, sizeof(*aes_dd), GFP_KERNEL); in atmel_aes_probe()
2492 if (!aes_dd) in atmel_aes_probe()
2495 aes_dd->dev = dev; in atmel_aes_probe()
2497 platform_set_drvdata(pdev, aes_dd); in atmel_aes_probe()
2499 INIT_LIST_HEAD(&aes_dd->list); in atmel_aes_probe()
2500 spin_lock_init(&aes_dd->lock); in atmel_aes_probe()
2502 tasklet_init(&aes_dd->done_task, atmel_aes_done_task, in atmel_aes_probe()
2503 (unsigned long)aes_dd); in atmel_aes_probe()
2504 tasklet_init(&aes_dd->queue_task, atmel_aes_queue_task, in atmel_aes_probe()
2505 (unsigned long)aes_dd); in atmel_aes_probe()
2507 crypto_init_queue(&aes_dd->queue, ATMEL_AES_QUEUE_LENGTH); in atmel_aes_probe()
2516 aes_dd->phys_base = aes_res->start; in atmel_aes_probe()
2519 aes_dd->irq = platform_get_irq(pdev, 0); in atmel_aes_probe()
2520 if (aes_dd->irq < 0) { in atmel_aes_probe()
2521 err = aes_dd->irq; in atmel_aes_probe()
2525 err = devm_request_irq(&pdev->dev, aes_dd->irq, atmel_aes_irq, in atmel_aes_probe()
2526 IRQF_SHARED, "atmel-aes", aes_dd); in atmel_aes_probe()
2533 aes_dd->iclk = devm_clk_get(&pdev->dev, "aes_clk"); in atmel_aes_probe()
2534 if (IS_ERR(aes_dd->iclk)) { in atmel_aes_probe()
2536 err = PTR_ERR(aes_dd->iclk); in atmel_aes_probe()
2540 aes_dd->io_base = devm_ioremap_resource(&pdev->dev, aes_res); in atmel_aes_probe()
2541 if (IS_ERR(aes_dd->io_base)) { in atmel_aes_probe()
2543 err = PTR_ERR(aes_dd->io_base); in atmel_aes_probe()
2547 err = clk_prepare(aes_dd->iclk); in atmel_aes_probe()
2551 err = atmel_aes_hw_version_init(aes_dd); in atmel_aes_probe()
2555 atmel_aes_get_cap(aes_dd); in atmel_aes_probe()
2558 if (aes_dd->caps.has_authenc && !atmel_sha_authenc_is_ready()) { in atmel_aes_probe()
2564 err = atmel_aes_buff_init(aes_dd); in atmel_aes_probe()
2568 err = atmel_aes_dma_init(aes_dd); in atmel_aes_probe()
2573 list_add_tail(&aes_dd->list, &atmel_aes.dev_list); in atmel_aes_probe()
2576 err = atmel_aes_register_algs(aes_dd); in atmel_aes_probe()
2581 dma_chan_name(aes_dd->src.chan), in atmel_aes_probe()
2582 dma_chan_name(aes_dd->dst.chan)); in atmel_aes_probe()
2588 list_del(&aes_dd->list); in atmel_aes_probe()
2590 atmel_aes_dma_cleanup(aes_dd); in atmel_aes_probe()
2592 atmel_aes_buff_cleanup(aes_dd); in atmel_aes_probe()
2594 clk_unprepare(aes_dd->iclk); in atmel_aes_probe()
2596 tasklet_kill(&aes_dd->done_task); in atmel_aes_probe()
2597 tasklet_kill(&aes_dd->queue_task); in atmel_aes_probe()
2604 struct atmel_aes_dev *aes_dd; in atmel_aes_remove() local
2606 aes_dd = platform_get_drvdata(pdev); in atmel_aes_remove()
2607 if (!aes_dd) in atmel_aes_remove()
2610 list_del(&aes_dd->list); in atmel_aes_remove()
2613 atmel_aes_unregister_algs(aes_dd); in atmel_aes_remove()
2615 tasklet_kill(&aes_dd->done_task); in atmel_aes_remove()
2616 tasklet_kill(&aes_dd->queue_task); in atmel_aes_remove()
2618 atmel_aes_dma_cleanup(aes_dd); in atmel_aes_remove()
2619 atmel_aes_buff_cleanup(aes_dd); in atmel_aes_remove()
2621 clk_unprepare(aes_dd->iclk); in atmel_aes_remove()