Lines Matching refs:pcrypt
74 struct padata_pcrypt *pcrypt) in pcrypt_do_parallel() argument
82 cpumask = rcu_dereference_bh(pcrypt->cb_cpumask); in pcrypt_do_parallel()
99 return padata_do_parallel(pcrypt->pinst, padata, cpu); in pcrypt_do_parallel()
365 struct padata_pcrypt *pcrypt; in pcrypt_cpumask_change_notify() local
372 pcrypt = container_of(self, struct padata_pcrypt, nblock); in pcrypt_cpumask_change_notify()
381 old_mask = pcrypt->cb_cpumask; in pcrypt_cpumask_change_notify()
384 rcu_assign_pointer(pcrypt->cb_cpumask, new_mask); in pcrypt_cpumask_change_notify()
404 static int pcrypt_init_padata(struct padata_pcrypt *pcrypt, in pcrypt_init_padata() argument
412 pcrypt->wq = alloc_workqueue("%s", WQ_MEM_RECLAIM | WQ_CPU_INTENSIVE, in pcrypt_init_padata()
414 if (!pcrypt->wq) in pcrypt_init_padata()
417 pcrypt->pinst = padata_alloc_possible(pcrypt->wq); in pcrypt_init_padata()
418 if (!pcrypt->pinst) in pcrypt_init_padata()
430 rcu_assign_pointer(pcrypt->cb_cpumask, mask); in pcrypt_init_padata()
432 pcrypt->nblock.notifier_call = pcrypt_cpumask_change_notify; in pcrypt_init_padata()
433 ret = padata_register_cpumask_notifier(pcrypt->pinst, &pcrypt->nblock); in pcrypt_init_padata()
437 ret = pcrypt_sysfs_add(pcrypt->pinst, name); in pcrypt_init_padata()
446 padata_unregister_cpumask_notifier(pcrypt->pinst, &pcrypt->nblock); in pcrypt_init_padata()
451 padata_free(pcrypt->pinst); in pcrypt_init_padata()
453 destroy_workqueue(pcrypt->wq); in pcrypt_init_padata()
460 static void pcrypt_fini_padata(struct padata_pcrypt *pcrypt) in pcrypt_fini_padata() argument
462 free_cpumask_var(pcrypt->cb_cpumask->mask); in pcrypt_fini_padata()
463 kfree(pcrypt->cb_cpumask); in pcrypt_fini_padata()
465 padata_stop(pcrypt->pinst); in pcrypt_fini_padata()
466 padata_unregister_cpumask_notifier(pcrypt->pinst, &pcrypt->nblock); in pcrypt_fini_padata()
467 destroy_workqueue(pcrypt->wq); in pcrypt_fini_padata()
468 padata_free(pcrypt->pinst); in pcrypt_fini_padata()