Lines Matching refs:sq
115 wq->sq.memsize, wq->sq.queue, in destroy_qp()
116 dma_unmap_addr(&wq->sq, mapping)); in destroy_qp()
119 kfree(wq->sq.sw_sq); in destroy_qp()
121 c4iw_put_qpid(rdev, wq->sq.qid, uctx); in destroy_qp()
144 wq->sq.qid = c4iw_get_qpid(rdev, uctx); in create_qp()
145 if (!wq->sq.qid) in create_qp()
155 wq->sq.sw_sq = kzalloc(wq->sq.size * sizeof *wq->sq.sw_sq, in create_qp()
157 if (!wq->sq.sw_sq) { in create_qp()
181 wq->sq.queue = dma_alloc_coherent(rhp->ibdev.dma_device, wq->sq.memsize, in create_qp()
182 &(wq->sq.dma_addr), GFP_KERNEL); in create_qp()
183 if (!wq->sq.queue) { in create_qp()
187 wq->sq.phys_addr = vtophys(wq->sq.queue); in create_qp()
188 dma_unmap_addr_set(&wq->sq, mapping, wq->sq.dma_addr); in create_qp()
189 memset(wq->sq.queue, 0, wq->sq.memsize); in create_qp()
204 wq->sq.queue, (unsigned long long)wq->sq.phys_addr, in create_qp()
208 t4_bar2_sge_qregs(rdev->adap, wq->sq.qid, T4_BAR2_QTYPE_EGRESS, user, in create_qp()
209 &sq_bar2_qoffset, &wq->sq.bar2_qid); in create_qp()
217 wq->sq.bar2_pa = (rdev->bar2_pa + sq_bar2_qoffset) & PAGE_MASK; in create_qp()
221 __func__, (unsigned long long)wq->sq.bar2_pa, in create_qp()
225 wq->sq.bar2_va = (void __iomem *)((u64)rdev->bar2_kva + in create_qp()
230 __func__, (unsigned long long)wq->sq.bar2_va, in create_qp()
259 eqsize = wq->sq.size * T4_SQ_NUM_SLOTS + in create_qp()
276 res->u.sqrq.eqid = cpu_to_be32(wq->sq.qid); in create_qp()
277 res->u.sqrq.eqaddr = cpu_to_be64(wq->sq.dma_addr); in create_qp()
305 ret = c4iw_wait_for_reply(rdev, &wr_wait, 0, wq->sq.qid, in create_qp()
312 __func__, wq->sq.qid, wq->rq.qid, in create_qp()
313 (unsigned long long)wq->sq.bar2_va, in create_qp()
323 wq->sq.memsize, wq->sq.queue, in create_qp()
324 dma_unmap_addr(&wq->sq, mapping)); in create_qp()
330 kfree(wq->sq.sw_sq); in create_qp()
334 c4iw_put_qpid(rdev, wq->sq.qid, uctx); in create_qp()
338 static int build_immd(struct t4_sq *sq, struct fw_ri_immd *immdp, in build_immd() argument
354 if (dstp == (u8 *)&sq->queue[sq->size]) in build_immd()
355 dstp = (u8 *)sq->queue; in build_immd()
356 if (rem <= (u8 *)&sq->queue[sq->size] - dstp) in build_immd()
359 len = (u8 *)&sq->queue[sq->size] - dstp; in build_immd()
408 static int build_rdma_send(struct t4_sq *sq, union t4_wr *wqe, in build_rdma_send() argument
446 ret = build_immd(sq, wqe->send.u.immd_src, wr, in build_rdma_send()
453 ret = build_isgl((__be64 *)sq->queue, in build_rdma_send()
454 (__be64 *)&sq->queue[sq->size], in build_rdma_send()
475 static int build_rdma_write(struct t4_sq *sq, union t4_wr *wqe, in build_rdma_write() argument
489 ret = build_immd(sq, wqe->write.u.immd_src, wr, in build_rdma_write()
496 ret = build_isgl((__be64 *)sq->queue, in build_rdma_write()
497 (__be64 *)&sq->queue[sq->size], in build_rdma_write()
621 PDBG("%s drain sq id %u\n", __func__, qhp->wq.sq.qid); in complete_sq_drain_wr()
627 V_CQE_QPID(qhp->wq.sq.qid)); in complete_sq_drain_wr()
651 PDBG("%s drain rq id %u\n", __func__, qhp->wq.sq.qid); in complete_rq_drain_wr()
657 V_CQE_QPID(qhp->wq.sq.qid)); in complete_rq_drain_wr()
706 static int build_memreg(struct t4_sq *sq, union t4_wr *wqe, in build_memreg() argument
757 if (++p == (__be64 *)&sq->queue[sq->size]) in build_memreg()
758 p = (__be64 *)sq->queue; in build_memreg()
764 if (++p == (__be64 *)&sq->queue[sq->size]) in build_memreg()
765 p = (__be64 *)sq->queue; in build_memreg()
811 wqe = (union t4_wr *)((u8 *)qhp->wq.sq.queue + in c4iw_post_send()
812 qhp->wq.sq.wq_pidx * T4_EQ_ENTRY_SIZE); in c4iw_post_send()
819 swsqe = &qhp->wq.sq.sw_sq[qhp->wq.sq.pidx]; in c4iw_post_send()
830 err = build_rdma_send(&qhp->wq.sq, wqe, wr, &len16); in c4iw_post_send()
835 err = build_rdma_write(&qhp->wq.sq, wqe, wr, &len16); in c4iw_post_send()
852 if (!qhp->wq.sq.oldest_read) in c4iw_post_send()
853 qhp->wq.sq.oldest_read = swsqe; in c4iw_post_send()
866 err = build_memreg(&qhp->wq.sq, wqe, reg_wr(wr), in c4iw_post_send()
892 swsqe->idx = qhp->wq.sq.pidx; in c4iw_post_send()
899 init_wr_hdr(wqe, qhp->wq.sq.pidx, fw_opcode, fw_flags, len16); in c4iw_post_send()
903 __func__, (unsigned long long)wr->wr_id, qhp->wq.sq.pidx, in c4iw_post_send()
1131 qhp->wq.sq.qid, qhp->ep->hwtid); in post_terminate()
1263 qhp->wq.sq.qid, ep, ep->hwtid); in rdma_fini()
1288 qhp->wq.sq.qid, ep->com.so, __func__); in rdma_fini()
1357 qhp->wq.sq.qid, ep, ep->hwtid); in rdma_init()
1400 wqe->u.init.qpid = cpu_to_be32(qhp->wq.sq.qid); in rdma_init()
1401 wqe->u.init.sq_eqid = cpu_to_be32(qhp->wq.sq.qid); in rdma_init()
1426 qhp->wq.sq.qid, ep->com.so, __func__); in rdma_init()
1448 qhp->wq.sq.qid, qhp->wq.rq.qid, qhp->ep); in c4iw_modify_qp()
1644 qhp->ep, qhp->wq.sq.qid); in c4iw_modify_qp()
1701 remove_handle(rhp, &rhp->qpidr, qhp->wq.sq.qid); in c4iw_destroy_qp()
1707 qhp->wq.sq.qid); in c4iw_destroy_qp()
1759 qhp->wq.sq.size = sqsize; in c4iw_create_qp()
1760 qhp->wq.sq.memsize = in c4iw_create_qp()
1762 sizeof(*qhp->wq.sq.queue) + 16 * sizeof(__be64); in c4iw_create_qp()
1763 qhp->wq.sq.flush_cidx = -1; in c4iw_create_qp()
1770 qhp->wq.sq.memsize = roundup(qhp->wq.sq.memsize, PAGE_SIZE); in c4iw_create_qp()
1775 __func__, sqsize, qhp->wq.sq.memsize, rqsize, qhp->wq.rq.memsize); in c4iw_create_qp()
1809 ret = insert_handle(rhp, &rhp->qpidr, qhp, qhp->wq.sq.qid); in c4iw_create_qp()
1836 uresp.sqid = qhp->wq.sq.qid; in c4iw_create_qp()
1837 uresp.sq_size = qhp->wq.sq.size; in c4iw_create_qp()
1838 uresp.sq_memsize = qhp->wq.sq.memsize; in c4iw_create_qp()
1857 sq_key_mm->addr = qhp->wq.sq.phys_addr; in c4iw_create_qp()
1858 sq_key_mm->len = PAGE_ALIGN(qhp->wq.sq.memsize); in c4iw_create_qp()
1871 sq_db_key_mm->addr = (u64)qhp->wq.sq.bar2_pa; in c4iw_create_qp()
1887 qhp->ibqp.qp_num = qhp->wq.sq.qid; in c4iw_create_qp()
1891 __func__, qhp->wq.sq.qid, in c4iw_create_qp()
1892 qhp->wq.sq.size, qhp->wq.sq.memsize, attrs->cap.max_send_wr); in c4iw_create_qp()
1906 remove_handle(rhp, &rhp->qpidr, qhp->wq.sq.qid); in c4iw_create_qp()