Lines Matching defs:krp
506 static int crypto_kinvoke(struct cryptkop *krp, int hint);
1380 crypto_kdispatch(struct cryptkop *krp)
1387 KASSERT(krp != NULL);
1388 KASSERT(krp->krp_callback != NULL);
1395 cap = crypto_checkdriver_lock(krp->krp_hid);
1402 TAILQ_INSERT_TAIL(crp_kq, krp, krp_next);
1412 TAILQ_INSERT_TAIL(crp_kq, krp, krp_next);
1417 result = crypto_kinvoke(krp, 0);
1428 TAILQ_INSERT_HEAD(crp_kq, krp, krp_next);
1440 crypto_kinvoke(struct cryptkop *krp, int hint)
1446 KASSERT(krp != NULL);
1447 KASSERT(krp->krp_callback != NULL);
1465 if ((cap->cc_kalg[krp->krp_op] &
1479 krp->krp_hid = hid;
1480 krp->reqcpu = curcpu();
1482 error = (*process)(arg, krp, hint);
1487 krp->krp_status = ENODEV;
1488 krp->reqcpu = curcpu();
1489 crypto_kdone(krp);
1641 crypto_kfreereq(struct cryptkop *krp)
1644 if (krp == NULL)
1647 DPRINTF("krp %p\n", krp);
1650 if (krp->krp_flags & CRYPTO_F_ONRETQ) {
1651 panic("crypto_kfreereq() freeing krp on RETQ\n");
1654 pool_cache_put(cryptkop_cache, krp);
1664 struct cryptkop *krp;
1682 krp = pool_cache_get(cryptkop_cache, prflags);
1683 if (krp == NULL) {
1686 memset(krp, 0, sizeof(struct cryptkop));
1688 return krp;
1730 crypto_kdone(struct cryptkop *krp)
1736 KASSERT(krp != NULL);
1738 if (krp->krp_status != 0)
1741 qs = crypto_get_crp_ret_qs(krp->reqcpu);
1745 krp->krp_flags |= CRYPTO_F_ONRETQ;
1746 TAILQ_INSERT_TAIL(crp_ret_kq, krp, krp_next);
1749 softint_schedule_cpu(crypto_ret_si, krp->reqcpu);
1750 crypto_put_crp_ret_qs(krp->reqcpu);
1800 struct cryptkop *krp, *knext;
1896 TAILQ_FOREACH_SAFE(krp, crp_kq, krp_next, knext) {
1897 cap = crypto_checkdriver_lock(krp->krp_hid);
1910 if (krp != NULL) {
1911 TAILQ_REMOVE(crp_kq, krp, krp_next);
1912 result = crypto_kinvoke(krp, 0);
1927 cap = crypto_checkdriver_lock(krp->krp_hid);
1930 TAILQ_INSERT_TAIL(crp_kq, krp, krp_next);
1934 TAILQ_INSERT_HEAD(crp_kq, krp, krp_next);
1939 } while (submit != NULL || krp != NULL);
1958 struct cryptkop *krp;
1966 krp = TAILQ_FIRST(crp_ret_kq);
1967 if (krp != NULL) {
1968 TAILQ_REMOVE(crp_ret_kq, krp, krp_next);
1970 krp->krp_flags &= ~CRYPTO_F_ONRETQ;
1974 if (crp == NULL && krp == NULL)
1996 if (krp != NULL)
1997 krp->krp_callback(krp);