Lines Matching refs:sge

37 static struct page *siw_get_page(struct siw_mem *mem, struct siw_sge *sge,  in siw_get_page()  argument
41 return siw_get_upage(mem->umem, sge->laddr + offset); in siw_get_page()
43 return siw_get_pblpage(mem, sge->laddr + offset, pbl_idx); in siw_get_page()
52 struct siw_sge *sge = &wqe->sqe.sge[0]; in siw_try_1seg() local
53 u32 bytes = sge->length; in siw_try_1seg()
62 memcpy(paddr, &wqe->sqe.sge[1], bytes); in siw_try_1seg()
68 memcpy(paddr, ib_virt_dma_to_ptr(sge->laddr), bytes); in siw_try_1seg()
70 if (copy_from_user(paddr, u64_to_user_ptr(sge->laddr), in siw_try_1seg()
74 unsigned int off = sge->laddr & ~PAGE_MASK; in siw_try_1seg()
79 p = siw_get_page(mem, sge, 0, &pbl_idx); in siw_try_1seg()
93 p = siw_get_page(mem, sge, part, &pbl_idx); in siw_try_1seg()
135 c_tx->pkt.rreq.sink_stag = htonl(wqe->sqe.sge[0].lkey); in siw_qp_prepare_tx()
137 cpu_to_be64(wqe->sqe.sge[0].laddr); in siw_qp_prepare_tx()
140 c_tx->pkt.rreq.read_size = htonl(wqe->sqe.sge[0].length); in siw_qp_prepare_tx()
371 struct siw_sge *sge, unsigned int offset, in siw_0copy_tx() argument
375 int sge_bytes = min(sge->length - offset, size); in siw_0copy_tx()
377 offset = (sge->laddr + offset) & ~PAGE_MASK; in siw_0copy_tx()
387 sge++; in siw_0copy_tx()
388 sge_bytes = min(sge->length, size - sent); in siw_0copy_tx()
389 offset = sge->laddr & ~PAGE_MASK; in siw_0copy_tx()
435 struct siw_sge *sge = &wqe->sqe.sge[c_tx->sge_idx]; in siw_tx_hdt() local
465 unsigned int sge_len = min(sge->length - sge_off, data_len); in siw_tx_hdt()
466 unsigned int fp_off = (sge->laddr + sge_off) & ~PAGE_MASK; in siw_tx_hdt()
481 ib_virt_dma_to_ptr(sge->laddr + sge_off); in siw_tx_hdt()
501 p = siw_get_page(mem, sge, sge_off, &pbl_idx); in siw_tx_hdt()
535 u64 va = sge->laddr + sge_off; in siw_tx_hdt()
560 if (sge_off == sge->length && in siw_tx_hdt()
563 sge++; in siw_tx_hdt()
591 rv = siw_0copy_tx(s, page_array, &wqe->sqe.sge[c_tx->sge_idx], in siw_tx_hdt()
649 sge = &wqe->sqe.sge[c_tx->sge_idx]; in siw_tx_hdt()
650 sge_unsent = sge->length - c_tx->sge_off; in siw_tx_hdt()
656 sge++; in siw_tx_hdt()
657 sge_unsent = sge->length; in siw_tx_hdt()
763 struct siw_sge *sge = &wqe->sqe.sge[0]; in siw_check_sgl_tx() local
769 for (i = 0, len = 0; num_sge; num_sge--, i++, sge++) { in siw_check_sgl_tx()
773 if (sge->length) { in siw_check_sgl_tx()
774 int rv = siw_check_sge(pd, sge, &wqe->mem[i], perms, 0, in siw_check_sgl_tx()
775 sge->length); in siw_check_sgl_tx()
780 len += sge->length; in siw_check_sgl_tx()
828 wqe->bytes = wqe->sqe.sge[0].length; in siw_qp_sq_proc_tx()
834 wqe->sqe.sge[0].laddr = in siw_qp_sq_proc_tx()
835 (u64)(uintptr_t)&wqe->sqe.sge[1]; in siw_qp_sq_proc_tx()