Lines Matching refs:rnode
601 efc_cmd_node_alloc(struct efc *efc, struct efc_remote_node *rnode, u32 fc_addr, in efc_cmd_node_alloc() argument
605 if (rnode->indicator != U32_MAX) { in efc_cmd_node_alloc()
608 fc_addr, rnode->indicator); in efc_cmd_node_alloc()
613 rnode->nport = NULL; in efc_cmd_node_alloc()
616 &rnode->indicator, &rnode->index)) { in efc_cmd_node_alloc()
622 rnode->fc_id = fc_addr; in efc_cmd_node_alloc()
623 rnode->nport = nport; in efc_cmd_node_alloc()
631 struct efc_remote_node *rnode = arg; in efc_cmd_node_attach_cb() local
639 rnode->attached = false; in efc_cmd_node_attach_cb()
642 rnode->attached = true; in efc_cmd_node_attach_cb()
646 efc_remote_node_cb(efc, evt, rnode); in efc_cmd_node_attach_cb()
652 efc_cmd_node_attach(struct efc *efc, struct efc_remote_node *rnode, in efc_cmd_node_attach() argument
658 if (!rnode || !sparms) { in efc_cmd_node_attach()
660 rnode, sparms); in efc_cmd_node_attach()
668 if (rnode->index == U32_MAX) { in efc_cmd_node_attach()
674 if (!sli_cmd_reg_rpi(efc->sli, buf, rnode->indicator, in efc_cmd_node_attach()
675 rnode->nport->indicator, rnode->fc_id, sparms, 0, 0)) in efc_cmd_node_attach()
677 efc_cmd_node_attach_cb, rnode); in efc_cmd_node_attach()
683 efc_node_free_resources(struct efc *efc, struct efc_remote_node *rnode) in efc_node_free_resources() argument
687 if (!rnode) { in efc_node_free_resources()
688 efc_log_err(efc, "bad parameter rnode=%p\n", rnode); in efc_node_free_resources()
692 if (rnode->nport) { in efc_node_free_resources()
693 if (rnode->attached) { in efc_node_free_resources()
697 if (rnode->indicator != U32_MAX) { in efc_node_free_resources()
699 rnode->indicator)) { in efc_node_free_resources()
702 rnode->indicator, rnode->fc_id); in efc_node_free_resources()
705 rnode->indicator = U32_MAX; in efc_node_free_resources()
706 rnode->index = U32_MAX; in efc_node_free_resources()
717 struct efc_remote_node *rnode = arg; in efc_cmd_node_free_cb() local
733 if (!rnode->attached || in efc_cmd_node_free_cb()
739 rnode->attached = false; in efc_cmd_node_free_cb()
743 efc_remote_node_cb(efc, evt, rnode); in efc_cmd_node_free_cb()
749 efc_cmd_node_detach(struct efc *efc, struct efc_remote_node *rnode) in efc_cmd_node_detach() argument
754 if (!rnode) { in efc_cmd_node_detach()
755 efc_log_err(efc, "bad parameter rnode=%p\n", rnode); in efc_cmd_node_detach()
759 if (rnode->nport) { in efc_cmd_node_detach()
760 if (!rnode->attached) in efc_cmd_node_detach()
765 if (!sli_cmd_unreg_rpi(efc->sli, buf, rnode->indicator, in efc_cmd_node_detach()
768 efc_cmd_node_free_cb, rnode); in efc_cmd_node_detach()