Lines Matching refs:qp

153 	cq_db = (struct bnx2i_5771x_cq_db *) ep->qp.cq_pgtbl_virt;
170 cq_index = ep->qp.cqe_exp_seq_sn + next_index - 1;
171 if (cq_index > ep->qp.cqe_size * 2)
172 cq_index -= ep->qp.cqe_size * 2;
195 if (!bnx2i_conn->ep->qp.rqe_left)
198 bnx2i_conn->ep->qp.rqe_left--;
199 memcpy(ptr, (u8 *) bnx2i_conn->ep->qp.rq_cons_qe, len);
200 if (bnx2i_conn->ep->qp.rq_cons_qe == bnx2i_conn->ep->qp.rq_last_qe) {
201 bnx2i_conn->ep->qp.rq_cons_qe = bnx2i_conn->ep->qp.rq_first_qe;
202 bnx2i_conn->ep->qp.rq_cons_idx = 0;
204 bnx2i_conn->ep->qp.rq_cons_qe++;
205 bnx2i_conn->ep->qp.rq_cons_idx++;
220 writel(cpu_to_le32(msg), conn->ep->qp.ctx_base);
234 u16 hi_bit = (bnx2i_conn->ep->qp.rq_prod_idx & 0x8000);
237 ep->qp.rqe_left += count;
238 ep->qp.rq_prod_idx &= 0x7FFF;
239 ep->qp.rq_prod_idx += count;
241 if (ep->qp.rq_prod_idx > bnx2i_conn->hba->max_rqes) {
242 ep->qp.rq_prod_idx %= bnx2i_conn->hba->max_rqes;
244 ep->qp.rq_prod_idx |= 0x8000;
246 ep->qp.rq_prod_idx |= hi_bit;
249 rq_db = (struct bnx2i_5771x_sq_rq_db *) ep->qp.rq_pgtbl_virt;
250 rq_db->prod_idx = ep->qp.rq_prod_idx;
253 writew(ep->qp.rq_prod_idx,
254 ep->qp.ctx_base + CNIC_RECV_DOORBELL);
276 sq_db = (struct bnx2i_5771x_sq_rq_db *) ep->qp.sq_pgtbl_virt;
277 sq_db->prod_idx = ep->qp.sq_prod_idx;
280 writew(count, ep->qp.ctx_base + CNIC_SEND_DOORBELL);
297 if (bnx2i_conn->ep->qp.sq_prod_qe ==
298 bnx2i_conn->ep->qp.sq_last_qe)
299 bnx2i_conn->ep->qp.sq_prod_qe =
300 bnx2i_conn->ep->qp.sq_first_qe;
302 bnx2i_conn->ep->qp.sq_prod_qe++;
304 if ((bnx2i_conn->ep->qp.sq_prod_qe + count) <=
305 bnx2i_conn->ep->qp.sq_last_qe)
306 bnx2i_conn->ep->qp.sq_prod_qe += count;
308 tmp_cnt = bnx2i_conn->ep->qp.sq_last_qe -
309 bnx2i_conn->ep->qp.sq_prod_qe;
310 bnx2i_conn->ep->qp.sq_prod_qe =
311 &bnx2i_conn->ep->qp.sq_first_qe[count -
315 bnx2i_conn->ep->qp.sq_prod_idx += count;
317 bnx2i_ring_sq_dbell(bnx2i_conn, bnx2i_conn->ep->qp.sq_prod_idx);
338 bnx2i_conn->ep->qp.sq_prod_qe;
395 bnx2i_conn->ep->qp.sq_prod_qe;
464 text_wqe = (struct bnx2i_text_request *) bnx2i_conn->ep->qp.sq_prod_qe;
510 bnx2i_conn->ep->qp.sq_prod_qe;
539 nopout_wqe = (struct bnx2i_nop_out_request *)ep->qp.sq_prod_qe;
597 bnx2i_conn->ep->qp.sq_prod_qe;
732 (struct bnx2i_cleanup_request *)cmd->conn->ep->qp.sq_prod_qe;
802 dma_addr = ep->qp.sq_pgtbl_phys;
806 dma_addr = ep->qp.cq_pgtbl_phys;
814 dma_addr = ep->qp.rq_pgtbl_phys;
818 ptbl = (u32 *) ep->qp.sq_pgtbl_virt;
823 ptbl = (u32 *) ep->qp.cq_pgtbl_virt;
863 dma_addr = ep->qp.sq_pgtbl_phys + ISCSI_SQ_DB_SIZE;
867 dma_addr = ep->qp.cq_pgtbl_phys + ISCSI_CQ_DB_SIZE;
875 dma_addr = ep->qp.rq_pgtbl_phys + ISCSI_RQ_DB_SIZE;
879 ptbl = (u32 *)((u8 *)ep->qp.sq_pgtbl_virt + ISCSI_SQ_DB_SIZE);
883 ptbl = (u32 *)((u8 *)ep->qp.cq_pgtbl_virt + ISCSI_CQ_DB_SIZE);
892 ptbl = (u32 *)((u8 *)ep->qp.rq_pgtbl_virt + ISCSI_RQ_DB_SIZE);
948 memset(ep->qp.sq_pgtbl_virt, 0, ep->qp.sq_pgtbl_size);
949 num_pages = ep->qp.sq_mem_size / CNIC_PAGE_SIZE;
950 page = ep->qp.sq_phys;
953 ptbl = (u32 *)((u8 *)ep->qp.sq_pgtbl_virt + ISCSI_SQ_DB_SIZE);
955 ptbl = (u32 *) ep->qp.sq_pgtbl_virt;
976 memset(ep->qp.rq_pgtbl_virt, 0, ep->qp.rq_pgtbl_size);
977 num_pages = ep->qp.rq_mem_size / CNIC_PAGE_SIZE;
978 page = ep->qp.rq_phys;
981 ptbl = (u32 *)((u8 *)ep->qp.rq_pgtbl_virt + ISCSI_RQ_DB_SIZE);
983 ptbl = (u32 *) ep->qp.rq_pgtbl_virt;
1004 memset(ep->qp.cq_pgtbl_virt, 0, ep->qp.cq_pgtbl_size);
1005 num_pages = ep->qp.cq_mem_size / CNIC_PAGE_SIZE;
1006 page = ep->qp.cq_phys;
1009 ptbl = (u32 *)((u8 *)ep->qp.cq_pgtbl_virt + ISCSI_CQ_DB_SIZE);
1011 ptbl = (u32 *) ep->qp.cq_pgtbl_virt;
1052 ep->qp.sq_mem_size = hba->max_sqes * BNX2I_SQ_WQE_SIZE;
1053 ep->qp.sq_mem_size =
1054 (ep->qp.sq_mem_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
1055 ep->qp.sq_pgtbl_size =
1056 (ep->qp.sq_mem_size / CNIC_PAGE_SIZE) * sizeof(void *);
1057 ep->qp.sq_pgtbl_size =
1058 (ep->qp.sq_pgtbl_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
1060 ep->qp.sq_pgtbl_virt =
1061 dma_alloc_coherent(&hba->pcidev->dev, ep->qp.sq_pgtbl_size,
1062 &ep->qp.sq_pgtbl_phys, GFP_KERNEL);
1063 if (!ep->qp.sq_pgtbl_virt) {
1065 ep->qp.sq_pgtbl_size);
1070 ep->qp.sq_virt =
1071 dma_alloc_coherent(&hba->pcidev->dev, ep->qp.sq_mem_size,
1072 &ep->qp.sq_phys, GFP_KERNEL);
1073 if (!ep->qp.sq_virt) {
1075 ep->qp.sq_mem_size);
1079 ep->qp.sq_first_qe = ep->qp.sq_virt;
1080 ep->qp.sq_prod_qe = ep->qp.sq_first_qe;
1081 ep->qp.sq_cons_qe = ep->qp.sq_first_qe;
1082 ep->qp.sq_last_qe = &ep->qp.sq_first_qe[hba->max_sqes - 1];
1083 ep->qp.sq_prod_idx = 0;
1084 ep->qp.sq_cons_idx = 0;
1085 ep->qp.sqe_left = hba->max_sqes;
1088 ep->qp.cq_mem_size = hba->max_cqes * BNX2I_CQE_SIZE;
1089 ep->qp.cq_mem_size =
1090 (ep->qp.cq_mem_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
1091 ep->qp.cq_pgtbl_size =
1092 (ep->qp.cq_mem_size / CNIC_PAGE_SIZE) * sizeof(void *);
1093 ep->qp.cq_pgtbl_size =
1094 (ep->qp.cq_pgtbl_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
1096 ep->qp.cq_pgtbl_virt =
1097 dma_alloc_coherent(&hba->pcidev->dev, ep->qp.cq_pgtbl_size,
1098 &ep->qp.cq_pgtbl_phys, GFP_KERNEL);
1099 if (!ep->qp.cq_pgtbl_virt) {
1101 ep->qp.cq_pgtbl_size);
1106 ep->qp.cq_virt =
1107 dma_alloc_coherent(&hba->pcidev->dev, ep->qp.cq_mem_size,
1108 &ep->qp.cq_phys, GFP_KERNEL);
1109 if (!ep->qp.cq_virt) {
1111 ep->qp.cq_mem_size);
1115 ep->qp.cq_first_qe = ep->qp.cq_virt;
1116 ep->qp.cq_prod_qe = ep->qp.cq_first_qe;
1117 ep->qp.cq_cons_qe = ep->qp.cq_first_qe;
1118 ep->qp.cq_last_qe = &ep->qp.cq_first_qe[hba->max_cqes - 1];
1119 ep->qp.cq_prod_idx = 0;
1120 ep->qp.cq_cons_idx = 0;
1121 ep->qp.cqe_left = hba->max_cqes;
1122 ep->qp.cqe_exp_seq_sn = ISCSI_INITIAL_SN;
1123 ep->qp.cqe_size = hba->max_cqes;
1126 cq_db = (struct bnx2i_5771x_cq_db *) ep->qp.cq_pgtbl_virt;
1130 ep->qp.rq_mem_size = hba->max_rqes * BNX2I_RQ_WQE_SIZE;
1131 ep->qp.rq_mem_size =
1132 (ep->qp.rq_mem_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
1133 ep->qp.rq_pgtbl_size =
1134 (ep->qp.rq_mem_size / CNIC_PAGE_SIZE) * sizeof(void *);
1135 ep->qp.rq_pgtbl_size =
1136 (ep->qp.rq_pgtbl_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
1138 ep->qp.rq_pgtbl_virt =
1139 dma_alloc_coherent(&hba->pcidev->dev, ep->qp.rq_pgtbl_size,
1140 &ep->qp.rq_pgtbl_phys, GFP_KERNEL);
1141 if (!ep->qp.rq_pgtbl_virt) {
1143 ep->qp.rq_pgtbl_size);
1148 ep->qp.rq_virt =
1149 dma_alloc_coherent(&hba->pcidev->dev, ep->qp.rq_mem_size,
1150 &ep->qp.rq_phys, GFP_KERNEL);
1151 if (!ep->qp.rq_virt) {
1153 ep->qp.rq_mem_size);
1157 ep->qp.rq_first_qe = ep->qp.rq_virt;
1158 ep->qp.rq_prod_qe = ep->qp.rq_first_qe;
1159 ep->qp.rq_cons_qe = ep->qp.rq_first_qe;
1160 ep->qp.rq_last_qe = &ep->qp.rq_first_qe[hba->max_rqes - 1];
1161 ep->qp.rq_prod_idx = 0x8000;
1162 ep->qp.rq_cons_idx = 0;
1163 ep->qp.rqe_left = hba->max_rqes;
1185 if (ep->qp.ctx_base) {
1186 iounmap(ep->qp.ctx_base);
1187 ep->qp.ctx_base = NULL;
1190 if (ep->qp.sq_pgtbl_virt) {
1191 dma_free_coherent(&hba->pcidev->dev, ep->qp.sq_pgtbl_size,
1192 ep->qp.sq_pgtbl_virt, ep->qp.sq_pgtbl_phys);
1193 ep->qp.sq_pgtbl_virt = NULL;
1194 ep->qp.sq_pgtbl_phys = 0;
1196 if (ep->qp.sq_virt) {
1197 dma_free_coherent(&hba->pcidev->dev, ep->qp.sq_mem_size,
1198 ep->qp.sq_virt, ep->qp.sq_phys);
1199 ep->qp.sq_virt = NULL;
1200 ep->qp.sq_phys = 0;
1204 if (ep->qp.rq_pgtbl_virt) {
1205 dma_free_coherent(&hba->pcidev->dev, ep->qp.rq_pgtbl_size,
1206 ep->qp.rq_pgtbl_virt, ep->qp.rq_pgtbl_phys);
1207 ep->qp.rq_pgtbl_virt = NULL;
1208 ep->qp.rq_pgtbl_phys = 0;
1210 if (ep->qp.rq_virt) {
1211 dma_free_coherent(&hba->pcidev->dev, ep->qp.rq_mem_size,
1212 ep->qp.rq_virt, ep->qp.rq_phys);
1213 ep->qp.rq_virt = NULL;
1214 ep->qp.rq_phys = 0;
1218 if (ep->qp.cq_pgtbl_virt) {
1219 dma_free_coherent(&hba->pcidev->dev, ep->qp.cq_pgtbl_size,
1220 ep->qp.cq_pgtbl_virt, ep->qp.cq_pgtbl_phys);
1221 ep->qp.cq_pgtbl_virt = NULL;
1222 ep->qp.cq_pgtbl_phys = 0;
1224 if (ep->qp.cq_virt) {
1225 dma_free_coherent(&hba->pcidev->dev, ep->qp.cq_mem_size,
1226 ep->qp.cq_virt, ep->qp.cq_phys);
1227 ep->qp.cq_virt = NULL;
1228 ep->qp.cq_phys = 0;
1960 struct qp_info *qp;
1968 qp = &bnx2i_conn->ep->qp;
1970 if (!qp->cq_virt) {
1976 nopin = (struct bnx2i_nop_in_msg *) qp->cq_cons_qe;
1977 if (nopin->cq_req_sn != qp->cqe_exp_seq_sn)
2003 qp->cq_cons_qe);
2007 qp->cq_cons_qe);
2011 qp->cq_cons_qe);
2015 qp->cq_cons_qe);
2019 qp->cq_cons_qe))
2024 qp->cq_cons_qe);
2028 qp->cq_cons_qe);
2033 qp->cq_cons_qe);
2037 qp->cq_cons_qe);
2062 qp->cqe_exp_seq_sn++;
2063 if (qp->cqe_exp_seq_sn == (qp->cqe_size * 2 + 1))
2064 qp->cqe_exp_seq_sn = ISCSI_INITIAL_SN;
2066 if (qp->cq_cons_qe == qp->cq_last_qe) {
2067 qp->cq_cons_qe = qp->cq_first_qe;
2068 qp->cq_cons_idx = 0;
2070 qp->cq_cons_qe++;
2071 qp->cq_cons_idx++;
2462 ep->qp.ctx_base = NULL;
2716 ep->qp.ctx_base = ioremap(reg_base + reg_off, 4);
2717 if (!ep->qp.ctx_base)
2737 ep->qp.ctx_base = ioremap(ep->hba->reg_base + reg_off,
2739 if (!ep->qp.ctx_base)