Lines Matching refs:sq

115 			wq->sq.memsize, wq->sq.queue,
116 dma_unmap_addr(&wq->sq, mapping));
119 kfree(wq->sq.sw_sq);
121 c4iw_put_qpid(rdev, wq->sq.qid, uctx);
141 wq->sq.qid = c4iw_get_qpid(rdev, uctx);
142 if (!wq->sq.qid)
152 wq->sq.sw_sq = kzalloc(wq->sq.size * sizeof *wq->sq.sw_sq,
154 if (!wq->sq.sw_sq) {
178 wq->sq.queue = dma_alloc_coherent(rhp->ibdev.dma_device, wq->sq.memsize,
179 &(wq->sq.dma_addr), GFP_KERNEL);
180 if (!wq->sq.queue) {
184 wq->sq.phys_addr = vtophys(wq->sq.queue);
185 dma_unmap_addr_set(&wq->sq, mapping, wq->sq.dma_addr);
186 memset(wq->sq.queue, 0, wq->sq.memsize);
199 "%s QP sq base va 0x%p pa 0x%llx rq base va 0x%p pa 0x%llx",
201 wq->sq.queue, (unsigned long long)wq->sq.phys_addr,
205 t4_bar2_sge_qregs(rdev->adap, wq->sq.qid, T4_BAR2_QTYPE_EGRESS, user,
206 &sq_bar2_qoffset, &wq->sq.bar2_qid);
214 wq->sq.bar2_pa = (rdev->bar2_pa + sq_bar2_qoffset) & PAGE_MASK;
217 "%s BAR2 DB/WC sq base pa 0x%llx rq base pa 0x%llx",
218 __func__, (unsigned long long)wq->sq.bar2_pa,
222 wq->sq.bar2_va = (void __iomem *)((u64)rdev->bar2_kva +
226 CTR3(KTR_IW_CXGBE, "%s BAR2 DB/WC sq base va %p rq base va %p",
227 __func__, (unsigned long long)wq->sq.bar2_va,
256 eqsize = wq->sq.size * T4_SQ_NUM_SLOTS +
273 res->u.sqrq.eqid = cpu_to_be32(wq->sq.qid);
274 res->u.sqrq.eqaddr = cpu_to_be64(wq->sq.dma_addr);
302 ret = c4iw_wait_for_reply(rdev, &wr_wait, 0, wq->sq.qid,
309 __func__, wq->sq.qid, wq->rq.qid,
310 (unsigned long long)wq->sq.bar2_va,
320 wq->sq.memsize, wq->sq.queue,
321 dma_unmap_addr(&wq->sq, mapping));
327 kfree(wq->sq.sw_sq);
331 c4iw_put_qpid(rdev, wq->sq.qid, uctx);
335 static int build_immd(struct t4_sq *sq, struct fw_ri_immd *immdp,
351 if (dstp == (u8 *)&sq->queue[sq->size])
352 dstp = (u8 *)sq->queue;
353 if (rem <= (u8 *)&sq->queue[sq->size] - dstp)
356 len = (u8 *)&sq->queue[sq->size] - dstp;
405 static int build_rdma_send(struct t4_sq *sq, union t4_wr *wqe,
443 ret = build_immd(sq, wqe->send.u.immd_src, wr,
450 ret = build_isgl((__be64 *)sq->queue,
451 (__be64 *)&sq->queue[sq->size],
472 static int build_rdma_write(struct t4_sq *sq, union t4_wr *wqe,
486 ret = build_immd(sq, wqe->write.u.immd_src, wr,
493 ret = build_isgl((__be64 *)sq->queue,
494 (__be64 *)&sq->queue[sq->size],
620 PDBG("%s drain sq id %u\n", __func__, qhp->wq.sq.qid);
626 V_CQE_QPID(qhp->wq.sq.qid));
650 PDBG("%s drain rq id %u\n", __func__, qhp->wq.sq.qid);
656 V_CQE_QPID(qhp->wq.sq.qid));
701 static int build_memreg(struct t4_sq *sq, union t4_wr *wqe,
751 if (++p == (__be64 *)&sq->queue[sq->size])
752 p = (__be64 *)sq->queue;
758 if (++p == (__be64 *)&sq->queue[sq->size])
759 p = (__be64 *)sq->queue;
803 wqe = (union t4_wr *)((u8 *)qhp->wq.sq.queue +
804 qhp->wq.sq.wq_pidx * T4_EQ_ENTRY_SIZE);
811 swsqe = &qhp->wq.sq.sw_sq[qhp->wq.sq.pidx];
822 err = build_rdma_send(&qhp->wq.sq, wqe, wr, &len16);
827 err = build_rdma_write(&qhp->wq.sq, wqe, wr, &len16);
844 if (!qhp->wq.sq.oldest_read)
845 qhp->wq.sq.oldest_read = swsqe;
858 err = build_memreg(&qhp->wq.sq, wqe, reg_wr(wr),
884 swsqe->idx = qhp->wq.sq.pidx;
891 init_wr_hdr(wqe, qhp->wq.sq.pidx, fw_opcode, fw_flags, len16);
895 __func__, (unsigned long long)wr->wr_id, qhp->wq.sq.pidx,
1121 qhp->wq.sq.qid, qhp->ep->hwtid);
1253 qhp->wq.sq.qid, ep, ep->hwtid);
1278 qhp->wq.sq.qid, ep->com.so, __func__);
1347 qhp->wq.sq.qid, ep, ep->hwtid);
1390 wqe->u.init.qpid = cpu_to_be32(qhp->wq.sq.qid);
1391 wqe->u.init.sq_eqid = cpu_to_be32(qhp->wq.sq.qid);
1416 qhp->wq.sq.qid, ep->com.so, __func__);
1438 qhp->wq.sq.qid, qhp->wq.rq.qid, qhp->ep);
1634 qhp->ep, qhp->wq.sq.qid);
1691 remove_handle(rhp, &rhp->qpidr, qhp->wq.sq.qid);
1697 qhp->wq.sq.qid);
1749 qhp->wq.sq.size = sqsize;
1750 qhp->wq.sq.memsize =
1752 sizeof(*qhp->wq.sq.queue) + 16 * sizeof(__be64);
1753 qhp->wq.sq.flush_cidx = -1;
1760 qhp->wq.sq.memsize = roundup(qhp->wq.sq.memsize, PAGE_SIZE);
1765 __func__, sqsize, qhp->wq.sq.memsize, rqsize, qhp->wq.rq.memsize);
1799 ret = insert_handle(rhp, &rhp->qpidr, qhp, qhp->wq.sq.qid);
1826 uresp.sqid = qhp->wq.sq.qid;
1827 uresp.sq_size = qhp->wq.sq.size;
1828 uresp.sq_memsize = qhp->wq.sq.memsize;
1847 sq_key_mm->addr = qhp->wq.sq.phys_addr;
1848 sq_key_mm->len = PAGE_ALIGN(qhp->wq.sq.memsize);
1861 sq_db_key_mm->addr = (u64)qhp->wq.sq.bar2_pa;
1878 qhp->ibqp.qp_num = qhp->wq.sq.qid;
1881 CTR5(KTR_IW_CXGBE, "%s sq id %u size %u memsize %zu num_entries %u",
1882 __func__, qhp->wq.sq.qid,
1883 qhp->wq.sq.size, qhp->wq.sq.memsize, attrs->cap.max_send_wr);
1897 remove_handle(rhp, &rhp->qpidr, qhp->wq.sq.qid);