Lines Matching refs:cod
590 struct cryptop_data *cod; in cod_alloc() local
592 cod = malloc(sizeof(struct cryptop_data), M_CRYPTODEV, M_WAITOK | in cod_alloc()
595 cod->cse = cse; in cod_alloc()
598 cod->aad = malloc(aad_len, M_CRYPTODEV, M_WAITOK); in cod_alloc()
599 cod->buf = malloc(len, M_CRYPTODEV, M_WAITOK); in cod_alloc()
601 cod->buf = malloc(aad_len + len, M_CRYPTODEV, M_WAITOK); in cod_alloc()
603 cod->obuf = malloc(len, M_CRYPTODEV, M_WAITOK); in cod_alloc()
604 return (cod); in cod_alloc()
608 cod_free(struct cryptop_data *cod) in cod_free() argument
611 free(cod->aad, M_CRYPTODEV); in cod_free()
612 free(cod->obuf, M_CRYPTODEV); in cod_free()
613 free(cod->buf, M_CRYPTODEV); in cod_free()
614 free(cod, M_CRYPTODEV); in cod_free()
620 struct cryptop_data *cod = crp->crp_opaque; in cryptodev_cb() local
627 mtx_lock(&cod->cse->lock); in cryptodev_cb()
628 cod->done = true; in cryptodev_cb()
629 mtx_unlock(&cod->cse->lock); in cryptodev_cb()
630 wakeup(cod); in cryptodev_cb()
638 struct cryptop_data *cod = NULL; in cryptodev_op() local
670 cod = cod_alloc(cse, 0, cop->len + cse->hashsize); in cryptodev_op()
675 error = copyin(cop->src, cod->buf, cop->len); in cryptodev_op()
727 if (cod->obuf != NULL) in cryptodev_op()
766 crypto_use_buf(crp, cod->buf, cop->len + cse->hashsize); in cryptodev_op()
767 if (cod->obuf) in cryptodev_op()
768 crypto_use_output_buf(crp, cod->obuf, cop->len + cse->hashsize); in cryptodev_op()
770 crp->crp_opaque = cod; in cryptodev_op()
798 error = copyin(cop->mac, cod->buf + crp->crp_digest_start, in cryptodev_op()
820 while (!cod->done) in cryptodev_op()
821 mtx_sleep(cod, &cse->lock, PWAIT, "crydev", 0); in cryptodev_op()
826 cod->done = false; in cryptodev_op()
837 error = copyout(cod->obuf != NULL ? cod->obuf : in cryptodev_op()
838 cod->buf + crp->crp_payload_start, dst, in cryptodev_op()
847 error = copyout((cod->obuf != NULL ? cod->obuf : cod->buf) + in cryptodev_op()
857 cod_free(cod); in cryptodev_op()
866 struct cryptop_data *cod = NULL; in cryptodev_aead() local
898 cod = cod_alloc(cse, caead->aadlen, caead->len + cse->hashsize); in cryptodev_aead()
903 if (cod->aad != NULL) in cryptodev_aead()
904 error = copyin(caead->aad, cod->aad, caead->aadlen); in cryptodev_aead()
906 error = copyin(caead->aad, cod->buf, caead->aadlen); in cryptodev_aead()
911 crp->crp_aad = cod->aad; in cryptodev_aead()
915 if (cod->aad != NULL) in cryptodev_aead()
919 error = copyin(caead->src, cod->buf + crp->crp_payload_start, in cryptodev_aead()
926 if (caead->op == COP_ENCRYPT && cod->obuf != NULL) in cryptodev_aead()
958 crypto_use_buf(crp, cod->buf, crp->crp_payload_start + caead->len + in cryptodev_aead()
960 if (cod->obuf != NULL) in cryptodev_aead()
961 crypto_use_output_buf(crp, cod->obuf, caead->len + in cryptodev_aead()
964 crp->crp_opaque = cod; in cryptodev_aead()
1000 error = copyin(caead->tag, cod->buf + crp->crp_digest_start, in cryptodev_aead()
1022 while (!cod->done) in cryptodev_aead()
1023 mtx_sleep(cod, &cse->lock, PWAIT, "crydev", 0); in cryptodev_aead()
1028 cod->done = false; in cryptodev_aead()
1039 error = copyout(cod->obuf != NULL ? cod->obuf : in cryptodev_aead()
1040 cod->buf + crp->crp_payload_start, dst, in cryptodev_aead()
1049 error = copyout((cod->obuf != NULL ? cod->obuf : cod->buf) + in cryptodev_aead()
1059 cod_free(cod); in cryptodev_aead()