Lines Matching refs:rp

408 #define	DAPLKA_RS_REFCNT(rp) ((rp)->header.rs_refcnt)
410 #define DAPLKA_RS_REF(rp) { \
411 mutex_enter(&(rp)->header.rs_reflock); \
412 (rp)->header.rs_refcnt++; \
413 ASSERT((rp)->header.rs_refcnt != 0); \
414 mutex_exit(&(rp)->header.rs_reflock); \
417 #define DAPLKA_RS_UNREF(rp) { \
418 mutex_enter(&(rp)->header.rs_reflock); \
419 ASSERT((rp)->header.rs_refcnt != 0); \
420 if (--(rp)->header.rs_refcnt == 0) { \
421 ASSERT((rp)->header.rs_free != NULL); \
422 mutex_exit(&(rp)->header.rs_reflock); \
423 (rp)->header.rs_free((daplka_resource_t *)rp); \
425 mutex_exit(&(rp)->header.rs_reflock); \
429 #define DAPLKA_RS_INIT(rp, type, rnum, free_func) { \
430 (rp)->header.rs_refcnt = 1; \
431 (rp)->header.rs_type = (type); \
432 (rp)->header.rs_rnum = (rnum); \
433 (rp)->header.rs_charged = 0; \
434 (rp)->header.rs_free = (free_func); \
435 mutex_init(&(rp)->header.rs_reflock, NULL, \
439 #define DAPLKA_RS_FINI(rp) { \
440 mutex_destroy(&(rp)->header.rs_reflock); \
443 #define DAPLKA_RS_ACCT_INC(rp, cnt) { \
444 atomic_add_32(&(rp)->header.rs_charged, (cnt)); \
446 #define DAPLKA_RS_ACCT_DEC(rp, cnt) { \
447 atomic_add_32(&(rp)->header.rs_charged, -(cnt)); \
449 #define DAPLKA_RS_ACCT_CHARGED(rp) ((rp)->header.rs_charged)
451 #define DAPLKA_RS_RNUM(rp) ((rp)->header.rs_rnum)
452 #define DAPLKA_RS_TYPE(rp) ((rp)->header.rs_type)
453 #define DAPLKA_RS_RESERVED(rp) ((intptr_t)(rp) == DAPLKA_RC_RESERVED)
7896 daplka_resource_t *rp;
7909 rp = blk->daplka_rcblk_blks[j];
7910 if ((rp == NULL) ||
7911 ((intptr_t)rp == DAPLKA_RC_RESERVED) ||
7912 (rp->rs_type != DAPL_TYPE_IA)) {
7916 * rp is an IA resource check if it belongs
7919 ia_rp = (daplka_ia_resource_t *)rp;
8060 daplka_resource_t *rp;
8076 rp = blk->daplka_rcblk_blks[j];
8077 if ((rp == NULL) ||
8078 ((intptr_t)rp == DAPLKA_RC_RESERVED) ||
8079 (rp->rs_type != DAPL_TYPE_IA)) {
8083 * rp is an IA resource check if its gid
8086 ia_rp = (daplka_ia_resource_t *)rp;
8652 daplka_evd_ioctl(int cmd, daplka_ia_resource_t *rp, intptr_t arg, int mode,
8659 error = daplka_evd_create(rp, arg, mode, cred, rvalp);
8663 error = daplka_cq_resize(rp, arg, mode, cred, rvalp);
8667 error = daplka_event_poll(rp, arg, mode, cred, rvalp);
8671 error = daplka_event_wakeup(rp, arg, mode, cred, rvalp);
8675 error = daplka_evd_modify_cno(rp, arg, mode, cred, rvalp);
8679 error = daplka_evd_free(rp, arg, mode, cred, rvalp);
8690 daplka_ep_ioctl(int cmd, daplka_ia_resource_t *rp, intptr_t arg, int mode,
8697 error = daplka_ep_modify(rp, arg, mode, cred, rvalp);
8701 error = daplka_ep_free(rp, arg, mode, cred, rvalp);
8705 error = daplka_ep_connect(rp, arg, mode, cred, rvalp);
8709 error = daplka_ep_disconnect(rp, arg, mode, cred, rvalp);
8713 error = daplka_ep_reinit(rp, arg, mode, cred, rvalp);
8717 error = daplka_ep_create(rp, arg, mode, cred, rvalp);
8728 daplka_mr_ioctl(int cmd, daplka_ia_resource_t *rp, intptr_t arg, int mode,
8735 error = daplka_mr_register(rp, arg, mode, cred, rvalp);
8739 error = daplka_mr_register_lmr(rp, arg, mode, cred, rvalp);
8743 error = daplka_mr_register_shared(rp, arg, mode, cred, rvalp);
8747 error = daplka_mr_deregister(rp, arg, mode, cred, rvalp);
8751 error = daplka_mr_sync(rp, arg, mode, cred, rvalp);
8762 daplka_mw_ioctl(int cmd, daplka_ia_resource_t *rp, intptr_t arg, int mode,
8769 error = daplka_mw_alloc(rp, arg, mode, cred, rvalp);
8773 error = daplka_mw_free(rp, arg, mode, cred, rvalp);
8784 daplka_cno_ioctl(int cmd, daplka_ia_resource_t *rp, intptr_t arg, int mode,
8791 error = daplka_cno_alloc(rp, arg, mode, cred, rvalp);
8795 error = daplka_cno_free(rp, arg, mode, cred, rvalp);
8799 error = daplka_cno_wait(rp, arg, mode, cred, rvalp);
8810 daplka_pd_ioctl(int cmd, daplka_ia_resource_t *rp, intptr_t arg, int mode,
8817 error = daplka_pd_alloc(rp, arg, mode, cred, rvalp);
8821 error = daplka_pd_free(rp, arg, mode, cred, rvalp);
8832 daplka_sp_ioctl(int cmd, daplka_ia_resource_t *rp, intptr_t arg, int mode,
8839 error = daplka_service_register(rp, arg, mode, cred, rvalp);
8843 error = daplka_service_deregister(rp, arg, mode, cred, rvalp);
8854 daplka_srq_ioctl(int cmd, daplka_ia_resource_t *rp, intptr_t arg, int mode,
8861 error = daplka_srq_create(rp, arg, mode, cred, rvalp);
8865 error = daplka_srq_resize(rp, arg, mode, cred, rvalp);
8869 error = daplka_srq_free(rp, arg, mode, cred, rvalp);
8881 daplka_misc_ioctl(int cmd, daplka_ia_resource_t *rp, intptr_t arg, int mode,
8888 error = daplka_cr_accept(rp, arg, mode, cred, rvalp);
8892 error = daplka_cr_reject(rp, arg, mode, cred, rvalp);
8896 error = daplka_ia_query(rp, arg, mode, cred, rvalp);
8900 error = daplka_cr_handoff(rp, arg, mode, cred, rvalp);
9309 daplka_resource_insert(minor_t rnum, daplka_resource_t *rp)
9335 blk->daplka_rcblk_blks[j] = rp;
9356 daplka_resource_t *rp;
9378 rp = blk->daplka_rcblk_blks[j];
9379 if (rp == NULL || (intptr_t)rp == DAPLKA_RC_RESERVED) {
9383 DAPLKA_RS_REF((daplka_ia_resource_t *)rp);
9387 rp = NULL;
9390 return (rp);
9832 daplka_resource_t *rp = (daplka_resource_t *)obj;
9834 mutex_enter(&rp->rs_reflock);
9835 rp->rs_refcnt++;
9836 ASSERT(rp->rs_refcnt != 0);
9837 mutex_exit(&rp->rs_reflock);