Lines Matching defs:cid

90 /* We have two cid maps, one for tcp which should be used only from passive
94 static void qed_iwarp_cid_cleaned(struct qed_hwfn *p_hwfn, u32 cid)
96 cid -= qed_cxt_get_proto_cid_start(p_hwfn, p_hwfn->p_rdma_info->proto);
100 if (cid < QED_IWARP_PREALLOC_CNT)
102 cid);
104 qed_bmap_release_id(p_hwfn, &p_hwfn->p_rdma_info->cid_map, cid);
124 static int qed_iwarp_alloc_cid(struct qed_hwfn *p_hwfn, u32 *cid)
129 rc = qed_rdma_bmap_alloc_id(p_hwfn, &p_hwfn->p_rdma_info->cid_map, cid);
132 DP_NOTICE(p_hwfn, "Failed in allocating iwarp cid\n");
135 *cid += qed_cxt_get_proto_cid_start(p_hwfn, p_hwfn->p_rdma_info->proto);
137 rc = qed_cxt_dynamic_ilt_alloc(p_hwfn, QED_ELEM_CXT, *cid);
139 qed_iwarp_cid_cleaned(p_hwfn, *cid);
144 static void qed_iwarp_set_tcp_cid(struct qed_hwfn *p_hwfn, u32 cid)
146 cid -= qed_cxt_get_proto_cid_start(p_hwfn, p_hwfn->p_rdma_info->proto);
149 qed_bmap_set_id(p_hwfn, &p_hwfn->p_rdma_info->tcp_cid_map, cid);
153 /* This function allocates a cid for passive tcp (called from syn receive)
154 * the reason it's separate from the regular cid allocation is because it
158 static int qed_iwarp_alloc_tcp_cid(struct qed_hwfn *p_hwfn, u32 *cid)
165 &p_hwfn->p_rdma_info->tcp_cid_map, cid);
171 "can't allocate iwarp tcp cid max-count=%d\n",
174 *cid = QED_IWARP_INVALID_TCP_CID;
178 *cid += qed_cxt_get_proto_cid_start(p_hwfn,
191 u32 cid;
210 rc = qed_iwarp_alloc_cid(p_hwfn, &cid);
214 qp->icid = (u16)cid;
218 init_data.cid = qp->icid;
279 qed_iwarp_cid_cleaned(p_hwfn, cid);
298 init_data.cid = qp->icid;
470 init_data.cid = qp->icid;
638 init_data.cid = ep->tcp_cid;
841 init_data.cid = reject ? ep->tcp_cid : qp->icid;
904 ep->cid = qp->icid; /* Now they're migrated. */
1033 QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
1038 QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
1042 DP_NOTICE(p_hwfn, "%s(0x%x) MPA reset(tcp cid: 0x%x)\n",
1043 QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid,
1049 QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
1054 QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
1059 QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
1064 QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
1069 QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
1074 QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
1161 u32 cid;
1177 rc = qed_iwarp_alloc_cid(p_hwfn, &cid);
1185 ep->tcp_cid = cid;
1240 qed_iwarp_cid_cleaned(p_hwfn, cid);
1260 /* in some cases we could have failed allocating a tcp cid when added
1303 * immediately reset without receiving a per-cid indication
1341 /* Now free the tcp cids from the main cid map */
1380 u32 cid;
1393 rc = qed_iwarp_alloc_cid(p_hwfn, &cid);
1396 qed_iwarp_set_tcp_cid(p_hwfn, cid);
1402 qed_iwarp_alloc_tcp_cid(p_hwfn, &cid);
1405 ep->tcp_cid = cid;
1425 /* Allocate bitmap for tcp cid. These are used by passive side
1426 * to ensure it can allocate a tcp cid during dpc that was
1433 "Failed to allocate tcp cid, rc = %d\n", rc);
1776 u16 cid)
1782 idx = cid - qed_cxt_get_proto_cid_start(p_hwfn, PROTOCOLID_IWARP);
1784 DP_ERR(p_hwfn, "Invalid cid %x max_num_partial_fpdus=%x\n", cid,
2160 u16 cid, first_mpa_offset;
2164 cid = le32_to_cpu(curr_pkt->cid);
2166 fpdu = qed_iwarp_get_curr_fpdu(p_hwfn, (u16)cid);
2167 if (!fpdu) { /* something corrupt with cid, post rx back */
2168 DP_ERR(p_hwfn, "Invalid cid, drop and post back to rx cid=%x\n",
2169 cid);
2335 mpa_buf->data.cid);
2541 u32 cid;
2546 cid = le32_to_cpu(unalign_data.cid);
2548 DP_VERBOSE(p_hwfn, QED_MSG_RDMA, "(0x%x) Flush fpdu\n", cid);
2550 fpdu = qed_iwarp_get_curr_fpdu(p_hwfn, (u16)cid);
2896 ep->cid, fw_ret_code);
3067 u16 cid;
3089 ep->cid, fw_return_code);
3099 ep->cid, fw_return_code);
3109 ep->cid, fw_return_code);
3118 ep->cid, fw_return_code);
3122 cid = (u16)le32_to_cpu(fw_handle->lo);
3124 "(0x%x)IWARP_EVENT_TYPE_ASYNC_CID_CLEANED\n", cid);
3125 qed_iwarp_cid_cleaned(p_hwfn, cid);
3239 init_data.cid = qp->icid;