Lines Matching full:flows
74 ss->flows[flow].stat_req++; in sun8i_ss_run_task()
130 reinit_completion(&ss->flows[flow].complete); in sun8i_ss_run_task()
131 ss->flows[flow].status = 0; in sun8i_ss_run_task()
136 wait_for_completion_interruptible_timeout(&ss->flows[flow].complete, in sun8i_ss_run_task()
138 if (ss->flows[flow].status == 0) { in sun8i_ss_run_task()
157 ss->flows[flow].status = 1; in ss_irq_handler()
158 complete(&ss->flows[flow].complete); in ss_irq_handler()
453 seq_printf(seq, "Channel %d: nreq %lu\n", i, ss->flows[i].stat_req); in sun8i_ss_debugfs_show()
509 crypto_engine_exit(ss->flows[i].engine); in sun8i_ss_free_flows()
521 ss->flows = devm_kcalloc(ss->dev, MAXFLOW, sizeof(struct sun8i_ss_flow), in allocate_flows()
523 if (!ss->flows) in allocate_flows()
527 init_completion(&ss->flows[i].complete); in allocate_flows()
529 ss->flows[i].biv = devm_kmalloc(ss->dev, AES_BLOCK_SIZE, in allocate_flows()
531 if (!ss->flows[i].biv) { in allocate_flows()
537 ss->flows[i].iv[j] = devm_kmalloc(ss->dev, AES_BLOCK_SIZE, in allocate_flows()
539 if (!ss->flows[i].iv[j]) { in allocate_flows()
546 ss->flows[i].pad = devm_kmalloc(ss->dev, MAX_PAD_SIZE, in allocate_flows()
548 if (!ss->flows[i].pad) { in allocate_flows()
552 ss->flows[i].result = devm_kmalloc(ss->dev, SHA256_DIGEST_SIZE, in allocate_flows()
554 if (!ss->flows[i].result) { in allocate_flows()
559 ss->flows[i].engine = crypto_engine_alloc_init(ss->dev, true); in allocate_flows()
560 if (!ss->flows[i].engine) { in allocate_flows()
566 err = crypto_engine_start(ss->flows[i].engine); in allocate_flows()
613 /* enable interrupts for all flows */ in sun8i_ss_pm_resume()