Lines Matching refs:lnk

143 static int smc_link_send_delete(struct smc_link *lnk)  in smc_link_send_delete()  argument
145 if (lnk->state == SMC_LNK_ACTIVE && in smc_link_send_delete()
146 !smc_llc_send_delete_link(lnk, SMC_LLC_REQ, true)) { in smc_link_send_delete()
147 smc_llc_link_deleting(lnk); in smc_link_send_delete()
175 struct smc_link *lnk = &lgr->lnk[SMC_SINGLE_LINK]; in smc_lgr_free_work() local
178 if (lnk->state == SMC_LNK_ACTIVE && in smc_lgr_free_work()
179 !smc_link_send_delete(lnk)) { in smc_lgr_free_work()
187 struct smc_link *lnk = &lgr->lnk[SMC_SINGLE_LINK]; in smc_lgr_free_work() local
189 if (!lgr->is_smcd && lnk->state != SMC_LNK_INACTIVE) in smc_lgr_free_work()
190 smc_llc_link_inactive(lnk); in smc_lgr_free_work()
201 struct smc_link *lnk; in smc_lgr_create() local
242 lnk = &lgr->lnk[SMC_SINGLE_LINK]; in smc_lgr_create()
244 lnk->state = SMC_LNK_ACTIVATING; in smc_lgr_create()
245 lnk->link_id = SMC_SINGLE_LINK; in smc_lgr_create()
246 lnk->smcibdev = ini->ib_dev; in smc_lgr_create()
247 lnk->ibport = ini->ib_port; in smc_lgr_create()
248 lnk->path_mtu = in smc_lgr_create()
253 lnk->psn_initial = rndvec[0] + (rndvec[1] << 8) + in smc_lgr_create()
255 rc = smc_ib_determine_gid(lnk->smcibdev, lnk->ibport, in smc_lgr_create()
256 ini->vlan_id, lnk->gid, in smc_lgr_create()
257 &lnk->sgid_index); in smc_lgr_create()
260 rc = smc_llc_link_init(lnk); in smc_lgr_create()
263 rc = smc_wr_alloc_link_mem(lnk); in smc_lgr_create()
266 rc = smc_ib_create_protection_domain(lnk); in smc_lgr_create()
269 rc = smc_ib_create_queue_pair(lnk); in smc_lgr_create()
272 rc = smc_wr_create_link(lnk); in smc_lgr_create()
283 smc_ib_destroy_queue_pair(lnk); in smc_lgr_create()
285 smc_ib_dealloc_protection_domain(lnk); in smc_lgr_create()
287 smc_wr_free_link_mem(lnk); in smc_lgr_create()
289 smc_llc_link_clear(lnk); in smc_lgr_create()
315 &lgr->lnk[SMC_SINGLE_LINK], in smc_buf_unuse()
351 static void smc_link_clear(struct smc_link *lnk) in smc_link_clear() argument
353 lnk->peer_qpn = 0; in smc_link_clear()
354 smc_llc_link_clear(lnk); in smc_link_clear()
355 smc_ib_modify_qp_reset(lnk); in smc_link_clear()
356 smc_wr_free_link(lnk); in smc_link_clear()
357 smc_ib_destroy_queue_pair(lnk); in smc_link_clear()
358 smc_ib_dealloc_protection_domain(lnk); in smc_link_clear()
359 smc_wr_free_link_mem(lnk); in smc_link_clear()
365 struct smc_link *lnk = &lgr->lnk[SMC_SINGLE_LINK]; in smcr_buf_free() local
371 smc_ib_buf_unmap_sg(lnk->smcibdev, buf_desc, in smcr_buf_free()
374 smc_ib_buf_unmap_sg(lnk->smcibdev, buf_desc, in smcr_buf_free()
439 smc_link_clear(&lgr->lnk[SMC_SINGLE_LINK]); in smc_lgr_free()
465 smc_llc_link_inactive(&lgr->lnk[SMC_SINGLE_LINK]); in __smc_lgr_terminate()
484 wake_up(&lgr->lnk[SMC_SINGLE_LINK].wr_reg_wait); in __smc_lgr_terminate()
503 lgr->lnk[SMC_SINGLE_LINK].smcibdev == smcibdev && in smc_port_terminate()
504 lgr->lnk[SMC_SINGLE_LINK].ibport == ibport) in smc_port_terminate()
591 !memcmp(lgr->lnk[SMC_SINGLE_LINK].peer_gid, &lcl->gid, in smcr_lgr_match()
593 !memcmp(lgr->lnk[SMC_SINGLE_LINK].peer_mac, lcl->mac, in smcr_lgr_match()
597 lgr->lnk[SMC_SINGLE_LINK].peer_qpn == clcqpn); in smcr_lgr_match()
738 struct smc_link *lnk; in smcr_new_buf_create() local
758 lnk = &lgr->lnk[SMC_SINGLE_LINK]; in smcr_new_buf_create()
769 rc = smc_ib_buf_map_sg(lnk->smcibdev, buf_desc, in smcr_new_buf_create()
779 rc = smc_ib_get_memory_region(lnk->roce_pd, in smcr_new_buf_create()
911 smc_ib_sync_sg_for_cpu(lgr->lnk[SMC_SINGLE_LINK].smcibdev, in smc_sndbuf_sync_sg_for_cpu()
921 smc_ib_sync_sg_for_device(lgr->lnk[SMC_SINGLE_LINK].smcibdev, in smc_sndbuf_sync_sg_for_device()
931 smc_ib_sync_sg_for_cpu(lgr->lnk[SMC_SINGLE_LINK].smcibdev, in smc_rmb_sync_sg_for_cpu()
941 smc_ib_sync_sg_for_device(lgr->lnk[SMC_SINGLE_LINK].smcibdev, in smc_rmb_sync_sg_for_device()
1043 struct smc_link *lnk = &lgr->lnk[SMC_SINGLE_LINK]; in smc_core_exit() local
1045 if (lnk->state == SMC_LNK_ACTIVE) in smc_core_exit()
1046 smc_llc_send_delete_link(lnk, SMC_LLC_REQ, in smc_core_exit()
1048 smc_llc_link_inactive(lnk); in smc_core_exit()