Lines Matching defs:efct
95 struct efct *efct;
99 if (!tpg->nport || !tpg->nport->efct) {
104 efct = tpg->nport->efct;
105 efc = efct->efcport;
114 efc_log_debug(efct, "enable portal group %d\n", tpg->tpgt);
116 ret = efct_xport_control(efct->xport, EFCT_XPORT_PORT_ONLINE);
118 efct->tgt_efct.lio_nport = NULL;
119 efc_log_debug(efct, "cannot bring port online\n");
123 efc_log_debug(efct, "disable portal group %d\n", tpg->tpgt);
154 struct efct *efct;
166 efct = lio_vport->efct;
167 efc = efct->efcport;
171 efc_log_debug(efct, "enable portal group %d\n", tpg->tpgt);
182 efc_log_err(efct, "Failed to create Vport\n");
194 efc_log_debug(efct, "disable portal group %d\n", tpg->tpgt);
201 efc_nport_vport_del(efct->efcport, efc->domain,
331 struct efct *efct = io->efct;
336 atomic_sub_return(1, &efct->tgt_efct.ios_in_use);
368 ocp->seg_map_cnt = dma_map_sg(&io->efct->pci->dev, cmd->t_data_sg,
384 dma_unmap_sg(&io->efct->pci->dev, cmd->t_data_sg,
714 static struct efct *efct_find_wwpn(u64 wwpn)
716 struct efct *efct;
719 list_for_each_entry(efct, &efct_devices, list_entry) {
721 if (wwpn == efct_get_wwpn(&efct->hw))
722 return efct;
733 struct efct *efct;
741 efct = efct_find_wwpn(wwpn);
742 if (!efct) {
751 lio_nport->efct = efct;
755 efct->tgt_efct.lio_nport = lio_nport;
765 struct efct *efct;
793 efct = efct_find_wwpn(p_wwpn);
794 if (!efct) {
803 lio_vport->efct = efct;
826 new_fc_vport = fc_vport_create(efct->shost, 0, &vport_id);
828 efc_log_err(efct, "fc_vport_create failed\n");
835 spin_lock_irqsave(&efct->tgt_efct.efct_lio_lock, flags);
837 list_add_tail(&vport_list->list_entry, &efct->tgt_efct.vport_list);
838 spin_unlock_irqrestore(&efct->tgt_efct.efct_lio_lock, flags);
848 struct efct *efct = lio_nport->efct;
853 kfree(efct->tgt_efct.lio_nport);
854 efct->tgt_efct.lio_nport = NULL;
863 struct efct *efct = lio_vport->efct;
869 spin_lock_irqsave(&efct->tgt_efct.efct_lio_lock, flags);
871 list_for_each_entry_safe(vport, next_vport, &efct->tgt_efct.vport_list,
880 spin_unlock_irqrestore(&efct->tgt_efct.efct_lio_lock, flags);
889 struct efct *efct;
917 efct = lio_nport->efct;
918 efct->tgt_efct.tpg = tpg;
919 efc_log_debug(efct, "create portal group %d\n", tpg->tpgt);
921 xa_init(&efct->lookup);
931 struct efct *efct = tpg->nport->efct;
933 efc_log_debug(efct, "drop portal group %d\n", tpg->tpgt);
934 tpg->nport->efct->tgt_efct.tpg = NULL;
936 xa_destroy(&efct->lookup);
946 struct efct *efct;
950 efct = lio_vport->efct;
957 efc_log_err(efct, "Invalid tpgt index: %ld provided\n", n);
982 efc_log_debug(efct, "create vport portal group %d\n", tpg->tpgt);
993 efc_log_debug(tpg->vport->efct, "drop npiv portal group %d\n",
1033 struct efct *efct;
1040 efct = node->efc->base;
1041 spin_lock_irqsave(&efct->tgt_efct.efct_lio_lock, flags);
1042 list_for_each_entry_safe(vport, next, &efct->tgt_efct.vport_list,
1046 efc_log_debug(efct, "found tpg on vport\n");
1051 spin_unlock_irqrestore(&efct->tgt_efct.efct_lio_lock, flags);
1070 struct efct *efct = node->efc->base;
1081 tgt_node->efct = efct;
1096 int efct_scsi_tgt_new_device(struct efct *efct)
1101 efct->tgt_efct.max_sge = sli_get_max_sge(&efct->hw.sli);
1102 efct->tgt_efct.max_sgl = sli_get_max_sgl(&efct->hw.sli);
1105 atomic_set(&efct->tgt_efct.ios_in_use, 0);
1106 total_ios = efct->hw.config.n_io;
1107 efc_log_debug(efct, "total_ios=%d\n", total_ios);
1108 efct->tgt_efct.watermark_min =
1110 efct->tgt_efct.watermark_max =
1112 atomic_set(&efct->tgt_efct.io_high_watermark,
1113 efct->tgt_efct.watermark_max);
1114 atomic_set(&efct->tgt_efct.watermark_hit, 0);
1115 atomic_set(&efct->tgt_efct.initiator_count, 0);
1119 efc_log_err(efct, "workqueue create failed\n");
1123 spin_lock_init(&efct->tgt_efct.efct_lio_lock);
1124 INIT_LIST_HEAD(&efct->tgt_efct.vport_list);
1129 int efct_scsi_tgt_del_device(struct efct *efct)
1139 struct efct *efct = nport->efc->base;
1141 efc_log_debug(efct, "New SPORT: %s bound to %s\n", nport->display_name,
1142 efct->tgt_efct.lio_nport->wwpn_str);
1157 struct efct *efct = wq_data->efct;
1174 } else if (efct->tgt_efct.tpg) {
1175 tpg = efct->tgt_efct.tpg;
1178 efc_log_err(efct, "failed to init session\n");
1192 efc_log_err(efct, "failed to setup session\n");
1201 efc_log_debug(efct, "new initiator sess=%p node=%p id: %llx\n",
1204 if (xa_err(xa_store(&efct->lookup, id, tgt_node, GFP_KERNEL)))
1205 efc_log_err(efct, "Node lookup store failed\n");
1210 ini_count = atomic_add_return(1, &efct->tgt_efct.initiator_count);
1211 watermark = efct->tgt_efct.watermark_max -
1213 watermark = (efct->tgt_efct.watermark_min > watermark) ?
1214 efct->tgt_efct.watermark_min : watermark;
1215 atomic_set(&efct->tgt_efct.io_high_watermark, watermark);
1222 struct efct *efct = node->efc->base;
1234 wq_data->efct = efct;
1244 struct efct *efct = wq_data->efct;
1255 efc_log_err(efct, "unreg session for NULL session\n");
1261 efc_log_debug(efct, "unreg session se_sess=%p node=%p\n",
1279 struct efct *efct = node->efc->base;
1290 efc_log_err(efct, "tgt_node is NULL\n");
1299 xa_erase(&efct->lookup, id);
1302 wq_data->efct = efct;
1309 ini_count = atomic_sub_return(1, &efct->tgt_efct.initiator_count);
1311 watermark = efct->tgt_efct.watermark_max -
1313 watermark = (efct->tgt_efct.watermark_min > watermark) ?
1314 efct->tgt_efct.watermark_min : watermark;
1315 atomic_set(&efct->tgt_efct.io_high_watermark, watermark);
1325 struct efct *efct = io->efct;
1333 atomic_add_return(1, &efct->tgt_efct.ios_in_use);
1336 io->timeout = efct->target_io_timer_sec;
1373 efc_log_err(efct, "No session found to submit IO se_cmd: %p\n",
1384 efc_log_err(efct, "failed to init cmd se_cmd: %p\n", se_cmd);
1401 struct efct *efct = tmfio->efct;
1409 atomic_add_return(1, &efct->tgt_efct.ios_in_use);
1586 .fabric_name = "efct",