Lines Matching full:io

52 		efc_log_err(efc, "els io alloc disabled\n");  in efc_els_io_alloc_size()
68 /* populate generic io fields */ in efc_els_io_alloc_size()
72 els->io.req.size = reqlen; in efc_els_io_alloc_size()
73 els->io.req.virt = dma_alloc_coherent(&efc->pci->dev, els->io.req.size, in efc_els_io_alloc_size()
74 &els->io.req.phys, GFP_DMA); in efc_els_io_alloc_size()
75 if (!els->io.req.virt) { in efc_els_io_alloc_size()
81 els->io.rsp.size = rsplen; in efc_els_io_alloc_size()
82 els->io.rsp.virt = dma_alloc_coherent(&efc->pci->dev, els->io.rsp.size, in efc_els_io_alloc_size()
83 &els->io.rsp.phys, GFP_DMA); in efc_els_io_alloc_size()
84 if (!els->io.rsp.virt) { in efc_els_io_alloc_size()
85 dma_free_coherent(&efc->pci->dev, els->io.req.size, in efc_els_io_alloc_size()
86 els->io.req.virt, els->io.req.phys); in efc_els_io_alloc_size()
95 /* add els structure to ELS IO list */ in efc_els_io_alloc_size()
126 /* Send list empty event if the IO allocator in _efc_els_io_free()
137 dma_free_coherent(&efc->pci->dev, els->io.rsp.size, in _efc_els_io_free()
138 els->io.rsp.virt, els->io.rsp.phys); in _efc_els_io_free()
139 dma_free_coherent(&efc->pci->dev, els->io.req.size, in _efc_els_io_free()
140 els->io.req.virt, els->io.req.phys); in _efc_els_io_free()
177 els->io.rsp.len = length; in efc_els_req_cb()
182 cbdata.els_rsp = els->io.rsp; in efc_els_req_cb()
191 if (length > els->io.rsp.size) { in efc_els_req_cb()
194 length, els->io.rsp.size); in efc_els_req_cb()
199 /* Post event to ELS IO object */ in efc_els_req_cb()
249 void efc_disc_io_complete(struct efc_disc_io *io, u32 len, u32 status, in efc_disc_io_complete() argument
253 container_of(io, struct efc_els_io_req, io); in efc_disc_io_complete()
270 /* Prepare the IO request details */ in efc_els_send_req()
271 els->io.io_type = io_type; in efc_els_send_req()
272 els->io.xmit_len = els->io.req.size; in efc_els_send_req()
273 els->io.rsp_len = els->io.rsp.size; in efc_els_send_req()
274 els->io.rpi = node->rnode.indicator; in efc_els_send_req()
275 els->io.vpi = node->nport->indicator; in efc_els_send_req()
276 els->io.s_id = node->nport->fc_id; in efc_els_send_req()
277 els->io.d_id = node->rnode.fc_id; in efc_els_send_req()
280 els->io.rpi_registered = true; in efc_els_send_req()
284 rc = efc->tt.send_els(efc, &els->io); in efc_els_send_req()
290 cbdata.els_rsp = els->io.rsp; in efc_els_send_req()
307 cbdata.els_rsp = els->io.rsp; in efc_els_retry()
311 rc = efc->tt.send_els(efc, &els->io); in efc_els_retry()
337 cbdata.els_rsp = els->io.rsp; in efc_els_acc_cb()
367 els->io.io_type = EFC_DISC_IO_ELS_RESP; in efc_els_send_rsp()
370 /* Prepare the IO request details */ in efc_els_send_rsp()
371 els->io.xmit_len = rsplen; in efc_els_send_rsp()
372 els->io.rsp_len = els->io.rsp.size; in efc_els_send_rsp()
373 els->io.rpi = node->rnode.indicator; in efc_els_send_rsp()
374 els->io.vpi = node->nport->indicator; in efc_els_send_rsp()
376 els->io.s_id = node->nport->fc_id; in efc_els_send_rsp()
378 els->io.s_id = els->io.iparam.els.s_id; in efc_els_send_rsp()
379 els->io.d_id = node->rnode.fc_id; in efc_els_send_rsp()
382 els->io.rpi_registered = true; in efc_els_send_rsp()
384 rc = efc->tt.send_els(efc, &els->io); in efc_els_send_rsp()
390 cbdata.els_rsp = els->io.rsp; in efc_els_send_rsp()
407 efc_log_err(efc, "IO alloc failed\n"); in efc_send_plogi()
413 plogi = els->io.req.virt; in efc_send_plogi()
436 efc_log_err(efc, "IO alloc failed\n"); in efc_send_flogi()
443 flogi = els->io.req.virt; in efc_send_flogi()
465 efc_log_err(efc, "IO alloc failed\n"); in efc_send_fdisc()
472 fdisc = els->io.req.virt; in efc_send_fdisc()
495 efc_log_err(efc, "IO alloc failed\n"); in efc_send_prli()
502 pp = els->io.req.virt; in efc_send_prli()
535 efc_log_err(efc, "IO alloc failed\n"); in efc_send_logo()
543 logo = els->io.req.virt; in efc_send_logo()
568 efc_log_err(efc, "IO alloc failed\n"); in efc_send_adisc()
576 adisc = els->io.req.virt; in efc_send_adisc()
599 efc_log_err(efc, "IO alloc failed\n"); in efc_send_scr()
605 req = els->io.req.virt; in efc_send_scr()
624 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_ls_rjt()
632 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_ls_rjt()
633 els->io.iparam.els.ox_id = ox_id; in efc_send_ls_rjt()
635 rjt = els->io.req.virt; in efc_send_ls_rjt()
657 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_plogi_acc()
663 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_plogi_acc()
664 els->io.iparam.els.ox_id = ox_id; in efc_send_plogi_acc()
666 plogi = els->io.req.virt; in efc_send_plogi_acc()
691 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_flogi_p2p_acc()
697 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_flogi_p2p_acc()
698 els->io.iparam.els.ox_id = ox_id; in efc_send_flogi_p2p_acc()
699 els->io.iparam.els.s_id = s_id; in efc_send_flogi_p2p_acc()
701 flogi = els->io.req.virt; in efc_send_flogi_p2p_acc()
727 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_prli_acc()
733 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_prli_acc()
734 els->io.iparam.els.ox_id = ox_id; in efc_send_prli_acc()
736 pp = els->io.req.virt; in efc_send_prli_acc()
769 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_prlo_acc()
775 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_prlo_acc()
776 els->io.iparam.els.ox_id = ox_id; in efc_send_prlo_acc()
778 pp = els->io.req.virt; in efc_send_prlo_acc()
802 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_ls_acc()
808 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_ls_acc()
809 els->io.iparam.els.ox_id = ox_id; in efc_send_ls_acc()
811 acc = els->io.req.virt; in efc_send_ls_acc()
830 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_logo_acc()
836 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_logo_acc()
837 els->io.iparam.els.ox_id = ox_id; in efc_send_logo_acc()
839 logo = els->io.req.virt; in efc_send_logo_acc()
859 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_adisc_acc()
866 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_adisc_acc()
867 els->io.iparam.els.ox_id = ox_id; in efc_send_adisc_acc()
870 adisc = els->io.req.virt; in efc_send_adisc_acc()
909 efc_log_err(efc, "IO alloc failed\n"); in efc_ns_send_rftid()
913 els->io.iparam.ct.r_ctl = FC_RCTL_ELS_REQ; in efc_ns_send_rftid()
914 els->io.iparam.ct.type = FC_TYPE_CT; in efc_ns_send_rftid()
915 els->io.iparam.ct.df_ctl = 0; in efc_ns_send_rftid()
916 els->io.iparam.ct.timeout = EFC_FC_ELS_SEND_DEFAULT_TIMEOUT; in efc_ns_send_rftid()
920 ct = els->io.req.virt; in efc_ns_send_rftid()
946 efc_log_err(efc, "IO alloc failed\n"); in efc_ns_send_rffid()
950 els->io.iparam.ct.r_ctl = FC_RCTL_ELS_REQ; in efc_ns_send_rffid()
951 els->io.iparam.ct.type = FC_TYPE_CT; in efc_ns_send_rffid()
952 els->io.iparam.ct.df_ctl = 0; in efc_ns_send_rffid()
953 els->io.iparam.ct.timeout = EFC_FC_ELS_SEND_DEFAULT_TIMEOUT; in efc_ns_send_rffid()
956 ct = els->io.req.virt; in efc_ns_send_rffid()
986 efc_log_err(efc, "IO alloc failed\n"); in efc_ns_send_gidpt()
990 els->io.iparam.ct.r_ctl = FC_RCTL_ELS_REQ; in efc_ns_send_gidpt()
991 els->io.iparam.ct.type = FC_TYPE_CT; in efc_ns_send_gidpt()
992 els->io.iparam.ct.df_ctl = 0; in efc_ns_send_gidpt()
993 els->io.iparam.ct.timeout = EFC_FC_ELS_SEND_DEFAULT_TIMEOUT; in efc_ns_send_gidpt()
997 ct = els->io.req.virt; in efc_ns_send_gidpt()
1040 efc_log_err(efc, "IO alloc failed\n"); in efc_send_ct_rsp()
1044 rsp = els->io.rsp.virt; in efc_send_ct_rsp()
1055 /* Prepare the IO request details */ in efc_send_ct_rsp()
1056 els->io.io_type = EFC_DISC_IO_CT_RESP; in efc_send_ct_rsp()
1057 els->io.xmit_len = sizeof(*rsp); in efc_send_ct_rsp()
1059 els->io.rpi = node->rnode.indicator; in efc_send_ct_rsp()
1060 els->io.d_id = node->rnode.fc_id; in efc_send_ct_rsp()
1062 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_ct_rsp()
1064 els->io.iparam.ct.ox_id = ox_id; in efc_send_ct_rsp()
1065 els->io.iparam.ct.r_ctl = 3; in efc_send_ct_rsp()
1066 els->io.iparam.ct.type = FC_TYPE_CT; in efc_send_ct_rsp()
1067 els->io.iparam.ct.df_ctl = 0; in efc_send_ct_rsp()
1068 els->io.iparam.ct.timeout = 5; in efc_send_ct_rsp()
1070 if (efc->tt.send_els(efc, &els->io)) { in efc_send_ct_rsp()