Lines Matching refs:core_dev
170 dev->pdr = dma_alloc_coherent(dev->core_dev->device, in crypto4xx_build_pdr()
179 dma_free_coherent(dev->core_dev->device, in crypto4xx_build_pdr()
185 dev->shadow_sa_pool = dma_alloc_coherent(dev->core_dev->device, in crypto4xx_build_pdr()
192 dev->shadow_sr_pool = dma_alloc_coherent(dev->core_dev->device, in crypto4xx_build_pdr()
219 dma_free_coherent(dev->core_dev->device, in crypto4xx_destroy_pdr()
224 dma_free_coherent(dev->core_dev->device, in crypto4xx_destroy_pdr()
229 dma_free_coherent(dev->core_dev->device, in crypto4xx_destroy_pdr()
258 spin_lock_irqsave(&dev->core_dev->lock, flags); in crypto4xx_put_pd_to_pdr()
266 spin_unlock_irqrestore(&dev->core_dev->lock, flags); in crypto4xx_put_pd_to_pdr()
278 dev->gdr = dma_alloc_coherent(dev->core_dev->device, in crypto4xx_build_gdr()
290 dma_free_coherent(dev->core_dev->device, in crypto4xx_destroy_gdr()
325 spin_lock_irqsave(&dev->core_dev->lock, flags); in crypto4xx_put_gd_to_gdr()
327 spin_unlock_irqrestore(&dev->core_dev->lock, flags); in crypto4xx_put_gd_to_gdr()
336 spin_unlock_irqrestore(&dev->core_dev->lock, flags); in crypto4xx_put_gd_to_gdr()
359 dma_alloc_coherent(dev->core_dev->device, in crypto4xx_build_sdr()
366 dev->sdr = dma_alloc_coherent(dev->core_dev->device, in crypto4xx_build_sdr()
383 dma_free_coherent(dev->core_dev->device, in crypto4xx_destroy_sdr()
388 dma_free_coherent(dev->core_dev->device, in crypto4xx_destroy_sdr()
424 spin_lock_irqsave(&dev->core_dev->lock, flags); in crypto4xx_put_sd_to_sdr()
426 spin_unlock_irqrestore(&dev->core_dev->lock, flags); in crypto4xx_put_sd_to_sdr()
433 spin_unlock_irqrestore(&dev->core_dev->lock, flags); in crypto4xx_put_sd_to_sdr()
521 dma_unmap_page(dev->core_dev->device, pd->dest, dst->length, in crypto4xx_cipher_done()
557 dma_unmap_page(dev->core_dev->device, pd->dest, dst->length, in crypto4xx_aead_done()
619 static void crypto4xx_stop_all(struct crypto4xx_core_device *core_dev) in crypto4xx_stop_all() argument
621 crypto4xx_destroy_pdr(core_dev->dev); in crypto4xx_stop_all()
622 crypto4xx_destroy_gdr(core_dev->dev); in crypto4xx_stop_all()
623 crypto4xx_destroy_sdr(core_dev->dev); in crypto4xx_stop_all()
688 dev_err(dev->core_dev->device, "Invalid number of src SG.\n"); in crypto4xx_build_pd()
719 spin_lock_irqsave(&dev->core_dev->lock, flags); in crypto4xx_build_pd()
740 spin_unlock_irqrestore(&dev->core_dev->lock, flags); in crypto4xx_build_pd()
748 spin_unlock_irqrestore(&dev->core_dev->lock, flags); in crypto4xx_build_pd()
757 spin_unlock_irqrestore(&dev->core_dev->lock, flags); in crypto4xx_build_pd()
767 spin_unlock_irqrestore(&dev->core_dev->lock, flags); in crypto4xx_build_pd()
770 spin_unlock_irqrestore(&dev->core_dev->lock, flags); in crypto4xx_build_pd()
809 gd->ptr = dma_map_page(dev->core_dev->device, in crypto4xx_build_pd()
823 pd->src = (u32)dma_map_page(dev->core_dev->device, sg_page(src), in crypto4xx_build_pd()
842 pd->dest = (u32)dma_map_page(dev->core_dev->device, in crypto4xx_build_pd()
1032 struct crypto4xx_core_device *core_dev = dev_get_drvdata(dev); in crypto4xx_bh_tasklet_cb() local
1035 u32 tail = core_dev->dev->pdr_tail; in crypto4xx_bh_tasklet_cb()
1036 u32 head = core_dev->dev->pdr_head; in crypto4xx_bh_tasklet_cb()
1039 pd_uinfo = &core_dev->dev->pdr_uinfo[tail]; in crypto4xx_bh_tasklet_cb()
1040 pd = &core_dev->dev->pdr[tail]; in crypto4xx_bh_tasklet_cb()
1045 crypto4xx_pd_done(core_dev->dev, tail); in crypto4xx_bh_tasklet_cb()
1046 tail = crypto4xx_put_pd_to_pdr(core_dev->dev, tail); in crypto4xx_bh_tasklet_cb()
1061 struct crypto4xx_core_device *core_dev = dev_get_drvdata(dev); in crypto4xx_interrupt_handler() local
1063 writel(clr_val, core_dev->dev->ce_base + CRYPTO4XX_INT_CLR); in crypto4xx_interrupt_handler()
1064 tasklet_schedule(&core_dev->tasklet); in crypto4xx_interrupt_handler()
1130 mutex_lock(&dev->core_dev->rng_lock); in crypto4xx_prng_generate()
1132 mutex_unlock(&dev->core_dev->rng_lock); in crypto4xx_prng_generate()
1293 struct crypto4xx_core_device *core_dev; in crypto4xx_probe() local
1328 core_dev = devm_kzalloc( in crypto4xx_probe()
1330 if (!core_dev) in crypto4xx_probe()
1333 dev_set_drvdata(dev, core_dev); in crypto4xx_probe()
1334 core_dev->ofdev = ofdev; in crypto4xx_probe()
1335 core_dev->dev = devm_kzalloc( in crypto4xx_probe()
1337 if (!core_dev->dev) in crypto4xx_probe()
1354 core_dev->dev->core_dev = core_dev; in crypto4xx_probe()
1355 core_dev->dev->is_revb = is_revb; in crypto4xx_probe()
1356 core_dev->device = dev; in crypto4xx_probe()
1357 rc = devm_mutex_init(&ofdev->dev, &core_dev->rng_lock); in crypto4xx_probe()
1360 spin_lock_init(&core_dev->lock); in crypto4xx_probe()
1361 INIT_LIST_HEAD(&core_dev->dev->alg_list); in crypto4xx_probe()
1362 ratelimit_default_init(&core_dev->dev->aead_ratelimit); in crypto4xx_probe()
1363 rc = crypto4xx_build_sdr(core_dev->dev); in crypto4xx_probe()
1366 rc = crypto4xx_build_pdr(core_dev->dev); in crypto4xx_probe()
1370 rc = crypto4xx_build_gdr(core_dev->dev); in crypto4xx_probe()
1375 tasklet_init(&core_dev->tasklet, crypto4xx_bh_tasklet_cb, in crypto4xx_probe()
1378 core_dev->dev->ce_base = devm_platform_ioremap_resource(ofdev, 0); in crypto4xx_probe()
1379 if (IS_ERR(core_dev->dev->ce_base)) { in crypto4xx_probe()
1381 rc = PTR_ERR(core_dev->dev->ce_base); in crypto4xx_probe()
1386 core_dev->irq = irq_of_parse_and_map(ofdev->dev.of_node, 0); in crypto4xx_probe()
1387 rc = devm_request_irq(&ofdev->dev, core_dev->irq, in crypto4xx_probe()
1395 crypto4xx_hw_init(core_dev->dev); in crypto4xx_probe()
1398 rc = crypto4xx_register_alg(core_dev->dev, crypto4xx_alg, in crypto4xx_probe()
1403 ppc4xx_trng_probe(core_dev); in crypto4xx_probe()
1407 tasklet_kill(&core_dev->tasklet); in crypto4xx_probe()
1409 crypto4xx_destroy_sdr(core_dev->dev); in crypto4xx_probe()
1410 crypto4xx_destroy_gdr(core_dev->dev); in crypto4xx_probe()
1411 crypto4xx_destroy_pdr(core_dev->dev); in crypto4xx_probe()
1418 struct crypto4xx_core_device *core_dev = dev_get_drvdata(dev); in crypto4xx_remove() local
1420 ppc4xx_trng_remove(core_dev); in crypto4xx_remove()
1422 tasklet_kill(&core_dev->tasklet); in crypto4xx_remove()
1424 crypto4xx_unregister_alg(core_dev->dev); in crypto4xx_remove()
1426 crypto4xx_stop_all(core_dev); in crypto4xx_remove()