Searched refs:sha_dd (Results 1 - 1 of 1) sorted by relevance
/linux-4.1.27/drivers/crypto/ |
H A D | atmel-sha.c | 1146 struct atmel_sha_dev *sha_dd = dev_id; atmel_sha_irq() local 1149 reg = atmel_sha_read(sha_dd, SHA_ISR); atmel_sha_irq() 1150 if (reg & atmel_sha_read(sha_dd, SHA_IMR)) { atmel_sha_irq() 1151 atmel_sha_write(sha_dd, SHA_IDR, reg); atmel_sha_irq() 1152 if (SHA_FLAGS_BUSY & sha_dd->flags) { atmel_sha_irq() 1153 sha_dd->flags |= SHA_FLAGS_OUTPUT_READY; atmel_sha_irq() 1154 if (!(SHA_FLAGS_CPU & sha_dd->flags)) atmel_sha_irq() 1155 sha_dd->flags |= SHA_FLAGS_DMA_READY; atmel_sha_irq() 1156 tasklet_schedule(&sha_dd->done_task); atmel_sha_irq() 1158 dev_warn(sha_dd->dev, "SHA interrupt when no active requests.\n"); atmel_sha_irq() 1348 struct atmel_sha_dev *sha_dd; atmel_sha_probe() local 1354 sha_dd = devm_kzalloc(&pdev->dev, sizeof(*sha_dd), GFP_KERNEL); atmel_sha_probe() 1355 if (sha_dd == NULL) { atmel_sha_probe() 1361 sha_dd->dev = dev; atmel_sha_probe() 1363 platform_set_drvdata(pdev, sha_dd); atmel_sha_probe() 1365 INIT_LIST_HEAD(&sha_dd->list); atmel_sha_probe() 1366 spin_lock_init(&sha_dd->lock); atmel_sha_probe() 1368 tasklet_init(&sha_dd->done_task, atmel_sha_done_task, atmel_sha_probe() 1369 (unsigned long)sha_dd); atmel_sha_probe() 1371 crypto_init_queue(&sha_dd->queue, ATMEL_SHA_QUEUE_LENGTH); atmel_sha_probe() 1373 sha_dd->irq = -1; atmel_sha_probe() 1382 sha_dd->phys_base = sha_res->start; atmel_sha_probe() 1385 sha_dd->irq = platform_get_irq(pdev, 0); atmel_sha_probe() 1386 if (sha_dd->irq < 0) { atmel_sha_probe() 1388 err = sha_dd->irq; atmel_sha_probe() 1392 err = devm_request_irq(&pdev->dev, sha_dd->irq, atmel_sha_irq, atmel_sha_probe() 1393 IRQF_SHARED, "atmel-sha", sha_dd); atmel_sha_probe() 1400 sha_dd->iclk = devm_clk_get(&pdev->dev, "sha_clk"); atmel_sha_probe() 1401 if (IS_ERR(sha_dd->iclk)) { atmel_sha_probe() 1403 err = PTR_ERR(sha_dd->iclk); atmel_sha_probe() 1407 sha_dd->io_base = devm_ioremap_resource(&pdev->dev, sha_res); atmel_sha_probe() 1408 if (!sha_dd->io_base) { atmel_sha_probe() 1414 err = clk_prepare(sha_dd->iclk); atmel_sha_probe() 1418 atmel_sha_hw_version_init(sha_dd); atmel_sha_probe() 1420 atmel_sha_get_cap(sha_dd); atmel_sha_probe() 1422 if (sha_dd->caps.has_dma) { atmel_sha_probe() 1436 err = atmel_sha_dma_init(sha_dd, pdata); atmel_sha_probe() 1441 dma_chan_name(sha_dd->dma_lch_in.chan)); atmel_sha_probe() 1445 list_add_tail(&sha_dd->list, &atmel_sha.dev_list); atmel_sha_probe() 1448 err = atmel_sha_register_algs(sha_dd); atmel_sha_probe() 1453 sha_dd->caps.has_sha224 ? "/SHA224" : "", atmel_sha_probe() 1454 sha_dd->caps.has_sha_384_512 ? "/SHA384/SHA512" : ""); atmel_sha_probe() 1460 list_del(&sha_dd->list); atmel_sha_probe() 1462 if (sha_dd->caps.has_dma) atmel_sha_probe() 1463 atmel_sha_dma_cleanup(sha_dd); atmel_sha_probe() 1466 clk_unprepare(sha_dd->iclk); atmel_sha_probe() 1468 tasklet_kill(&sha_dd->done_task); atmel_sha_probe() 1477 static struct atmel_sha_dev *sha_dd; atmel_sha_remove() local 1479 sha_dd = platform_get_drvdata(pdev); atmel_sha_remove() 1480 if (!sha_dd) atmel_sha_remove() 1483 list_del(&sha_dd->list); atmel_sha_remove() 1486 atmel_sha_unregister_algs(sha_dd); atmel_sha_remove() 1488 tasklet_kill(&sha_dd->done_task); atmel_sha_remove() 1490 if (sha_dd->caps.has_dma) atmel_sha_remove() 1491 atmel_sha_dma_cleanup(sha_dd); atmel_sha_remove() 1493 clk_unprepare(sha_dd->iclk); atmel_sha_remove()
|
Completed in 52 milliseconds