Home
last modified time | relevance | path

Searched refs:sge (Results 1 – 25 of 162) sorted by relevance

1234567

/Linux-v5.4/drivers/net/ethernet/chelsio/cxgb/
Dsge.c254 struct sge { struct
282 static void tx_sched_stop(struct sge *sge) in tx_sched_stop() argument
284 struct sched *s = sge->tx_sched; in tx_sched_stop()
297 unsigned int t1_sched_update_parms(struct sge *sge, unsigned int port, in t1_sched_update_parms() argument
300 struct sched *s = sge->tx_sched; in t1_sched_update_parms()
320 if (board_info(sge->adapter)->board == CHBT_BOARD_CHT204) { in t1_sched_update_parms()
343 void t1_sched_set_max_avail_bytes(struct sge *sge, unsigned int val)
345 struct sched *s = sge->tx_sched;
350 t1_sched_update_parms(sge, i, 0, 0);
357 void t1_sched_set_drain_bits_per_us(struct sge *sge, unsigned int port,
[all …]
Dsge.h71 struct sge;
73 struct sge *t1_sge_create(struct adapter *, struct sge_params *);
74 int t1_sge_configure(struct sge *, struct sge_params *);
75 int t1_sge_set_coalesce_params(struct sge *, struct sge_params *);
76 void t1_sge_destroy(struct sge *);
82 void t1_sge_start(struct sge *);
83 void t1_sge_stop(struct sge *);
84 int t1_sge_intr_error_handler(struct sge *);
85 void t1_sge_intr_enable(struct sge *);
86 void t1_sge_intr_disable(struct sge *);
[all …]
/Linux-v5.4/include/rdma/
Drdmavt_mr.h120 struct rvt_sge sge; /* progress state for the current SGE */ member
138 rvt_put_mr(ss->sge.mr); in rvt_put_ss()
140 ss->sge = *ss->sg_list++; in rvt_put_ss()
144 static inline u32 rvt_get_sge_length(struct rvt_sge *sge, u32 length) in rvt_get_sge_length() argument
146 u32 len = sge->length; in rvt_get_sge_length()
150 if (len > sge->sge_length) in rvt_get_sge_length()
151 len = sge->sge_length; in rvt_get_sge_length()
159 struct rvt_sge *sge = &ss->sge; in rvt_update_sge() local
161 sge->vaddr += length; in rvt_update_sge()
162 sge->length -= length; in rvt_update_sge()
[all …]
/Linux-v5.4/drivers/scsi/esas2r/
Desas2r_io.c222 if (unlikely(sgc->sge.a64.curr > sgc->sge.a64.limit)) { in esas2r_build_sg_list_sge()
237 sgelen = (u8)((u8 *)sgc->sge.a64.curr in esas2r_build_sg_list_sge()
238 - (u8 *)sgc->sge.a64.last); in esas2r_build_sg_list_sge()
244 memcpy(sgl->virt_addr, sgc->sge.a64.last, sgelen); in esas2r_build_sg_list_sge()
247 sgc->sge.a64.curr = in esas2r_build_sg_list_sge()
252 sgc->sge.a64.limit = in esas2r_build_sg_list_sge()
257 sgc->sge.a64.last->length = cpu_to_le32( in esas2r_build_sg_list_sge()
259 sgc->sge.a64.last->address = in esas2r_build_sg_list_sge()
268 if (sgc->sge.a64.chain) { in esas2r_build_sg_list_sge()
269 sgc->sge.a64.chain->length |= in esas2r_build_sg_list_sge()
[all …]
/Linux-v5.4/drivers/infiniband/sw/rdmavt/
Dtrace_mr.h124 TP_PROTO(struct rvt_sge *sge, struct ib_sge *isge),
125 TP_ARGS(sge, isge),
127 RDI_DEV_ENTRY(ib_to_rvt(sge->mr->pd->device))
129 __field(struct rvt_sge *, sge)
142 RDI_DEV_ASSIGN(ib_to_rvt(sge->mr->pd->device));
143 __entry->mr = sge->mr;
144 __entry->sge = sge;
146 __entry->vaddr = sge->vaddr;
148 __entry->lkey = sge->mr->lkey;
149 __entry->sge_length = sge->sge_length;
[all …]
Dmr.c536 rval = rvt_mr_has_lkey(ss->sge.mr, lkey); in rvt_ss_has_lkey()
880 struct ib_sge *sge) in rvt_sge_adjacent() argument
882 if (last_sge && sge->lkey == last_sge->mr->lkey && in rvt_sge_adjacent()
883 ((uint64_t)(last_sge->vaddr + last_sge->length) == sge->addr)) { in rvt_sge_adjacent()
884 if (sge->lkey) { in rvt_sge_adjacent()
885 if (unlikely((sge->addr - last_sge->mr->user_base + in rvt_sge_adjacent()
886 sge->length > last_sge->mr->length))) in rvt_sge_adjacent()
889 last_sge->length += sge->length; in rvt_sge_adjacent()
891 last_sge->sge_length += sge->length; in rvt_sge_adjacent()
892 trace_rvt_sge_adjacent(last_sge, sge); in rvt_sge_adjacent()
[all …]
/Linux-v5.4/net/core/
Dskmsg.c33 struct scatterlist *sge; in sk_msg_alloc() local
47 sge = &msg->sg.data[i]; in sk_msg_alloc()
50 sg_page(sge) == pfrag->page && in sk_msg_alloc()
51 sge->offset + sge->length == orig_offset) { in sk_msg_alloc()
52 sge->length += use; in sk_msg_alloc()
59 sge = &msg->sg.data[msg->sg.end]; in sk_msg_alloc()
60 sg_unmark_end(sge); in sk_msg_alloc()
61 sg_set_page(sge, pfrag->page, use, orig_offset); in sk_msg_alloc()
80 struct scatterlist *sge = sk_msg_elem(src, i); in sk_msg_clone() local
85 if (sge->length > off) in sk_msg_clone()
[all …]
/Linux-v5.4/drivers/scsi/csiostor/
Dcsio_wr.c58 csio_get_flbuf_size(struct csio_hw *hw, struct csio_sge *sge, uint32_t reg) in csio_get_flbuf_size() argument
60 sge->sge_fl_buf_size[reg] = csio_rd_reg32(hw, SGE_FL_BUFFER_SIZE0_A + in csio_get_flbuf_size()
66 csio_wr_fl_bufsz(struct csio_sge *sge, struct csio_dma_buf *buf) in csio_wr_fl_bufsz() argument
68 return sge->sge_fl_buf_size[buf->paddr & 0xF]; in csio_wr_fl_bufsz()
75 return (hw->wrm.sge.sge_control & EGRSTATUSPAGESIZE_F) ? 128 : 64; in csio_wr_qstat_pgsz()
118 struct csio_sge *sge = &wrm->sge; in csio_wr_fill_fl() local
126 buf->len = sge->sge_fl_buf_size[sreg]; in csio_wr_fill_fl()
1049 struct csio_sge *sge = &wrm->sge; in csio_wr_process_fl() local
1075 bufsz = csio_wr_fl_bufsz(sge, buf); in csio_wr_process_fl()
1096 flq->un.fl.offset += ALIGN(lastlen, sge->csio_fl_align); in csio_wr_process_fl()
[all …]
/Linux-v5.4/drivers/net/ethernet/huawei/hinic/
Dhinic_common.c55 void hinic_set_sge(struct hinic_sge *sge, dma_addr_t addr, int len) in hinic_set_sge() argument
57 sge->hi_addr = upper_32_bits(addr); in hinic_set_sge()
58 sge->lo_addr = lower_32_bits(addr); in hinic_set_sge()
59 sge->len = len; in hinic_set_sge()
68 dma_addr_t hinic_sge_to_dma(struct hinic_sge *sge) in hinic_sge_to_dma() argument
70 return (dma_addr_t)((((u64)sge->hi_addr) << 32) | sge->lo_addr); in hinic_sge_to_dma()
Dhinic_rx.c201 struct hinic_sge sge; in rx_alloc_pkts() local
220 hinic_set_sge(&sge, dma_addr, skb->len); in rx_alloc_pkts()
229 hinic_rq_prepare_wqe(rxq->rq, prod_idx, rq_wqe, &sge); in rx_alloc_pkts()
252 struct hinic_sge sge; in free_all_rx_skbs() local
259 hinic_rq_get_sge(rq, &hw_wqe->rq_wqe, ci, &sge); in free_all_rx_skbs()
263 rx_free_skb(rxq, rq->saved_skb[ci], hinic_sge_to_dma(&sge)); in free_all_rx_skbs()
282 struct hinic_sge sge; in rx_recv_jumbo_pkt() local
291 hinic_rq_get_sge(rxq->rq, rq_wqe, ci, &sge); in rx_recv_jumbo_pkt()
293 rx_unmap_skb(rxq, hinic_sge_to_dma(&sge)); in rx_recv_jumbo_pkt()
336 struct hinic_sge sge; in rxq_recv() local
[all …]
/Linux-v5.4/drivers/infiniband/sw/siw/
Dsiw_qp_tx.c43 struct siw_sge *sge = &wqe->sqe.sge[0]; in siw_try_1seg() local
44 u32 bytes = sge->length; in siw_try_1seg()
53 memcpy(paddr, &wqe->sqe.sge[1], bytes); in siw_try_1seg()
60 (const void *)(uintptr_t)sge->laddr, bytes); in siw_try_1seg()
62 if (copy_from_user(paddr, u64_to_user_ptr(sge->laddr), in siw_try_1seg()
66 unsigned int off = sge->laddr & ~PAGE_MASK; in siw_try_1seg()
72 p = siw_get_upage(mem->umem, sge->laddr); in siw_try_1seg()
74 p = siw_get_pblpage(mem, sge->laddr, &pbl_idx); in siw_try_1seg()
91 sge->laddr + part); in siw_try_1seg()
94 sge->laddr + part, in siw_try_1seg()
[all …]
Dsiw_qp_rx.c175 srx->ddp_stag = wqe->sqe.sge[0].lkey; in siw_rresp_check_ntoh()
176 srx->ddp_to = wqe->sqe.sge[0].laddr; in siw_rresp_check_ntoh()
366 wqe->rqe.sge[i].laddr = rqe->sge[i].laddr; in siw_rqe_get()
367 wqe->rqe.sge[i].lkey = rqe->sge[i].lkey; in siw_rqe_get()
368 wqe->rqe.sge[i].length = rqe->sge[i].length; in siw_rqe_get()
369 wqe->bytes += wqe->rqe.sge[i].length; in siw_rqe_get()
456 struct siw_sge *sge; in siw_proc_send() local
459 sge = &wqe->rqe.sge[frx->sge_idx]; in siw_proc_send()
461 if (!sge->length) { in siw_proc_send()
468 sge_bytes = min(data_bytes, sge->length - frx->sge_off); in siw_proc_send()
[all …]
/Linux-v5.4/drivers/infiniband/hw/qib/
Dqib_ud.c61 struct rvt_sge *sge; in qib_ud_loopback() local
172 ssge.sge = *swqe->sg_list; in qib_ud_loopback()
174 sge = &ssge.sge; in qib_ud_loopback()
176 u32 len = rvt_get_sge_length(sge, length); in qib_ud_loopback()
178 rvt_copy_sge(qp, &qp->r_sge, sge->vaddr, len, true, false); in qib_ud_loopback()
179 sge->vaddr += len; in qib_ud_loopback()
180 sge->length -= len; in qib_ud_loopback()
181 sge->sge_length -= len; in qib_ud_loopback()
182 if (sge->sge_length == 0) { in qib_ud_loopback()
184 *sge = *ssge.sg_list++; in qib_ud_loopback()
[all …]
Dqib_verbs.c142 struct rvt_sge sge = ss->sge; in qib_count_sge() local
147 u32 len = rvt_get_sge_length(&sge, length); in qib_count_sge()
149 if (((long) sge.vaddr & (sizeof(u32) - 1)) || in qib_count_sge()
155 sge.vaddr += len; in qib_count_sge()
156 sge.length -= len; in qib_count_sge()
157 sge.sge_length -= len; in qib_count_sge()
158 if (sge.sge_length == 0) { in qib_count_sge()
160 sge = *sg_list++; in qib_count_sge()
161 } else if (sge.length == 0 && sge.mr->lkey) { in qib_count_sge()
162 if (++sge.n >= RVT_SEGSZ) { in qib_count_sge()
[all …]
/Linux-v5.4/drivers/net/ethernet/chelsio/cxgb4/
Dcxgb4_uld.c144 struct sge *s = &adap->sge; in alloc_uld_rxqs()
198 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in setup_sge_queues_uld()
214 struct sge *s = &adap->sge; in setup_sge_queues_uld()
243 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in free_sge_queues_uld()
246 struct sge *s = &adap->sge; in free_sge_queues_uld()
271 struct sge *s = &adap->sge; in cfg_queues_uld()
339 adap->sge.uld_rxq_info[uld_type] = rxq_info; in cfg_queues_uld()
346 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in free_queues_uld()
348 adap->sge.uld_rxq_info[uld_type] = NULL; in free_queues_uld()
357 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in request_msix_queue_irqs_uld()
[all …]
Dsge.c149 struct sge *s = &adapter->sge; in fl_mtu_bufsize()
236 const struct sge *s = &adapter->sge; in fl_starving()
320 for (p = sgl->sge; nfrags >= 2; nfrags -= 2) { in unmap_sgl()
457 struct sge *s = &adapter->sge; in get_buf_size()
594 struct sge *s = &adap->sge; in refill_fl()
603 if (test_bit(q->cntxt_id - adap->sge.egr_start, adap->sge.blocked_fl)) in refill_fl()
681 set_bit(q->cntxt_id - adap->sge.egr_start, in refill_fl()
682 adap->sge.starving_fl); in refill_fl()
909 to = (u8 *)end > (u8 *)q->stat ? buf : sgl->sge; in cxgb4_write_sgl()
923 unsigned int part0 = (u8 *)q->stat - (u8 *)sgl->sge, part1; in cxgb4_write_sgl()
[all …]
/Linux-v5.4/drivers/infiniband/ulp/iser/
Diser_memory.c196 reg->sge.lkey = device->pd->local_dma_lkey; in iser_reg_dma()
206 reg->sge.addr = sg_dma_address(&sg[0]); in iser_reg_dma()
207 reg->sge.length = sg_dma_len(&sg[0]); in iser_reg_dma()
210 " length=0x%x\n", reg->sge.lkey, reg->rkey, in iser_reg_dma()
211 reg->sge.addr, reg->sge.length); in iser_reg_dma()
258 reg->sge.lkey = fmr->fmr->lkey; in iser_fast_reg_fmr()
260 reg->sge.addr = page_vec->fake_mr.iova; in iser_fast_reg_fmr()
261 reg->sge.length = page_vec->fake_mr.length; in iser_fast_reg_fmr()
265 " length=0x%x\n", reg->sge.lkey, reg->rkey, in iser_fast_reg_fmr()
266 reg->sge.addr, reg->sge.length); in iser_fast_reg_fmr()
[all …]
/Linux-v5.4/drivers/infiniband/sw/rxe/
Drxe_mr.c445 struct rxe_sge *sge = &dma->sge[dma->cur_sge]; in copy_data() local
460 if (sge->length && (offset < sge->length)) { in copy_data()
461 mem = lookup_mem(pd, access, sge->lkey, lookup_local); in copy_data()
471 if (offset >= sge->length) { in copy_data()
476 sge++; in copy_data()
485 if (sge->length) { in copy_data()
486 mem = lookup_mem(pd, access, sge->lkey, in copy_data()
497 if (bytes > sge->length - offset) in copy_data()
498 bytes = sge->length - offset; in copy_data()
501 iova = sge->addr + offset; in copy_data()
[all …]
/Linux-v5.4/net/ipv4/
Dtcp_bpf.c57 struct scatterlist *sge; in __tcp_bpf_recvmsg() local
67 sge = sk_msg_elem(msg_rx, i); in __tcp_bpf_recvmsg()
68 copy = sge->length; in __tcp_bpf_recvmsg()
69 page = sg_page(sge); in __tcp_bpf_recvmsg()
72 ret = copy_page_to_iter(page, sge->offset, copy, iter); in __tcp_bpf_recvmsg()
80 sge->offset += copy; in __tcp_bpf_recvmsg()
81 sge->length -= copy; in __tcp_bpf_recvmsg()
85 if (!sge->length) { in __tcp_bpf_recvmsg()
104 if (!sge->length && msg_rx->sg.start == msg_rx->sg.end) { in __tcp_bpf_recvmsg()
165 struct scatterlist *sge; in bpf_tcp_ingress() local
[all …]
/Linux-v5.4/drivers/infiniband/core/
Drw.c113 reg->sge.addr = reg->mr->iova; in rdma_rw_init_one_mr()
114 reg->sge.length = reg->mr->length; in rdma_rw_init_one_mr()
153 reg->wr.wr.sg_list = &reg->sge; in rdma_rw_init_mr_wrs()
167 remote_addr += reg->sge.length; in rdma_rw_init_mr_wrs()
195 struct ib_sge *sge; in rdma_rw_init_map_wrs() local
200 ctx->map.sges = sge = kcalloc(sg_cnt, sizeof(*sge), GFP_KERNEL); in rdma_rw_init_map_wrs()
219 rdma_wr->wr.sg_list = sge; in rdma_rw_init_map_wrs()
222 sge->addr = sg_dma_address(sg) + offset; in rdma_rw_init_map_wrs()
223 sge->length = sg_dma_len(sg) - offset; in rdma_rw_init_map_wrs()
224 sge->lkey = qp->pd->local_dma_lkey; in rdma_rw_init_map_wrs()
[all …]
/Linux-v5.4/drivers/net/ethernet/chelsio/cxgb4vf/
Dsge.c264 const struct sge *s = &adapter->sge; in fl_starving()
325 for (p = sgl->sge; nfrags >= 2; nfrags -= 2) { in unmap_sgl()
457 const struct sge *s = &adapter->sge; in get_buf_size()
607 struct sge *s = &adapter->sge; in refill_fl()
715 set_bit(fl->cntxt_id, adapter->sge.starving_fl); in refill_fl()
930 to = (u8 *)end > (u8 *)tq->stat ? buf : sgl->sge; in write_sgl()
944 unsigned int part0 = (u8 *)tq->stat - (u8 *)sgl->sge, part1; in write_sgl()
947 memcpy(sgl->sge, buf, part0); in write_sgl()
1198 txq = &adapter->sge.ethtxq[pi->first_qset + qidx]; in t4vf_eth_xmit()
1571 struct sge *s = &adapter->sge; in do_gro()
[all …]
Dcxgb4vf_main.c384 struct sge *s = &adapter->sge; in request_msix_queue_irqs()
422 struct sge *s = &adapter->sge; in free_msix_queue_irqs()
455 struct sge *s = &adapter->sge; in enable_rx()
478 struct sge *s = &adapter->sge; in quiesce_rx()
536 struct sge *s = &adapter->sge; in fwevtq_handler()
592 struct sge *s = &adapter->sge; in setup_sge_queues()
707 struct sge_eth_rxq *rxq = &adapter->sge.ethrxq[pi->first_qset]; in setup_rss()
1021 static int closest_timer(const struct sge *s, int us) in closest_timer()
1037 static int closest_thres(const struct sge *s, int thres) in closest_thres()
1062 ? adapter->sge.timer_val[timer_idx] in qtimer_val()
[all …]
/Linux-v5.4/net/sunrpc/xprtrdma/
Drpc_rdma.c568 struct ib_sge *sge; in rpcrdma_sendctx_unmap() local
577 for (sge = &sc->sc_sges[2]; sc->sc_unmap_count; in rpcrdma_sendctx_unmap()
578 ++sge, --sc->sc_unmap_count) in rpcrdma_sendctx_unmap()
579 ib_dma_unmap_page(sc->sc_device, sge->addr, sge->length, in rpcrdma_sendctx_unmap()
592 struct ib_sge *sge = sc->sc_sges; in rpcrdma_prepare_hdr_sge() local
596 sge->addr = rdmab_addr(rb); in rpcrdma_prepare_hdr_sge()
597 sge->length = len; in rpcrdma_prepare_hdr_sge()
598 sge->lkey = rdmab_lkey(rb); in rpcrdma_prepare_hdr_sge()
600 ib_dma_sync_single_for_device(rdmab_device(rb), sge->addr, sge->length, in rpcrdma_prepare_hdr_sge()
621 struct ib_sge *sge = sc->sc_sges; in rpcrdma_prepare_msg_sges() local
[all …]
/Linux-v5.4/drivers/infiniband/hw/hns/
Dhns_roce_qp.c377 hr_qp->sge.sge_cnt = roundup_pow_of_two(hr_qp->sq.wqe_cnt * in hns_roce_set_user_sq_size()
381 if (hr_qp->sge.sge_cnt > hr_dev->caps.max_extend_sg) { in hns_roce_set_user_sq_size()
384 hr_qp->sge.sge_cnt); in hns_roce_set_user_sq_size()
389 hr_qp->sge.sge_shift = 4; in hns_roce_set_user_sq_size()
390 ex_sge_num = hr_qp->sge.sge_cnt; in hns_roce_set_user_sq_size()
404 hr_qp->sge.sge_cnt = ex_sge_num ? in hns_roce_set_user_sq_size()
405 max(page_size / (1 << hr_qp->sge.sge_shift), ex_sge_num) : 0; in hns_roce_set_user_sq_size()
408 HNS_ROCE_ALOGN_UP((hr_qp->sge.sge_cnt << in hns_roce_set_user_sq_size()
409 hr_qp->sge.sge_shift), page_size) + in hns_roce_set_user_sq_size()
415 hr_qp->sge.offset = HNS_ROCE_ALOGN_UP( in hns_roce_set_user_sq_size()
[all …]
/Linux-v5.4/net/rds/
Dib_recv.c53 struct ib_sge *sge; in rds_ib_recv_init_ring() local
63 sge = &recv->r_sge[0]; in rds_ib_recv_init_ring()
64 sge->addr = ic->i_recv_hdrs_dma + (i * sizeof(struct rds_header)); in rds_ib_recv_init_ring()
65 sge->length = sizeof(struct rds_header); in rds_ib_recv_init_ring()
66 sge->lkey = ic->i_pd->local_dma_lkey; in rds_ib_recv_init_ring()
68 sge = &recv->r_sge[1]; in rds_ib_recv_init_ring()
69 sge->addr = 0; in rds_ib_recv_init_ring()
70 sge->length = RDS_FRAG_SIZE; in rds_ib_recv_init_ring()
71 sge->lkey = ic->i_pd->local_dma_lkey; in rds_ib_recv_init_ring()
311 struct ib_sge *sge; in rds_ib_recv_refill_one() local
[all …]

1234567