Lines Matching refs:krp

177 static	int crypto_kinvoke(struct cryptkop *krp, int flags);
829 crypto_kdispatch(struct cryptkop *krp)
835 error = crypto_kinvoke(krp, krp->krp_crid);
838 TAILQ_INSERT_TAIL(&crp_kq, krp, krp_next);
851 kdriver_suitable(const struct cryptocap *cap, const struct cryptkop *krp)
853 return (cap->cc_kalg[krp->krp_op] & CRYPTO_ALG_FLAG_SUPPORTED) != 0;
867 crypto_select_kdriver(const struct cryptkop *krp, int flags)
897 if (kdriver_suitable(cap, krp)) {
917 crypto_kinvoke(struct cryptkop *krp, int crid)
922 KASSERT(krp != NULL, ("%s: krp == NULL", __func__));
923 KASSERT(krp->krp_callback != NULL,
924 ("%s: krp->crp_callback == NULL", __func__));
935 if (!kdriver_suitable(cap, krp) ||
946 cap = crypto_select_kdriver(krp, crid);
949 krp->krp_hid = cap - crypto_drivers;
952 error = CRYPTODEV_KPROCESS(cap->cc_dev, krp, 0);
970 krp->krp_status = error;
971 crypto_kdone(krp);
1174 crypto_kdone(struct cryptkop *krp)
1178 if (krp->krp_status != 0)
1182 if (krp->krp_hid < crypto_drivers_num) {
1183 cap = &crypto_drivers[krp->krp_hid];
1193 TAILQ_INSERT_TAIL(&crp_ret_kq, krp, krp_next);
1244 struct cryptkop *krp;
1323 TAILQ_FOREACH(krp, &crp_kq, krp_next) {
1324 cap = crypto_checkdriver(krp->krp_hid);
1332 krp->krp_hid = krp->krp_crid &
1334 if (krp->krp_hid == 0)
1335 krp->krp_hid =
1342 if (krp != NULL) {
1343 TAILQ_REMOVE(&crp_kq, krp, krp_next);
1344 result = crypto_kinvoke(krp, krp->krp_hid);
1356 crypto_drivers[krp->krp_hid].cc_kqblocked = 1;
1357 TAILQ_INSERT_HEAD(&crp_kq, krp, krp_next);
1362 if (submit == NULL && krp == NULL) {
1517 struct cryptkop *krp;
1524 TAILQ_FOREACH(krp, &crp_kq, krp_next) {
1526 , krp->krp_op
1527 , krp->krp_status
1528 , krp->krp_iparams, krp->krp_oparams
1529 , krp->krp_crid, krp->krp_hid
1530 , krp->krp_callback
1536 TAILQ_FOREACH(krp, &crp_ret_kq, krp_next) {
1538 , krp->krp_op
1539 , krp->krp_status
1540 , krp->krp_crid, krp->krp_hid
1541 , krp->krp_callback