Lines Matching refs:lport

126 	struct nvme_fc_lport		*lport;  member
141 struct nvme_fc_lport *lport; member
225 struct nvme_fc_lport *lport = in nvme_fc_free_lport() local
229 WARN_ON(lport->localport.port_state != FC_OBJSTATE_DELETED); in nvme_fc_free_lport()
230 WARN_ON(!list_empty(&lport->endp_list)); in nvme_fc_free_lport()
234 list_del(&lport->port_list); in nvme_fc_free_lport()
237 ida_simple_remove(&nvme_fc_local_port_cnt, lport->localport.port_num); in nvme_fc_free_lport()
238 ida_destroy(&lport->endp_cnt); in nvme_fc_free_lport()
240 put_device(lport->dev); in nvme_fc_free_lport()
242 kfree(lport); in nvme_fc_free_lport()
246 nvme_fc_lport_put(struct nvme_fc_lport *lport) in nvme_fc_lport_put() argument
248 kref_put(&lport->ref, nvme_fc_free_lport); in nvme_fc_lport_put()
252 nvme_fc_lport_get(struct nvme_fc_lport *lport) in nvme_fc_lport_get() argument
254 return kref_get_unless_zero(&lport->ref); in nvme_fc_lport_get()
263 struct nvme_fc_lport *lport; in nvme_fc_attach_to_unreg_lport() local
268 list_for_each_entry(lport, &nvme_fc_lport_list, port_list) { in nvme_fc_attach_to_unreg_lport()
269 if (lport->localport.node_name != pinfo->node_name || in nvme_fc_attach_to_unreg_lport()
270 lport->localport.port_name != pinfo->port_name) in nvme_fc_attach_to_unreg_lport()
273 if (lport->dev != dev) { in nvme_fc_attach_to_unreg_lport()
274 lport = ERR_PTR(-EXDEV); in nvme_fc_attach_to_unreg_lport()
278 if (lport->localport.port_state != FC_OBJSTATE_DELETED) { in nvme_fc_attach_to_unreg_lport()
279 lport = ERR_PTR(-EEXIST); in nvme_fc_attach_to_unreg_lport()
283 if (!nvme_fc_lport_get(lport)) { in nvme_fc_attach_to_unreg_lport()
288 lport = NULL; in nvme_fc_attach_to_unreg_lport()
294 lport->ops = ops; in nvme_fc_attach_to_unreg_lport()
295 lport->localport.port_role = pinfo->port_role; in nvme_fc_attach_to_unreg_lport()
296 lport->localport.port_id = pinfo->port_id; in nvme_fc_attach_to_unreg_lport()
297 lport->localport.port_state = FC_OBJSTATE_ONLINE; in nvme_fc_attach_to_unreg_lport()
301 return lport; in nvme_fc_attach_to_unreg_lport()
304 lport = NULL; in nvme_fc_attach_to_unreg_lport()
309 return lport; in nvme_fc_attach_to_unreg_lport()
438 struct nvme_fc_lport *lport = localport_to_lport(portptr); in nvme_fc_unregister_localport() local
454 if (atomic_read(&lport->act_rport_cnt) == 0) in nvme_fc_unregister_localport()
455 lport->ops->localport_delete(&lport->localport); in nvme_fc_unregister_localport()
457 nvme_fc_lport_put(lport); in nvme_fc_unregister_localport()
474 nvme_fc_signal_discovery_scan(struct nvme_fc_lport *lport, in nvme_fc_signal_discovery_scan() argument
486 lport->localport.node_name, lport->localport.port_name); in nvme_fc_signal_discovery_scan()
498 struct nvme_fc_lport *lport = in nvme_fc_free_rport() local
510 ida_simple_remove(&lport->endp_cnt, rport->remoteport.port_num); in nvme_fc_free_rport()
514 nvme_fc_lport_put(lport); in nvme_fc_free_rport()
561 nvme_fc_attach_to_suspended_rport(struct nvme_fc_lport *lport, in nvme_fc_attach_to_suspended_rport() argument
570 list_for_each_entry(rport, &lport->endp_list, endp_list) { in nvme_fc_attach_to_suspended_rport()
648 struct nvme_fc_lport *lport = localport_to_lport(localport); in nvme_fc_register_remoteport() local
653 if (!nvme_fc_lport_get(lport)) { in nvme_fc_register_remoteport()
663 newrec = nvme_fc_attach_to_suspended_rport(lport, pinfo); in nvme_fc_register_remoteport()
672 nvme_fc_lport_put(lport); in nvme_fc_register_remoteport()
674 nvme_fc_signal_discovery_scan(lport, newrec); in nvme_fc_register_remoteport()
681 newrec = kmalloc((sizeof(*newrec) + lport->ops->remote_priv_sz), in nvme_fc_register_remoteport()
688 idx = ida_simple_get(&lport->endp_cnt, 0, 0, GFP_KERNEL); in nvme_fc_register_remoteport()
700 newrec->remoteport.localport = &lport->localport; in nvme_fc_register_remoteport()
701 newrec->dev = lport->dev; in nvme_fc_register_remoteport()
702 newrec->lport = lport; in nvme_fc_register_remoteport()
713 list_add_tail(&newrec->endp_list, &lport->endp_list); in nvme_fc_register_remoteport()
716 nvme_fc_signal_discovery_scan(lport, newrec); in nvme_fc_register_remoteport()
724 nvme_fc_lport_put(lport); in nvme_fc_register_remoteport()
744 rport->lport->ops->ls_abort(&rport->lport->localport, in nvme_fc_abort_lsops()
853 rport->lport->ops->remoteport_delete(portptr); in nvme_fc_unregister_remoteport()
879 nvme_fc_signal_discovery_scan(rport->lport, rport); in nvme_fc_rescan_remoteport()
1066 ret = rport->lport->ops->ls_req(&rport->lport->localport, in __nvme_fc_send_ls_req()
1186 ctrl->lport->ops->lsrqst_priv_sz + in nvme_fc_connect_admin_queue()
1196 (lsreq->private + ctrl->lport->ops->lsrqst_priv_sz); in nvme_fc_connect_admin_queue()
1295 ctrl->lport->ops->lsrqst_priv_sz + in nvme_fc_connect_queue()
1305 (lsreq->private + ctrl->lport->ops->lsrqst_priv_sz); in nvme_fc_connect_queue()
1420 ctrl->lport->ops->lsrqst_priv_sz + in nvme_fc_xmt_disconnect_assoc()
1431 (lsreq->private + ctrl->lport->ops->lsrqst_priv_sz); in nvme_fc_xmt_disconnect_assoc()
1478 fc_dma_unmap_single(ctrl->lport->dev, op->fcp_req.rspdma, in __nvme_fc_exit_request()
1480 fc_dma_unmap_single(ctrl->lport->dev, op->fcp_req.cmddma, in __nvme_fc_exit_request()
1512 ctrl->lport->ops->fcp_abort(&ctrl->lport->localport, in __nvme_fc_abort_op()
1600 fc_dma_sync_single_for_cpu(ctrl->lport->dev, op->fcp_req.rspdma, in nvme_fc_fcpio_done()
1708 op->fcp_req.cmddma = fc_dma_map_single(ctrl->lport->dev, in __nvme_fc_init_request()
1710 if (fc_dma_mapping_error(ctrl->lport->dev, op->fcp_req.cmddma)) { in __nvme_fc_init_request()
1717 op->fcp_req.rspdma = fc_dma_map_single(ctrl->lport->dev, in __nvme_fc_init_request()
1720 if (fc_dma_mapping_error(ctrl->lport->dev, op->fcp_req.rspdma)) { in __nvme_fc_init_request()
1755 private = kzalloc(ctrl->lport->ops->fcprqst_priv_sz, in nvme_fc_init_aen_ops()
1890 if (ctrl->lport->ops->delete_queue) in __nvme_fc_delete_hw_queue()
1891 ctrl->lport->ops->delete_queue(&ctrl->lport->localport, qidx, in __nvme_fc_delete_hw_queue()
1912 if (ctrl->lport->ops->create_queue) in __nvme_fc_create_hw_queue()
1913 ret = ctrl->lport->ops->create_queue(&ctrl->lport->localport, in __nvme_fc_create_hw_queue()
2097 freq->sg_cnt = fc_dma_map_sg(ctrl->lport->dev, freq->sg_table.sgl, in nvme_fc_map_data()
2120 fc_dma_unmap_sg(ctrl->lport->dev, freq->sg_table.sgl, op->nents, in nvme_fc_unmap_data()
2227 fc_dma_sync_single_for_device(ctrl->lport->dev, op->fcp_req.cmddma, in nvme_fc_start_fcp_op()
2235 ret = ctrl->lport->ops->fcp_io(&ctrl->lport->localport, in nvme_fc_start_fcp_op()
2317 (ctrl->lport->ops->poll_queue)) in nvme_fc_poll()
2318 ctrl->lport->ops->poll_queue(&ctrl->lport->localport, in nvme_fc_poll()
2405 ctrl->lport->ops->max_hw_queues); in nvme_fc_create_io_queues()
2428 ctrl->lport->ops->fcprqst_priv_sz; in nvme_fc_create_io_queues()
2479 ctrl->lport->ops->max_hw_queues); in nvme_fc_recreate_io_queues()
2514 struct nvme_fc_lport *lport = rport->lport; in nvme_fc_rport_active_on_lport() local
2516 atomic_inc(&lport->act_rport_cnt); in nvme_fc_rport_active_on_lport()
2522 struct nvme_fc_lport *lport = rport->lport; in nvme_fc_rport_inactive_on_lport() local
2525 cnt = atomic_dec_return(&lport->act_rport_cnt); in nvme_fc_rport_inactive_on_lport()
2526 if (cnt == 0 && lport->localport.port_state == FC_OBJSTATE_DELETED) in nvme_fc_rport_inactive_on_lport()
2527 lport->ops->localport_delete(&lport->localport); in nvme_fc_rport_inactive_on_lport()
2551 struct nvme_fc_lport *lport = rport->lport; in nvme_fc_ctlr_inactive_on_rport() local
2559 lport->ops->remoteport_delete(&rport->remoteport); in nvme_fc_ctlr_inactive_on_rport()
2629 (ctrl->lport->ops->max_sgl_segments - 1) << (PAGE_SHIFT - 9); in nvme_fc_create_association()
2959 struct nvme_fc_lport *lport, struct nvme_fc_rport *rport) in nvme_fc_init_ctrl() argument
2992 ctrl->lport = lport; in nvme_fc_init_ctrl()
2994 ctrl->dev = lport->dev; in nvme_fc_init_ctrl()
3010 lport->ops->max_hw_queues); in nvme_fc_init_ctrl()
3033 ctrl->lport->ops->fcprqst_priv_sz; in nvme_fc_init_ctrl()
3201 struct nvme_fc_lport *lport; in nvme_fc_create_ctrl() local
3219 list_for_each_entry(lport, &nvme_fc_lport_list, port_list) { in nvme_fc_create_ctrl()
3220 if (lport->localport.node_name != laddr.nn || in nvme_fc_create_ctrl()
3221 lport->localport.port_name != laddr.pn) in nvme_fc_create_ctrl()
3224 list_for_each_entry(rport, &lport->endp_list, endp_list) { in nvme_fc_create_ctrl()
3235 ctrl = nvme_fc_init_ctrl(dev, opts, lport, rport); in nvme_fc_create_ctrl()