Lines Matching refs:aes_dd

425 	struct atmel_aes_dev *aes_dd;  in atmel_aes_dev_alloc()  local
429 aes_dd = list_first_entry_or_null(&atmel_aes.dev_list, in atmel_aes_dev_alloc()
432 return aes_dd; in atmel_aes_dev_alloc()
2378 struct atmel_aes_dev *aes_dd = dev_id; in atmel_aes_irq() local
2381 reg = atmel_aes_read(aes_dd, AES_ISR); in atmel_aes_irq()
2382 if (reg & atmel_aes_read(aes_dd, AES_IMR)) { in atmel_aes_irq()
2383 atmel_aes_write(aes_dd, AES_IDR, reg); in atmel_aes_irq()
2384 if (AES_FLAGS_BUSY & aes_dd->flags) in atmel_aes_irq()
2385 tasklet_schedule(&aes_dd->done_task); in atmel_aes_irq()
2387 dev_warn(aes_dd->dev, "AES interrupt when no active requests.\n"); in atmel_aes_irq()
2544 struct atmel_aes_dev *aes_dd; in atmel_aes_probe() local
2549 aes_dd = devm_kzalloc(&pdev->dev, sizeof(*aes_dd), GFP_KERNEL); in atmel_aes_probe()
2550 if (!aes_dd) in atmel_aes_probe()
2553 aes_dd->dev = dev; in atmel_aes_probe()
2555 platform_set_drvdata(pdev, aes_dd); in atmel_aes_probe()
2557 INIT_LIST_HEAD(&aes_dd->list); in atmel_aes_probe()
2558 spin_lock_init(&aes_dd->lock); in atmel_aes_probe()
2560 tasklet_init(&aes_dd->done_task, atmel_aes_done_task, in atmel_aes_probe()
2561 (unsigned long)aes_dd); in atmel_aes_probe()
2562 tasklet_init(&aes_dd->queue_task, atmel_aes_queue_task, in atmel_aes_probe()
2563 (unsigned long)aes_dd); in atmel_aes_probe()
2565 crypto_init_queue(&aes_dd->queue, ATMEL_AES_QUEUE_LENGTH); in atmel_aes_probe()
2567 aes_dd->io_base = devm_platform_get_and_ioremap_resource(pdev, 0, &aes_res); in atmel_aes_probe()
2568 if (IS_ERR(aes_dd->io_base)) { in atmel_aes_probe()
2569 err = PTR_ERR(aes_dd->io_base); in atmel_aes_probe()
2572 aes_dd->phys_base = aes_res->start; in atmel_aes_probe()
2575 aes_dd->irq = platform_get_irq(pdev, 0); in atmel_aes_probe()
2576 if (aes_dd->irq < 0) { in atmel_aes_probe()
2577 err = aes_dd->irq; in atmel_aes_probe()
2581 err = devm_request_irq(&pdev->dev, aes_dd->irq, atmel_aes_irq, in atmel_aes_probe()
2582 IRQF_SHARED, "atmel-aes", aes_dd); in atmel_aes_probe()
2589 aes_dd->iclk = devm_clk_get(&pdev->dev, "aes_clk"); in atmel_aes_probe()
2590 if (IS_ERR(aes_dd->iclk)) { in atmel_aes_probe()
2592 err = PTR_ERR(aes_dd->iclk); in atmel_aes_probe()
2596 err = clk_prepare(aes_dd->iclk); in atmel_aes_probe()
2600 err = atmel_aes_hw_version_init(aes_dd); in atmel_aes_probe()
2604 atmel_aes_get_cap(aes_dd); in atmel_aes_probe()
2607 if (aes_dd->caps.has_authenc && !atmel_sha_authenc_is_ready()) { in atmel_aes_probe()
2613 err = atmel_aes_buff_init(aes_dd); in atmel_aes_probe()
2617 err = atmel_aes_dma_init(aes_dd); in atmel_aes_probe()
2622 list_add_tail(&aes_dd->list, &atmel_aes.dev_list); in atmel_aes_probe()
2625 err = atmel_aes_register_algs(aes_dd); in atmel_aes_probe()
2630 dma_chan_name(aes_dd->src.chan), in atmel_aes_probe()
2631 dma_chan_name(aes_dd->dst.chan)); in atmel_aes_probe()
2637 list_del(&aes_dd->list); in atmel_aes_probe()
2639 atmel_aes_dma_cleanup(aes_dd); in atmel_aes_probe()
2641 atmel_aes_buff_cleanup(aes_dd); in atmel_aes_probe()
2643 clk_unprepare(aes_dd->iclk); in atmel_aes_probe()
2645 tasklet_kill(&aes_dd->done_task); in atmel_aes_probe()
2646 tasklet_kill(&aes_dd->queue_task); in atmel_aes_probe()
2653 struct atmel_aes_dev *aes_dd; in atmel_aes_remove() local
2655 aes_dd = platform_get_drvdata(pdev); in atmel_aes_remove()
2658 list_del(&aes_dd->list); in atmel_aes_remove()
2661 atmel_aes_unregister_algs(aes_dd); in atmel_aes_remove()
2663 tasklet_kill(&aes_dd->done_task); in atmel_aes_remove()
2664 tasklet_kill(&aes_dd->queue_task); in atmel_aes_remove()
2666 atmel_aes_dma_cleanup(aes_dd); in atmel_aes_remove()
2667 atmel_aes_buff_cleanup(aes_dd); in atmel_aes_remove()
2669 clk_unprepare(aes_dd->iclk); in atmel_aes_remove()