• Home
  • Raw
  • Download

Lines Matching refs:lport

139 	struct nvme_fc_lport		*lport;  member
156 struct nvme_fc_lport *lport; member
247 struct nvme_fc_lport *lport = in nvme_fc_free_lport() local
251 WARN_ON(lport->localport.port_state != FC_OBJSTATE_DELETED); in nvme_fc_free_lport()
252 WARN_ON(!list_empty(&lport->endp_list)); in nvme_fc_free_lport()
256 list_del(&lport->port_list); in nvme_fc_free_lport()
261 ida_simple_remove(&nvme_fc_local_port_cnt, lport->localport.port_num); in nvme_fc_free_lport()
262 ida_destroy(&lport->endp_cnt); in nvme_fc_free_lport()
264 put_device(lport->dev); in nvme_fc_free_lport()
266 kfree(lport); in nvme_fc_free_lport()
270 nvme_fc_lport_put(struct nvme_fc_lport *lport) in nvme_fc_lport_put() argument
272 kref_put(&lport->ref, nvme_fc_free_lport); in nvme_fc_lport_put()
276 nvme_fc_lport_get(struct nvme_fc_lport *lport) in nvme_fc_lport_get() argument
278 return kref_get_unless_zero(&lport->ref); in nvme_fc_lport_get()
287 struct nvme_fc_lport *lport; in nvme_fc_attach_to_unreg_lport() local
292 list_for_each_entry(lport, &nvme_fc_lport_list, port_list) { in nvme_fc_attach_to_unreg_lport()
293 if (lport->localport.node_name != pinfo->node_name || in nvme_fc_attach_to_unreg_lport()
294 lport->localport.port_name != pinfo->port_name) in nvme_fc_attach_to_unreg_lport()
297 if (lport->dev != dev) { in nvme_fc_attach_to_unreg_lport()
298 lport = ERR_PTR(-EXDEV); in nvme_fc_attach_to_unreg_lport()
302 if (lport->localport.port_state != FC_OBJSTATE_DELETED) { in nvme_fc_attach_to_unreg_lport()
303 lport = ERR_PTR(-EEXIST); in nvme_fc_attach_to_unreg_lport()
307 if (!nvme_fc_lport_get(lport)) { in nvme_fc_attach_to_unreg_lport()
312 lport = NULL; in nvme_fc_attach_to_unreg_lport()
318 lport->ops = ops; in nvme_fc_attach_to_unreg_lport()
319 lport->localport.port_role = pinfo->port_role; in nvme_fc_attach_to_unreg_lport()
320 lport->localport.port_id = pinfo->port_id; in nvme_fc_attach_to_unreg_lport()
321 lport->localport.port_state = FC_OBJSTATE_ONLINE; in nvme_fc_attach_to_unreg_lport()
325 return lport; in nvme_fc_attach_to_unreg_lport()
328 lport = NULL; in nvme_fc_attach_to_unreg_lport()
333 return lport; in nvme_fc_attach_to_unreg_lport()
464 struct nvme_fc_lport *lport = localport_to_lport(portptr); in nvme_fc_unregister_localport() local
480 if (atomic_read(&lport->act_rport_cnt) == 0) in nvme_fc_unregister_localport()
481 lport->ops->localport_delete(&lport->localport); in nvme_fc_unregister_localport()
483 nvme_fc_lport_put(lport); in nvme_fc_unregister_localport()
500 nvme_fc_signal_discovery_scan(struct nvme_fc_lport *lport, in nvme_fc_signal_discovery_scan() argument
512 lport->localport.node_name, lport->localport.port_name); in nvme_fc_signal_discovery_scan()
524 struct nvme_fc_lport *lport = in nvme_fc_free_rport() local
537 ida_simple_remove(&lport->endp_cnt, rport->remoteport.port_num); in nvme_fc_free_rport()
541 nvme_fc_lport_put(lport); in nvme_fc_free_rport()
588 nvme_fc_attach_to_suspended_rport(struct nvme_fc_lport *lport, in nvme_fc_attach_to_suspended_rport() argument
597 list_for_each_entry(rport, &lport->endp_list, endp_list) { in nvme_fc_attach_to_suspended_rport()
675 struct nvme_fc_lport *lport = localport_to_lport(localport); in nvme_fc_register_remoteport() local
680 if (!nvme_fc_lport_get(lport)) { in nvme_fc_register_remoteport()
690 newrec = nvme_fc_attach_to_suspended_rport(lport, pinfo); in nvme_fc_register_remoteport()
699 nvme_fc_lport_put(lport); in nvme_fc_register_remoteport()
701 nvme_fc_signal_discovery_scan(lport, newrec); in nvme_fc_register_remoteport()
708 newrec = kmalloc((sizeof(*newrec) + lport->ops->remote_priv_sz), in nvme_fc_register_remoteport()
715 idx = ida_simple_get(&lport->endp_cnt, 0, 0, GFP_KERNEL); in nvme_fc_register_remoteport()
728 newrec->remoteport.localport = &lport->localport; in nvme_fc_register_remoteport()
730 newrec->dev = lport->dev; in nvme_fc_register_remoteport()
731 newrec->lport = lport; in nvme_fc_register_remoteport()
732 if (lport->ops->remote_priv_sz) in nvme_fc_register_remoteport()
746 list_add_tail(&newrec->endp_list, &lport->endp_list); in nvme_fc_register_remoteport()
749 nvme_fc_signal_discovery_scan(lport, newrec); in nvme_fc_register_remoteport()
757 nvme_fc_lport_put(lport); in nvme_fc_register_remoteport()
777 rport->lport->ops->ls_abort(&rport->lport->localport, in nvme_fc_abort_lsops()
887 rport->lport->ops->remoteport_delete(portptr); in nvme_fc_unregister_remoteport()
913 nvme_fc_signal_discovery_scan(rport->lport, rport); in nvme_fc_rescan_remoteport()
1101 ret = rport->lport->ops->ls_req(&rport->lport->localport, in __nvme_fc_send_ls_req()
1188 ctrl->lport->ops->lsrqst_priv_sz), GFP_KERNEL); in nvme_fc_connect_admin_queue()
1200 if (ctrl->lport->ops->lsrqst_priv_sz) in nvme_fc_connect_admin_queue()
1304 ctrl->lport->ops->lsrqst_priv_sz), GFP_KERNEL); in nvme_fc_connect_queue()
1316 if (ctrl->lport->ops->lsrqst_priv_sz) in nvme_fc_connect_queue()
1434 ctrl->lport->ops->lsrqst_priv_sz), GFP_KERNEL); in nvme_fc_xmt_disconnect_assoc()
1446 if (ctrl->lport->ops->lsrqst_priv_sz) in nvme_fc_xmt_disconnect_assoc()
1465 struct nvme_fc_lport *lport = rport->lport; in nvme_fc_xmt_ls_rsp_done() local
1472 fc_dma_sync_single_for_cpu(lport->dev, lsop->rspdma, in nvme_fc_xmt_ls_rsp_done()
1474 fc_dma_unmap_single(lport->dev, lsop->rspdma, in nvme_fc_xmt_ls_rsp_done()
1486 struct nvme_fc_lport *lport = rport->lport; in nvme_fc_xmt_ls_rsp() local
1490 fc_dma_sync_single_for_device(lport->dev, lsop->rspdma, in nvme_fc_xmt_ls_rsp()
1493 ret = lport->ops->xmt_ls_rsp(&lport->localport, &rport->remoteport, in nvme_fc_xmt_ls_rsp()
1496 dev_warn(lport->dev, in nvme_fc_xmt_ls_rsp()
1537 dev_info(rport->lport->dev, in nvme_fc_match_disconn_ls()
1579 dev_info(rport->lport->dev, in nvme_fc_ls_disconnect_assoc()
1726 struct nvme_fc_lport *lport = rport->lport; in nvme_fc_rcv_ls_req() local
1735 if (!lport->ops->xmt_ls_rsp) { in nvme_fc_rcv_ls_req()
1736 dev_info(lport->dev, in nvme_fc_rcv_ls_req()
1745 dev_info(lport->dev, in nvme_fc_rcv_ls_req()
1758 dev_info(lport->dev, in nvme_fc_rcv_ls_req()
1768 lsop->rspdma = fc_dma_map_single(lport->dev, lsop->rspbuf, in nvme_fc_rcv_ls_req()
1771 if (fc_dma_mapping_error(lport->dev, lsop->rspdma)) { in nvme_fc_rcv_ls_req()
1772 dev_info(lport->dev, in nvme_fc_rcv_ls_req()
1800 fc_dma_unmap_single(lport->dev, lsop->rspdma, in nvme_fc_rcv_ls_req()
1817 fc_dma_unmap_single(ctrl->lport->dev, op->fcp_req.rspdma, in __nvme_fc_exit_request()
1819 fc_dma_unmap_single(ctrl->lport->dev, op->fcp_req.cmddma, in __nvme_fc_exit_request()
1853 ctrl->lport->ops->fcp_abort(&ctrl->lport->localport, in __nvme_fc_abort_op()
1955 fc_dma_sync_single_for_cpu(ctrl->lport->dev, op->fcp_req.rspdma, in nvme_fc_fcpio_done()
2092 op->fcp_req.cmddma = fc_dma_map_single(ctrl->lport->dev, in __nvme_fc_init_request()
2094 if (fc_dma_mapping_error(ctrl->lport->dev, op->fcp_req.cmddma)) { in __nvme_fc_init_request()
2101 op->fcp_req.rspdma = fc_dma_map_single(ctrl->lport->dev, in __nvme_fc_init_request()
2104 if (fc_dma_mapping_error(ctrl->lport->dev, op->fcp_req.rspdma)) { in __nvme_fc_init_request()
2145 if (ctrl->lport->ops->fcprqst_priv_sz) { in nvme_fc_init_aen_ops()
2146 private = kzalloc(ctrl->lport->ops->fcprqst_priv_sz, in nvme_fc_init_aen_ops()
2279 if (ctrl->lport->ops->delete_queue) in __nvme_fc_delete_hw_queue()
2280 ctrl->lport->ops->delete_queue(&ctrl->lport->localport, qidx, in __nvme_fc_delete_hw_queue()
2301 if (ctrl->lport->ops->create_queue) in __nvme_fc_create_hw_queue()
2302 ret = ctrl->lport->ops->create_queue(&ctrl->lport->localport, in __nvme_fc_create_hw_queue()
2597 freq->sg_cnt = fc_dma_map_sg(ctrl->lport->dev, freq->sg_table.sgl, in nvme_fc_map_data()
2620 fc_dma_unmap_sg(ctrl->lport->dev, freq->sg_table.sgl, op->nents, in nvme_fc_unmap_data()
2721 fc_dma_sync_single_for_device(ctrl->lport->dev, op->fcp_req.cmddma, in nvme_fc_start_fcp_op()
2730 ret = ctrl->lport->ops->fcp_io(&ctrl->lport->localport, in nvme_fc_start_fcp_op()
2863 ctrl->lport->ops->max_hw_queues); in nvme_fc_create_io_queues()
2885 ctrl->lport->ops->fcprqst_priv_sz); in nvme_fc_create_io_queues()
2937 ctrl->lport->ops->max_hw_queues); in nvme_fc_recreate_io_queues()
2986 struct nvme_fc_lport *lport = rport->lport; in nvme_fc_rport_active_on_lport() local
2988 atomic_inc(&lport->act_rport_cnt); in nvme_fc_rport_active_on_lport()
2994 struct nvme_fc_lport *lport = rport->lport; in nvme_fc_rport_inactive_on_lport() local
2997 cnt = atomic_dec_return(&lport->act_rport_cnt); in nvme_fc_rport_inactive_on_lport()
2998 if (cnt == 0 && lport->localport.port_state == FC_OBJSTATE_DELETED) in nvme_fc_rport_inactive_on_lport()
2999 lport->ops->localport_delete(&lport->localport); in nvme_fc_rport_inactive_on_lport()
3022 struct nvme_fc_lport *lport = rport->lport; in nvme_fc_ctlr_inactive_on_rport() local
3030 lport->ops->remoteport_delete(&rport->remoteport); in nvme_fc_ctlr_inactive_on_rport()
3061 ctrl->cnum, ctrl->lport->localport.port_name, in nvme_fc_create_association()
3097 ctrl->ctrl.max_segments = ctrl->lport->ops->max_sgl_segments; in nvme_fc_create_association()
3416 struct nvme_fc_lport *lport, struct nvme_fc_rport *rport) in nvme_fc_init_ctrl() argument
3461 if (lport->dev) in nvme_fc_init_ctrl()
3462 ctrl->ctrl.numa_node = dev_to_node(lport->dev); in nvme_fc_init_ctrl()
3466 ctrl->lport = lport; in nvme_fc_init_ctrl()
3468 ctrl->dev = lport->dev; in nvme_fc_init_ctrl()
3484 lport->ops->max_hw_queues); in nvme_fc_init_ctrl()
3506 ctrl->lport->ops->fcprqst_priv_sz); in nvme_fc_init_ctrl()
3680 struct nvme_fc_lport *lport; in nvme_fc_create_ctrl() local
3698 list_for_each_entry(lport, &nvme_fc_lport_list, port_list) { in nvme_fc_create_ctrl()
3699 if (lport->localport.node_name != laddr.nn || in nvme_fc_create_ctrl()
3700 lport->localport.port_name != laddr.pn || in nvme_fc_create_ctrl()
3701 lport->localport.port_state != FC_OBJSTATE_ONLINE) in nvme_fc_create_ctrl()
3704 list_for_each_entry(rport, &lport->endp_list, endp_list) { in nvme_fc_create_ctrl()
3716 ctrl = nvme_fc_init_ctrl(dev, opts, lport, rport); in nvme_fc_create_ctrl()
3746 struct nvme_fc_lport *lport; in nvme_fc_nvme_discovery_store() local
3752 list_for_each_entry(lport, &nvme_fc_lport_list, port_list) { in nvme_fc_nvme_discovery_store()
3753 list_for_each_entry(rport, &lport->endp_list, endp_list) { in nvme_fc_nvme_discovery_store()
3754 if (!nvme_fc_lport_get(lport)) in nvme_fc_nvme_discovery_store()
3766 nvme_fc_lport_put(lport); in nvme_fc_nvme_discovery_store()
3788 lport = rport->lport; in nvme_fc_nvme_discovery_store()
3790 nvme_fc_signal_discovery_scan(lport, rport); in nvme_fc_nvme_discovery_store()
3792 nvme_fc_lport_put(lport); in nvme_fc_nvme_discovery_store()
3895 struct nvme_fc_lport *lport; in nvme_fc_cleanup_for_unload() local
3898 list_for_each_entry(lport, &nvme_fc_lport_list, port_list) { in nvme_fc_cleanup_for_unload()
3899 list_for_each_entry(rport, &lport->endp_list, endp_list) { in nvme_fc_cleanup_for_unload()