Lines Matching refs:tdes_dd
201 struct atmel_tdes_dev *tdes_dd = NULL; in atmel_tdes_find_dev() local
207 tdes_dd = tmp; in atmel_tdes_find_dev()
210 ctx->dd = tdes_dd; in atmel_tdes_find_dev()
212 tdes_dd = ctx->dd; in atmel_tdes_find_dev()
216 return tdes_dd; in atmel_tdes_find_dev()
1233 struct atmel_tdes_dev *tdes_dd = dev_id; in atmel_tdes_irq() local
1236 reg = atmel_tdes_read(tdes_dd, TDES_ISR); in atmel_tdes_irq()
1237 if (reg & atmel_tdes_read(tdes_dd, TDES_IMR)) { in atmel_tdes_irq()
1238 atmel_tdes_write(tdes_dd, TDES_IDR, reg); in atmel_tdes_irq()
1239 if (TDES_FLAGS_BUSY & tdes_dd->flags) in atmel_tdes_irq()
1240 tasklet_schedule(&tdes_dd->done_task); in atmel_tdes_irq()
1242 dev_warn(tdes_dd->dev, "TDES interrupt when no active requests.\n"); in atmel_tdes_irq()
1335 struct atmel_tdes_dev *tdes_dd; in atmel_tdes_probe() local
1341 tdes_dd = devm_kmalloc(&pdev->dev, sizeof(*tdes_dd), GFP_KERNEL); in atmel_tdes_probe()
1342 if (tdes_dd == NULL) { in atmel_tdes_probe()
1347 tdes_dd->dev = dev; in atmel_tdes_probe()
1349 platform_set_drvdata(pdev, tdes_dd); in atmel_tdes_probe()
1351 INIT_LIST_HEAD(&tdes_dd->list); in atmel_tdes_probe()
1352 spin_lock_init(&tdes_dd->lock); in atmel_tdes_probe()
1354 tasklet_init(&tdes_dd->done_task, atmel_tdes_done_task, in atmel_tdes_probe()
1355 (unsigned long)tdes_dd); in atmel_tdes_probe()
1356 tasklet_init(&tdes_dd->queue_task, atmel_tdes_queue_task, in atmel_tdes_probe()
1357 (unsigned long)tdes_dd); in atmel_tdes_probe()
1359 crypto_init_queue(&tdes_dd->queue, ATMEL_TDES_QUEUE_LENGTH); in atmel_tdes_probe()
1368 tdes_dd->phys_base = tdes_res->start; in atmel_tdes_probe()
1371 tdes_dd->irq = platform_get_irq(pdev, 0); in atmel_tdes_probe()
1372 if (tdes_dd->irq < 0) { in atmel_tdes_probe()
1374 err = tdes_dd->irq; in atmel_tdes_probe()
1378 err = devm_request_irq(&pdev->dev, tdes_dd->irq, atmel_tdes_irq, in atmel_tdes_probe()
1379 IRQF_SHARED, "atmel-tdes", tdes_dd); in atmel_tdes_probe()
1386 tdes_dd->iclk = devm_clk_get(&pdev->dev, "tdes_clk"); in atmel_tdes_probe()
1387 if (IS_ERR(tdes_dd->iclk)) { in atmel_tdes_probe()
1389 err = PTR_ERR(tdes_dd->iclk); in atmel_tdes_probe()
1393 tdes_dd->io_base = devm_ioremap_resource(&pdev->dev, tdes_res); in atmel_tdes_probe()
1394 if (IS_ERR(tdes_dd->io_base)) { in atmel_tdes_probe()
1396 err = PTR_ERR(tdes_dd->io_base); in atmel_tdes_probe()
1400 atmel_tdes_hw_version_init(tdes_dd); in atmel_tdes_probe()
1402 atmel_tdes_get_cap(tdes_dd); in atmel_tdes_probe()
1404 err = atmel_tdes_buff_init(tdes_dd); in atmel_tdes_probe()
1408 if (tdes_dd->caps.has_dma) { in atmel_tdes_probe()
1422 err = atmel_tdes_dma_init(tdes_dd, pdata); in atmel_tdes_probe()
1427 dma_chan_name(tdes_dd->dma_lch_in.chan), in atmel_tdes_probe()
1428 dma_chan_name(tdes_dd->dma_lch_out.chan)); in atmel_tdes_probe()
1432 list_add_tail(&tdes_dd->list, &atmel_tdes.dev_list); in atmel_tdes_probe()
1435 err = atmel_tdes_register_algs(tdes_dd); in atmel_tdes_probe()
1445 list_del(&tdes_dd->list); in atmel_tdes_probe()
1447 if (tdes_dd->caps.has_dma) in atmel_tdes_probe()
1448 atmel_tdes_dma_cleanup(tdes_dd); in atmel_tdes_probe()
1451 atmel_tdes_buff_cleanup(tdes_dd); in atmel_tdes_probe()
1454 tasklet_kill(&tdes_dd->done_task); in atmel_tdes_probe()
1455 tasklet_kill(&tdes_dd->queue_task); in atmel_tdes_probe()
1464 struct atmel_tdes_dev *tdes_dd; in atmel_tdes_remove() local
1466 tdes_dd = platform_get_drvdata(pdev); in atmel_tdes_remove()
1467 if (!tdes_dd) in atmel_tdes_remove()
1470 list_del(&tdes_dd->list); in atmel_tdes_remove()
1473 atmel_tdes_unregister_algs(tdes_dd); in atmel_tdes_remove()
1475 tasklet_kill(&tdes_dd->done_task); in atmel_tdes_remove()
1476 tasklet_kill(&tdes_dd->queue_task); in atmel_tdes_remove()
1478 if (tdes_dd->caps.has_dma) in atmel_tdes_remove()
1479 atmel_tdes_dma_cleanup(tdes_dd); in atmel_tdes_remove()
1481 atmel_tdes_buff_cleanup(tdes_dd); in atmel_tdes_remove()