Lines Matching refs:aes_dd
242 struct atmel_aes_dev *aes_dd = NULL; in atmel_aes_find_dev() local
248 aes_dd = tmp; in atmel_aes_find_dev()
251 ctx->dd = aes_dd; in atmel_aes_find_dev()
253 aes_dd = ctx->dd; in atmel_aes_find_dev()
258 return aes_dd; in atmel_aes_find_dev()
1200 struct atmel_aes_dev *aes_dd = dev_id; in atmel_aes_irq() local
1203 reg = atmel_aes_read(aes_dd, AES_ISR); in atmel_aes_irq()
1204 if (reg & atmel_aes_read(aes_dd, AES_IMR)) { in atmel_aes_irq()
1205 atmel_aes_write(aes_dd, AES_IDR, reg); in atmel_aes_irq()
1206 if (AES_FLAGS_BUSY & aes_dd->flags) in atmel_aes_irq()
1207 tasklet_schedule(&aes_dd->done_task); in atmel_aes_irq()
1209 dev_warn(aes_dd->dev, "AES interrupt when no active requests.\n"); in atmel_aes_irq()
1323 struct atmel_aes_dev *aes_dd; in atmel_aes_probe() local
1343 aes_dd = devm_kzalloc(&pdev->dev, sizeof(*aes_dd), GFP_KERNEL); in atmel_aes_probe()
1344 if (aes_dd == NULL) { in atmel_aes_probe()
1350 aes_dd->dev = dev; in atmel_aes_probe()
1352 platform_set_drvdata(pdev, aes_dd); in atmel_aes_probe()
1354 INIT_LIST_HEAD(&aes_dd->list); in atmel_aes_probe()
1355 spin_lock_init(&aes_dd->lock); in atmel_aes_probe()
1357 tasklet_init(&aes_dd->done_task, atmel_aes_done_task, in atmel_aes_probe()
1358 (unsigned long)aes_dd); in atmel_aes_probe()
1359 tasklet_init(&aes_dd->queue_task, atmel_aes_queue_task, in atmel_aes_probe()
1360 (unsigned long)aes_dd); in atmel_aes_probe()
1362 crypto_init_queue(&aes_dd->queue, ATMEL_AES_QUEUE_LENGTH); in atmel_aes_probe()
1364 aes_dd->irq = -1; in atmel_aes_probe()
1373 aes_dd->phys_base = aes_res->start; in atmel_aes_probe()
1376 aes_dd->irq = platform_get_irq(pdev, 0); in atmel_aes_probe()
1377 if (aes_dd->irq < 0) { in atmel_aes_probe()
1379 err = aes_dd->irq; in atmel_aes_probe()
1383 err = devm_request_irq(&pdev->dev, aes_dd->irq, atmel_aes_irq, in atmel_aes_probe()
1384 IRQF_SHARED, "atmel-aes", aes_dd); in atmel_aes_probe()
1391 aes_dd->iclk = devm_clk_get(&pdev->dev, "aes_clk"); in atmel_aes_probe()
1392 if (IS_ERR(aes_dd->iclk)) { in atmel_aes_probe()
1394 err = PTR_ERR(aes_dd->iclk); in atmel_aes_probe()
1398 aes_dd->io_base = devm_ioremap_resource(&pdev->dev, aes_res); in atmel_aes_probe()
1399 if (!aes_dd->io_base) { in atmel_aes_probe()
1405 atmel_aes_hw_version_init(aes_dd); in atmel_aes_probe()
1407 atmel_aes_get_cap(aes_dd); in atmel_aes_probe()
1409 err = atmel_aes_buff_init(aes_dd); in atmel_aes_probe()
1413 err = atmel_aes_dma_init(aes_dd, pdata); in atmel_aes_probe()
1418 list_add_tail(&aes_dd->list, &atmel_aes.dev_list); in atmel_aes_probe()
1421 err = atmel_aes_register_algs(aes_dd); in atmel_aes_probe()
1426 dma_chan_name(aes_dd->dma_lch_in.chan), in atmel_aes_probe()
1427 dma_chan_name(aes_dd->dma_lch_out.chan)); in atmel_aes_probe()
1433 list_del(&aes_dd->list); in atmel_aes_probe()
1435 atmel_aes_dma_cleanup(aes_dd); in atmel_aes_probe()
1437 atmel_aes_buff_cleanup(aes_dd); in atmel_aes_probe()
1440 tasklet_kill(&aes_dd->done_task); in atmel_aes_probe()
1441 tasklet_kill(&aes_dd->queue_task); in atmel_aes_probe()
1450 static struct atmel_aes_dev *aes_dd; in atmel_aes_remove() local
1452 aes_dd = platform_get_drvdata(pdev); in atmel_aes_remove()
1453 if (!aes_dd) in atmel_aes_remove()
1456 list_del(&aes_dd->list); in atmel_aes_remove()
1459 atmel_aes_unregister_algs(aes_dd); in atmel_aes_remove()
1461 tasklet_kill(&aes_dd->done_task); in atmel_aes_remove()
1462 tasklet_kill(&aes_dd->queue_task); in atmel_aes_remove()
1464 atmel_aes_dma_cleanup(aes_dd); in atmel_aes_remove()