Lines Matching refs:fport

170 static int fcip_handle_suspend(fcip_port_info_t *fport, fc_detach_cmd_t cmd);
171 static int fcip_handle_resume(fcip_port_info_t *fport,
173 static fcip_port_info_t *fcip_softstate_free(fcip_port_info_t *fport);
760 fcip_port_info_t *fport = NULL; in fcip_port_attach() local
792 fport = kmem_zalloc(sizeof (fcip_port_info_t), in fcip_port_attach()
794 if (fport == NULL) { in fcip_port_attach()
805 fcip_port_head = fport; in fcip_port_attach()
829 fport = kmem_zalloc(sizeof (fcip_port_info_t), in fcip_port_attach()
831 if (fport == NULL) { in fcip_port_attach()
842 fport->fcipp_next = fcip_port_head; in fcip_port_attach()
843 fcip_port_head = fport; in fcip_port_attach()
851 fport->fcipp_linkage = *port_info->port_linkage; in fcip_port_attach()
852 fport->fcipp_handle = port_info->port_handle; in fcip_port_attach()
853 fport->fcipp_dip = port_info->port_dip; in fcip_port_attach()
854 fport->fcipp_topology = port_info->port_flags; in fcip_port_attach()
855 fport->fcipp_pstate = port_info->port_state; in fcip_port_attach()
856 fport->fcipp_naa = port_info->port_pwwn.w.naa_id; in fcip_port_attach()
857 bcopy(&port_info->port_pwwn, &fport->fcipp_pwwn, in fcip_port_attach()
859 bcopy(&port_info->port_nwwn, &fport->fcipp_nwwn, in fcip_port_attach()
861 fport->fcipp_fca_pkt_size = port_info->port_fca_pkt_size; in fcip_port_attach()
862 fport->fcipp_cmd_dma_attr = *port_info->port_cmd_dma_attr; in fcip_port_attach()
863 fport->fcipp_resp_dma_attr = *port_info->port_resp_dma_attr; in fcip_port_attach()
864 fport->fcipp_fca_acc_attr = *port_info->port_acc_attr; in fcip_port_attach()
867 fport->fcipp_sid = src_id; in fcip_port_attach()
872 instance = ddi_get_instance(fport->fcipp_dip); in fcip_port_attach()
904 fptr->fcip_dip = fport->fcipp_dip; /* parent's dip */ in fcip_port_attach()
919 fptr->fcip_port_info = fport; in fcip_port_attach()
925 wwn_to_ether(&fport->fcipp_nwwn, &fptr->fcip_macaddr); in fcip_port_attach()
927 fport->fcipp_fcip = fptr; in fcip_port_attach()
994 fport = fcip_port_head; in fcip_port_attach()
995 while (fport != NULL) { in fcip_port_attach()
996 if (fport->fcipp_handle == port_info->port_handle) { in fcip_port_attach()
999 fport = fport->fcipp_next; in fcip_port_attach()
1001 if (fport == NULL) { in fcip_port_attach()
1006 rval = fcip_handle_resume(fport, port_info, cmd); in fcip_port_attach()
1018 if (fport) { in fcip_port_attach()
1022 (void) fcip_softstate_free(fport); in fcip_port_attach()
1046 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_port_attach_handler() local
1049 ASSERT(fport != NULL); in fcip_port_attach_handler()
1087 fcip_is_supported_fc_topology(fport->fcipp_topology)) { in fcip_port_attach_handler()
1146 (void) fcip_softstate_free(fport); in fcip_port_attach_handler()
1160 fcip_handle_resume(fcip_port_info_t *fport, fc_ulp_port_info_t *port_info, in fcip_handle_resume() argument
1164 struct fcip *fptr = fport->fcipp_fcip; in fcip_handle_resume()
1189 fport->fcipp_topology = port_info->port_flags; in fcip_handle_resume()
1190 fport->fcipp_pstate = port_info->port_state; in fcip_handle_resume()
1258 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_rt_update() local
1363 fc_ulp_get_fca_device(fport->fcipp_handle, pmap->map_did); in fcip_rt_update()
1371 } else if (FC_TOP_EXTERNAL(fport->fcipp_topology)) { in fcip_rt_update()
1464 fcip_port_info_t *fport; in fcip_detach() local
1485 fport = fcip_port_head; in fcip_detach()
1486 while (fport != NULL) { in fcip_detach()
1487 fptr = fport->fcipp_fcip; in fcip_detach()
1530 fport = fport->fcipp_next; in fcip_detach()
1535 if (fport != NULL) { in fcip_detach()
1539 fport = fcip_port_head; in fcip_detach()
1540 while (fport != NULL) { in fcip_detach()
1541 fptr = fport->fcipp_fcip; in fcip_detach()
1545 fport = fport->fcipp_next; in fcip_detach()
1555 fport = fcip_port_head; in fcip_detach()
1556 while (fport != NULL) { in fcip_detach()
1559 fptr = fport->fcipp_fcip; in fcip_detach()
1573 fport = fcip_softstate_free(fport); in fcip_detach()
1585 fport = fport->fcipp_next; in fcip_detach()
1625 fcip_port_info_t *fport; in fcip_port_detach() local
1648 fport = fcip_port_head; in fcip_port_detach()
1649 while (fport != NULL) { in fcip_port_detach()
1650 if (fport->fcipp_handle == in fcip_port_detach()
1652 fptr = fport->fcipp_fcip; in fcip_port_detach()
1696 (void) fcip_softstate_free(fport); in fcip_port_detach()
1702 fport = fport->fcipp_next; in fcip_port_detach()
1704 ASSERT(fport == NULL); in fcip_port_detach()
1713 fport = fcip_port_head; in fcip_port_detach()
1714 while (fport != NULL) { in fcip_port_detach()
1715 if (fport->fcipp_handle == port_info->port_handle) { in fcip_port_detach()
1718 fport = fport->fcipp_next; in fcip_port_detach()
1720 if (fport == NULL) { in fcip_port_detach()
1724 rval = fcip_handle_suspend(fport, cmd); in fcip_port_detach()
1790 fcip_handle_suspend(fcip_port_info_t *fport, fc_detach_cmd_t cmd) in fcip_handle_suspend() argument
1792 struct fcip *fptr = fport->fcipp_fcip; in fcip_handle_suspend()
2199 fcip_port_info_t *fport; in fcip_statec_cb() local
2207 fport = fcip_get_port(phandle); in fcip_statec_cb()
2209 if (fport == NULL) { in fcip_statec_cb()
2213 fptr = fport->fcipp_fcip; in fcip_statec_cb()
2220 instance = ddi_get_instance(fport->fcipp_dip); in fcip_statec_cb()
2241 fport->fcipp_pstate = port_state; in fcip_statec_cb()
2247 if (fport->fcipp_topology != port_top && in fcip_statec_cb()
2252 fport->fcipp_topology, port_top)); in fcip_statec_cb()
2258 fport->fcipp_topology = port_top; in fcip_statec_cb()
2426 fcip_port_info_t *fport; in fcip_get_port() local
2431 fport = fcip_port_head; in fcip_get_port()
2433 while (fport != NULL) { in fcip_get_port()
2434 if (fport->fcipp_handle == phandle) { in fcip_get_port()
2438 fport = fport->fcipp_next; in fcip_get_port()
2443 return (fport); in fcip_get_port()
2455 fcip_port_info_t *fport; in fcip_els_cb() local
2464 fport = fcip_get_port(phandle); in fcip_els_cb()
2465 if (fport == NULL) { in fcip_els_cb()
2469 fptr = fport->fcipp_fcip; in fcip_els_cb()
2475 instance = ddi_get_instance(fport->fcipp_dip); in fcip_els_cb()
2515 &fport->fcipp_nwwn, in fcip_els_cb()
2527 (void) fc_ulp_ubrelease(fport->fcipp_handle, 1, in fcip_els_cb()
2562 (void) fc_ulp_ubrelease(fport->fcipp_handle, 1, in fcip_els_cb()
2605 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_handle_farp_request() local
2642 fcmd->resp_pwwn = fport->fcipp_pwwn; in fcip_handle_farp_request()
2643 fcmd->resp_nwwn = fport->fcipp_nwwn; in fcip_handle_farp_request()
2645 fcip_init_unicast_pkt(fcip_pkt, fport->fcipp_sid, in fcip_handle_farp_request()
2649 fc_ulp_get_fca_device(fport->fcipp_handle, fcmd->req_id); in fcip_handle_farp_request()
2674 rval = fc_ulp_issue_els(fport->fcipp_handle, fc_pkt); in fcip_handle_farp_request()
2752 fcip_port_info_t *fport; in fcip_data_cb() local
2768 fport = fcip_get_port(phandle); in fcip_data_cb()
2769 if (fport == NULL) { in fcip_data_cb()
2773 fptr = fport->fcipp_fcip; in fcip_data_cb()
2798 ddi_get_instance(fport->fcipp_dip))); in fcip_data_cb()
2854 if ((fcip_wwn_compare(&nhdr->net_dest_addr, &fport->fcipp_pwwn, in fcip_data_cb()
3050 fcip_port_info_t *fport; in fcip_cache_arp_broadcast() local
3055 fport = fptr->fcip_port_info; in fcip_cache_arp_broadcast()
3056 if (fport == NULL) { in fcip_cache_arp_broadcast()
3059 ASSERT(fport != NULL); in fcip_cache_arp_broadcast()
3188 fcip_port_info_t *fport; in fcip_ubfree() local
3192 fport = fcip_get_port(fesb_argp->phandle); in fcip_ubfree()
3193 fptr = fport->fcipp_fcip; in fcip_ubfree()
3945 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_start() local
4027 if (fc_ulp_init_packet((opaque_t)fport->fcipp_handle, in fcip_start()
4042 fcip_init_unicast_pkt(fcip_pkt, fport->fcipp_sid, in fcip_start()
4181 fcip_port_info_t *fport; in fcip_transport() local
4188 fport = fptr->fcip_port_info; in fcip_transport()
4239 rval = fc_ulp_transport(fport->fcipp_handle, fc_pkt); in fcip_transport()
4342 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_handle_topology() local
4353 fport->fcipp_pstate, fport->fcipp_topology)); in fcip_handle_topology()
4360 if (!fcip_is_supported_fc_topology(fport->fcipp_topology)) { in fcip_handle_topology()
4363 fptr->fcip_instance, fport->fcipp_topology)); in fcip_handle_topology()
4367 switch (fport->fcipp_topology) { in fcip_handle_topology()
4388 if (fc_ulp_getportmap(fport->fcipp_handle, &port_map, in fcip_handle_topology()
4439 if (fc_ulp_getportmap(fport->fcipp_handle, &port_map, in fcip_handle_topology()
4463 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_port_ns() local
4488 rfc.rfc_port_id.port_id = fport->fcipp_sid.port_id; in fcip_port_ns()
4521 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_init_port() local
4525 ASSERT(fport != NULL); in fcip_init_port()
4570 rval = fc_ulp_uballoc(fport->fcipp_handle, &fptr->fcip_ub_nbufs, in fcip_init_port()
4601 ddi_get_instance(fport->fcipp_dip)); in fcip_init_port()
4621 (fport->fcipp_fca_pkt_size + sizeof (fcip_pkt_t)), in fcip_init_port()
4623 NULL, (void *)fport, NULL, 0); in fcip_init_port()
4628 8, fcip_sendup_constructor, NULL, NULL, (void *)fport, NULL, 0); in fcip_init_port()
4683 (void) fc_ulp_ubfree(fport->fcipp_handle, fptr->fcip_ub_nbufs, in fcip_init_port()
4700 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_setup_mac_addr() local
4713 if ((fport->fcipp_nwwn.w.wwn_hi != 0) || in fcip_setup_mac_addr()
4714 (fport->fcipp_nwwn.w.wwn_lo != 0)) { in fcip_setup_mac_addr()
4717 wwn_to_ether(&fport->fcipp_nwwn, &fptr->fcip_macaddr); in fcip_setup_mac_addr()
4773 fcip_softstate_free(fcip_port_info_t *fport) in fcip_softstate_free() argument
4783 if (fport) { in fcip_softstate_free()
4784 phandle = fport->fcipp_handle; in fcip_softstate_free()
4785 fptr = fport->fcipp_fcip; in fcip_softstate_free()
4896 if (cur_fport == fport) { in fcip_softstate_free()
4906 ASSERT(cur_fport == fport); in fcip_softstate_free()
4912 prev_fport->fcipp_next = fport->fcipp_next; in fcip_softstate_free()
4917 fcip_port_head = fport->fcipp_next; in fcip_softstate_free()
4919 next_fport = fport->fcipp_next; in fcip_softstate_free()
4920 kmem_free(fport, sizeof (fcip_port_info_t)); in fcip_softstate_free()
5011 fcip_port_info_t *fport; in fcip_udreq() local
5038 fport = fptr->fcip_port_info; in fcip_udreq()
5130 bcopy(&fport->fcipp_pwwn, &headerp->net_src_addr, in fcip_udreq()
5171 fcip_port_info_t *fport; in fcip_areq() local
5197 for (fport = fcip_port_head; fport; fport = fport->fcipp_next) { in fcip_areq()
5198 if ((fptr = fport->fcipp_fcip) == NULL) { in fcip_areq()
5211 if (fport == NULL) { in fcip_areq()
5385 fcip_port_info_t *fport; in fcip_pareq() local
5404 fport = fptr->fcip_port_info; in fcip_pareq()
5410 wwn_to_ether(&fport->fcipp_pwwn, &addr); in fcip_pareq()
5555 fcip_port_info_t *fport; in fcip_dl_ioc_hdr_info() local
5577 fport = fptr->fcip_port_info; in fcip_dl_ioc_hdr_info()
5626 bcopy(&fport->fcipp_pwwn, &headerp->net_src_addr, sizeof (la_wwn_t)); in fcip_dl_ioc_hdr_info()
5657 fcip_port_info_t *fport = (fcip_port_info_t *)arg; in fcip_cache_constructor() local
5663 ASSERT(fport != NULL); in fcip_cache_constructor()
5665 fptr = fport->fcipp_fcip; in fcip_cache_constructor()
5690 if (ddi_dma_alloc_handle(fport->fcipp_dip, in fcip_cache_constructor()
5691 &fport->fcipp_cmd_dma_attr, cb, NULL, in fcip_cache_constructor()
5717 fcip_port_info_t *fport = (fcip_port_info_t *)arg; in fcip_cache_destructor() local
5720 ASSERT(fport != NULL); in fcip_cache_destructor()
5722 fptr = fport->fcipp_fcip; in fcip_cache_destructor()
5740 fcip_port_info_t *fport; in fcip_get_dest() local
5762 fport = fptr->fcip_port_info; in fcip_get_dest()
5827 pd = fc_ulp_get_remote_port(fport->fcipp_handle, in fcip_get_dest()
5842 pd = fc_ulp_get_remote_port(fport->fcipp_handle, in fcip_get_dest()
5851 pd = fc_ulp_get_remote_port(fport->fcipp_handle, in fcip_get_dest()
5878 (FC_TOP_EXTERNAL(fport->fcipp_topology) || in fcip_get_dest()
5879 (fport->fcipp_topology == FC_TOP_PT_PT))) { in fcip_get_dest()
6028 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_do_farp() local
6093 fcmd->req_id = fport->fcipp_sid; in fcip_do_farp()
6095 bcopy(&fport->fcipp_pwwn, &fcmd->req_pwwn, sizeof (la_wwn_t)); in fcip_do_farp()
6096 bcopy(&fport->fcipp_nwwn, &fcmd->req_nwwn, sizeof (la_wwn_t)); in fcip_do_farp()
6119 rval = fc_ulp_issue_els(fport->fcipp_handle, fc_pkt); in fcip_do_farp()
6193 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_do_plogi() local
6238 fr_hdr->s_id = fport->fcipp_sid.port_id; in fcip_do_plogi()
6269 rval = fc_ulp_login(fport->fcipp_handle, &fc_pkt, 1); in fcip_do_plogi()
6292 fcip_port_info_t *fport; in fcip_ipkt_callback() local
6306 fport = fptr->fcip_port_info; in fcip_ipkt_callback()
6335 fc_ulp_get_fca_device(fport->fcipp_handle, d_id); in fcip_ipkt_callback()
6357 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_pkt_alloc() local
6385 fport->fcipp_cmd_dma_attr.dma_attr_sgllen) { in fcip_pkt_alloc()
6463 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_ipkt_alloc() local
6473 fport->fcipp_fca_pkt_size), flags); in fcip_ipkt_alloc()
6495 &fport->fcipp_cmd_dma_attr, cb, NULL, in fcip_ipkt_alloc()
6501 &fport->fcipp_fca_acc_attr, DDI_DMA_CONSISTENT, in fcip_ipkt_alloc()
6525 fport->fcipp_cmd_dma_attr.dma_attr_sgllen) { in fcip_ipkt_alloc()
6549 &fport->fcipp_resp_dma_attr, cb, NULL, in fcip_ipkt_alloc()
6555 &fport->fcipp_fca_acc_attr, DDI_DMA_CONSISTENT, in fcip_ipkt_alloc()
6579 fport->fcipp_resp_dma_attr.dma_attr_sgllen) { in fcip_ipkt_alloc()
6610 if (fc_ulp_init_packet((opaque_t)fport->fcipp_handle, in fcip_ipkt_alloc()
6648 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_ipkt_free() local
6673 if (fc_ulp_uninit_packet(fport->fcipp_handle, fc_pkt) != FC_SUCCESS) { in fcip_ipkt_free()
6679 kmem_free(fcip_pkt, (sizeof (fcip_pkt_t) + fport->fcipp_fca_pkt_size)); in fcip_ipkt_free()
6733 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_init_broadcast_pkt() local
6739 sid = fport->fcipp_sid.port_id; in fcip_init_broadcast_pkt()
6919 fcip_port_info_t *fport = fptr->fcip_port_info; in fcip_get_broadcast_did() local
6923 sid = fport->fcipp_sid.port_id; in fcip_get_broadcast_did()
6925 switch (fport->fcipp_topology) { in fcip_get_broadcast_did()
6931 if (fc_ulp_getportmap(fport->fcipp_handle, &port_map, in fcip_get_broadcast_did()
7170 fcip_port_info_t *fport; in fcip_pkt_timeout() local
7175 fport = fptr->fcip_port_info; in fcip_pkt_timeout()
7182 rval = fc_ulp_abort(fport->fcipp_handle, fc_pkt, KM_NOSLEEP); in fcip_pkt_timeout()
7392 fcip_port_info_t *fport; in fcip_check_port_exists() local
7395 fport = fptr->fcip_port_info; in fcip_check_port_exists()
7398 if (cur_fport == fport) { in fcip_check_port_exists()
7421 fcip_port_info_t *fport = (fcip_port_info_t *)arg; in fcip_sendup_constructor() local
7423 ASSERT(fport != NULL); in fcip_sendup_constructor()