Lines Matching full:io
50 efc_log_err(efc, "els io alloc disabled\n"); in efc_els_io_alloc_size()
64 /* populate generic io fields */ in efc_els_io_alloc_size()
68 els->io.req.size = reqlen; in efc_els_io_alloc_size()
69 els->io.req.virt = dma_alloc_coherent(&efc->pci->dev, els->io.req.size, in efc_els_io_alloc_size()
70 &els->io.req.phys, GFP_KERNEL); in efc_els_io_alloc_size()
71 if (!els->io.req.virt) { in efc_els_io_alloc_size()
76 els->io.rsp.size = rsplen; in efc_els_io_alloc_size()
77 els->io.rsp.virt = dma_alloc_coherent(&efc->pci->dev, els->io.rsp.size, in efc_els_io_alloc_size()
78 &els->io.rsp.phys, GFP_KERNEL); in efc_els_io_alloc_size()
79 if (!els->io.rsp.virt) { in efc_els_io_alloc_size()
80 dma_free_coherent(&efc->pci->dev, els->io.req.size, in efc_els_io_alloc_size()
81 els->io.req.virt, els->io.req.phys); in efc_els_io_alloc_size()
90 /* add els structure to ELS IO list */ in efc_els_io_alloc_size()
122 /* Send list empty event if the IO allocator in _efc_els_io_free()
133 dma_free_coherent(&efc->pci->dev, els->io.rsp.size, in _efc_els_io_free()
134 els->io.rsp.virt, els->io.rsp.phys); in _efc_els_io_free()
135 dma_free_coherent(&efc->pci->dev, els->io.req.size, in _efc_els_io_free()
136 els->io.req.virt, els->io.req.phys); in _efc_els_io_free()
173 els->io.rsp.len = length; in efc_els_req_cb()
178 cbdata.els_rsp = els->io.rsp; in efc_els_req_cb()
187 if (length > els->io.rsp.size) { in efc_els_req_cb()
190 length, els->io.rsp.size); in efc_els_req_cb()
195 /* Post event to ELS IO object */ in efc_els_req_cb()
245 void efc_disc_io_complete(struct efc_disc_io *io, u32 len, u32 status, in efc_disc_io_complete() argument
249 container_of(io, struct efc_els_io_req, io); in efc_disc_io_complete()
266 /* Prepare the IO request details */ in efc_els_send_req()
267 els->io.io_type = io_type; in efc_els_send_req()
268 els->io.xmit_len = els->io.req.size; in efc_els_send_req()
269 els->io.rsp_len = els->io.rsp.size; in efc_els_send_req()
270 els->io.rpi = node->rnode.indicator; in efc_els_send_req()
271 els->io.vpi = node->nport->indicator; in efc_els_send_req()
272 els->io.s_id = node->nport->fc_id; in efc_els_send_req()
273 els->io.d_id = node->rnode.fc_id; in efc_els_send_req()
276 els->io.rpi_registered = true; in efc_els_send_req()
280 rc = efc->tt.send_els(efc, &els->io); in efc_els_send_req()
286 cbdata.els_rsp = els->io.rsp; in efc_els_send_req()
303 cbdata.els_rsp = els->io.rsp; in efc_els_retry()
307 rc = efc->tt.send_els(efc, &els->io); in efc_els_retry()
333 cbdata.els_rsp = els->io.rsp; in efc_els_acc_cb()
363 els->io.io_type = EFC_DISC_IO_ELS_RESP; in efc_els_send_rsp()
366 /* Prepare the IO request details */ in efc_els_send_rsp()
367 els->io.xmit_len = rsplen; in efc_els_send_rsp()
368 els->io.rsp_len = els->io.rsp.size; in efc_els_send_rsp()
369 els->io.rpi = node->rnode.indicator; in efc_els_send_rsp()
370 els->io.vpi = node->nport->indicator; in efc_els_send_rsp()
372 els->io.s_id = node->nport->fc_id; in efc_els_send_rsp()
374 els->io.s_id = els->io.iparam.els.s_id; in efc_els_send_rsp()
375 els->io.d_id = node->rnode.fc_id; in efc_els_send_rsp()
378 els->io.rpi_registered = true; in efc_els_send_rsp()
380 rc = efc->tt.send_els(efc, &els->io); in efc_els_send_rsp()
386 cbdata.els_rsp = els->io.rsp; in efc_els_send_rsp()
403 efc_log_err(efc, "IO alloc failed\n"); in efc_send_plogi()
409 plogi = els->io.req.virt; in efc_send_plogi()
432 efc_log_err(efc, "IO alloc failed\n"); in efc_send_flogi()
439 flogi = els->io.req.virt; in efc_send_flogi()
461 efc_log_err(efc, "IO alloc failed\n"); in efc_send_fdisc()
468 fdisc = els->io.req.virt; in efc_send_fdisc()
491 efc_log_err(efc, "IO alloc failed\n"); in efc_send_prli()
498 pp = els->io.req.virt; in efc_send_prli()
531 efc_log_err(efc, "IO alloc failed\n"); in efc_send_logo()
539 logo = els->io.req.virt; in efc_send_logo()
564 efc_log_err(efc, "IO alloc failed\n"); in efc_send_adisc()
572 adisc = els->io.req.virt; in efc_send_adisc()
595 efc_log_err(efc, "IO alloc failed\n"); in efc_send_scr()
601 req = els->io.req.virt; in efc_send_scr()
620 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_ls_rjt()
628 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_ls_rjt()
629 els->io.iparam.els.ox_id = ox_id; in efc_send_ls_rjt()
631 rjt = els->io.req.virt; in efc_send_ls_rjt()
653 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_plogi_acc()
659 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_plogi_acc()
660 els->io.iparam.els.ox_id = ox_id; in efc_send_plogi_acc()
662 plogi = els->io.req.virt; in efc_send_plogi_acc()
687 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_flogi_p2p_acc()
693 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_flogi_p2p_acc()
694 els->io.iparam.els.ox_id = ox_id; in efc_send_flogi_p2p_acc()
695 els->io.iparam.els.s_id = s_id; in efc_send_flogi_p2p_acc()
697 flogi = els->io.req.virt; in efc_send_flogi_p2p_acc()
723 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_prli_acc()
729 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_prli_acc()
730 els->io.iparam.els.ox_id = ox_id; in efc_send_prli_acc()
732 pp = els->io.req.virt; in efc_send_prli_acc()
765 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_prlo_acc()
771 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_prlo_acc()
772 els->io.iparam.els.ox_id = ox_id; in efc_send_prlo_acc()
774 pp = els->io.req.virt; in efc_send_prlo_acc()
798 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_ls_acc()
804 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_ls_acc()
805 els->io.iparam.els.ox_id = ox_id; in efc_send_ls_acc()
807 acc = els->io.req.virt; in efc_send_ls_acc()
826 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_logo_acc()
832 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_logo_acc()
833 els->io.iparam.els.ox_id = ox_id; in efc_send_logo_acc()
835 logo = els->io.req.virt; in efc_send_logo_acc()
855 efc_log_err(efc, "els IO alloc failed\n"); in efc_send_adisc_acc()
862 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_adisc_acc()
863 els->io.iparam.els.ox_id = ox_id; in efc_send_adisc_acc()
866 adisc = els->io.req.virt; in efc_send_adisc_acc()
905 efc_log_err(efc, "IO alloc failed\n"); in efc_ns_send_rftid()
909 els->io.iparam.ct.r_ctl = FC_RCTL_ELS_REQ; in efc_ns_send_rftid()
910 els->io.iparam.ct.type = FC_TYPE_CT; in efc_ns_send_rftid()
911 els->io.iparam.ct.df_ctl = 0; in efc_ns_send_rftid()
912 els->io.iparam.ct.timeout = EFC_FC_ELS_SEND_DEFAULT_TIMEOUT; in efc_ns_send_rftid()
916 ct = els->io.req.virt; in efc_ns_send_rftid()
942 efc_log_err(efc, "IO alloc failed\n"); in efc_ns_send_rffid()
946 els->io.iparam.ct.r_ctl = FC_RCTL_ELS_REQ; in efc_ns_send_rffid()
947 els->io.iparam.ct.type = FC_TYPE_CT; in efc_ns_send_rffid()
948 els->io.iparam.ct.df_ctl = 0; in efc_ns_send_rffid()
949 els->io.iparam.ct.timeout = EFC_FC_ELS_SEND_DEFAULT_TIMEOUT; in efc_ns_send_rffid()
952 ct = els->io.req.virt; in efc_ns_send_rffid()
982 efc_log_err(efc, "IO alloc failed\n"); in efc_ns_send_gidpt()
986 els->io.iparam.ct.r_ctl = FC_RCTL_ELS_REQ; in efc_ns_send_gidpt()
987 els->io.iparam.ct.type = FC_TYPE_CT; in efc_ns_send_gidpt()
988 els->io.iparam.ct.df_ctl = 0; in efc_ns_send_gidpt()
989 els->io.iparam.ct.timeout = EFC_FC_ELS_SEND_DEFAULT_TIMEOUT; in efc_ns_send_gidpt()
993 ct = els->io.req.virt; in efc_ns_send_gidpt()
1036 efc_log_err(efc, "IO alloc failed\n"); in efc_send_ct_rsp()
1040 rsp = els->io.rsp.virt; in efc_send_ct_rsp()
1051 /* Prepare the IO request details */ in efc_send_ct_rsp()
1052 els->io.io_type = EFC_DISC_IO_CT_RESP; in efc_send_ct_rsp()
1053 els->io.xmit_len = sizeof(*rsp); in efc_send_ct_rsp()
1055 els->io.rpi = node->rnode.indicator; in efc_send_ct_rsp()
1056 els->io.d_id = node->rnode.fc_id; in efc_send_ct_rsp()
1058 memset(&els->io.iparam, 0, sizeof(els->io.iparam)); in efc_send_ct_rsp()
1060 els->io.iparam.ct.ox_id = ox_id; in efc_send_ct_rsp()
1061 els->io.iparam.ct.r_ctl = 3; in efc_send_ct_rsp()
1062 els->io.iparam.ct.type = FC_TYPE_CT; in efc_send_ct_rsp()
1063 els->io.iparam.ct.df_ctl = 0; in efc_send_ct_rsp()
1064 els->io.iparam.ct.timeout = 5; in efc_send_ct_rsp()
1066 if (efc->tt.send_els(efc, &els->io)) { in efc_send_ct_rsp()