Home
last modified time | relevance | path

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

12345

/linux/drivers/net/ethernet/chelsio/cxgb/
H A Dsge.c233 struct sge *sge; member
247 struct sge { struct
275 static void tx_sched_stop(struct sge *sge) in tx_sched_stop() argument
277 struct sched *s = sge->tx_sched; in tx_sched_stop()
290 unsigned int t1_sched_update_parms(struct sge *sge, unsigned int port, in t1_sched_update_parms() argument
293 struct sched *s = sge->tx_sched; in t1_sched_update_parms()
313 if (board_info(sge->adapter)->board == CHBT_BOARD_CHT204) { in t1_sched_update_parms()
336 void t1_sched_set_max_avail_bytes(struct sge *sge, unsigned int val)
338 struct sched *s = sge->tx_sched;
343 t1_sched_update_parms(sge, i, 0, 0);
[all …]
H A Dsge.h62 struct sge;
64 struct sge *t1_sge_create(struct adapter *, struct sge_params *);
65 int t1_sge_configure(struct sge *, struct sge_params *);
66 int t1_sge_set_coalesce_params(struct sge *, struct sge_params *);
67 void t1_sge_destroy(struct sge *);
74 void t1_sge_start(struct sge *);
75 void t1_sge_stop(struct sge *);
76 bool t1_sge_intr_error_handler(struct sge *sge);
77 void t1_sge_intr_enable(struct sge *);
78 void t1_sge_intr_disable(struct sge *);
[all …]
/linux/include/rdma/
H A Drdmavt_mr.h78 struct rvt_sge sge; /* progress state for the current SGE */ member
96 rvt_put_mr(ss->sge.mr); in rvt_put_ss()
98 ss->sge = *ss->sg_list++; in rvt_put_ss()
102 static inline u32 rvt_get_sge_length(struct rvt_sge *sge, u32 length) in rvt_get_sge_length() argument
104 u32 len = sge->length; in rvt_get_sge_length()
108 if (len > sge->sge_length) in rvt_get_sge_length()
109 len = sge->sge_length; in rvt_get_sge_length()
117 struct rvt_sge *sge = &ss->sge; in rvt_update_sge() local
119 sge->vaddr += length; in rvt_update_sge()
120 sge->length -= length; in rvt_update_sge()
[all …]
/linux/drivers/scsi/esas2r/
H A 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/drivers/infiniband/sw/rdmavt/
H A Dtrace_mr.h82 TP_PROTO(struct rvt_sge *sge, struct ib_sge *isge),
83 TP_ARGS(sge, isge),
85 RDI_DEV_ENTRY(ib_to_rvt(sge->mr->pd->device))
87 __field(struct rvt_sge *, sge)
100 RDI_DEV_ASSIGN(ib_to_rvt(sge->mr->pd->device));
101 __entry->mr = sge->mr;
102 __entry->sge = sge;
104 __entry->vaddr = sge->vaddr;
106 __entry->lkey = sge->mr->lkey;
107 __entry->sge_length = sge->sge_length;
[all …]
/linux/drivers/scsi/csiostor/
H A 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
1074 bufsz = csio_wr_fl_bufsz(sge, buf); in csio_wr_process_fl()
1095 flq->un.fl.offset += ALIGN(lastlen, sge->csio_fl_align); in csio_wr_process_fl()
[all …]
/linux/net/core/
H A Dskmsg.c35 struct scatterlist *sge; in sk_msg_alloc() local
53 sge = &msg->sg.data[i]; in sk_msg_alloc()
56 sg_page(sge) == pfrag->page && in sk_msg_alloc()
57 sge->offset + sge->length == orig_offset) { in sk_msg_alloc()
58 sge->length += use; in sk_msg_alloc()
65 sge = &msg->sg.data[msg->sg.end]; in sk_msg_alloc()
66 sg_unmark_end(sge); in sk_msg_alloc()
67 sg_set_page(sge, pfrag->page, use, orig_offset); in sk_msg_alloc()
91 struct scatterlist *sge = sk_msg_elem(src, i); in sk_msg_clone() local
96 if (sge->length > off) in sk_msg_clone()
[all …]
/linux/drivers/net/ethernet/huawei/hinic/
H A 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()
H A Dhinic_rx.c198 struct hinic_sge sge; in rx_alloc_pkts() local
215 hinic_set_sge(&sge, dma_addr, skb->len); in rx_alloc_pkts()
224 hinic_rq_prepare_wqe(rxq->rq, prod_idx, rq_wqe, &sge); in rx_alloc_pkts()
247 struct hinic_sge sge; in free_all_rx_skbs() local
254 hinic_rq_get_sge(rq, &hw_wqe->rq_wqe, ci, &sge); in free_all_rx_skbs()
258 rx_free_skb(rxq, rq->saved_skb[ci], hinic_sge_to_dma(&sge)); in free_all_rx_skbs()
277 struct hinic_sge sge; in rx_recv_jumbo_pkt() local
286 hinic_rq_get_sge(rxq->rq, rq_wqe, ci, &sge); in rx_recv_jumbo_pkt()
288 rx_unmap_skb(rxq, hinic_sge_to_dma(&sge)); in rx_recv_jumbo_pkt()
365 struct hinic_sge sge; in rxq_recv() local
[all …]
/linux/drivers/infiniband/sw/siw/
H A Dsiw_qp_tx.c37 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()
[all …]
H A Dsiw_qp_rx.c176 srx->ddp_stag = wqe->sqe.sge[0].lkey; in siw_rresp_check_ntoh()
177 srx->ddp_to = wqe->sqe.sge[0].laddr; in siw_rresp_check_ntoh()
367 wqe->rqe.sge[i].laddr = rqe->sge[i].laddr; in siw_rqe_get()
368 wqe->rqe.sge[i].lkey = rqe->sge[i].lkey; in siw_rqe_get()
369 wqe->rqe.sge[i].length = rqe->sge[i].length; in siw_rqe_get()
370 wqe->bytes += wqe->rqe.sge[i].length; in siw_rqe_get()
471 struct siw_sge *sge; in siw_proc_send() local
474 sge = &wqe->rqe.sge[frx->sge_idx]; in siw_proc_send()
476 if (!sge->length) { in siw_proc_send()
483 sge_bytes = min(data_bytes, sge->length - frx->sge_off); in siw_proc_send()
[all …]
H A Dsiw_qp.c253 wqe->sqe.sge[0].length = 0; in siw_qp_mpa_rts()
254 wqe->sqe.sge[0].laddr = 0; in siw_qp_mpa_rts()
255 wqe->sqe.sge[0].lkey = 0; in siw_qp_mpa_rts()
456 rreq->ddp_msn = htonl(wqe->sqe.sge[0].length); in siw_send_terminate()
461 rreq->read_size = htonl(wqe->sqe.sge[0].length); in siw_send_terminate()
462 rreq->source_stag = htonl(wqe->sqe.sge[0].lkey); in siw_send_terminate()
464 cpu_to_be64(wqe->sqe.sge[0].laddr); in siw_send_terminate()
844 rreq->sge[0].laddr = sqe->sge[0].laddr; in siw_read_to_orq()
845 rreq->sge[0].length = sqe->sge[0].length; in siw_read_to_orq()
846 rreq->sge[0].lkey = sqe->sge[0].lkey; in siw_read_to_orq()
[all …]
/linux/drivers/infiniband/ulp/iser/
H A Diser_memory.c128 reg->sge.lkey = device->pd->local_dma_lkey; in iser_reg_dma()
138 reg->sge.addr = sg_dma_address(&sg[0]); in iser_reg_dma()
139 reg->sge.length = sg_dma_len(&sg[0]); in iser_reg_dma()
142 " length=0x%x\n", reg->sge.lkey, reg->rkey, in iser_reg_dma()
143 reg->sge.addr, reg->sge.length); in iser_reg_dma()
293 sig_reg->sge.lkey = mr->lkey; in iser_reg_sig_mr()
295 sig_reg->sge.addr = mr->iova; in iser_reg_sig_mr()
296 sig_reg->sge.length = mr->length; in iser_reg_sig_mr()
299 sig_reg->sge.lkey, sig_reg->rkey, sig_reg->sge.addr, in iser_reg_sig_mr()
300 sig_reg->sge.length); in iser_reg_sig_mr()
[all …]
/linux/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_uld.c115 struct sge *s = &adap->sge; in alloc_uld_rxqs()
176 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in setup_sge_queues_uld()
185 struct sge *s = &adap->sge; in setup_sge_queues_uld()
214 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in free_sge_queues_uld()
217 struct sge *s = &adap->sge; in free_sge_queues_uld()
240 struct sge *s = &adap->sge; in cfg_queues_uld()
307 adap->sge.uld_rxq_info[uld_type] = rxq_info; in cfg_queues_uld()
314 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in free_queues_uld()
316 adap->sge.uld_rxq_info[uld_type] = NULL; in free_queues_uld()
325 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in request_msix_queue_irqs_uld()
[all …]
H A Dcxgb4_tc_mqprio.c159 adap->sge.eohw_rxq = kzalloc_objs(struct sge_ofld_rxq, in cxgb4_mqprio_alloc_hw_resources()
160 adap->sge.eoqsets); in cxgb4_mqprio_alloc_hw_resources()
161 if (!adap->sge.eohw_rxq) in cxgb4_mqprio_alloc_hw_resources()
164 adap->sge.eohw_txq = kzalloc_objs(struct sge_eohw_txq, in cxgb4_mqprio_alloc_hw_resources()
165 adap->sge.eoqsets); in cxgb4_mqprio_alloc_hw_resources()
166 if (!adap->sge.eohw_txq) { in cxgb4_mqprio_alloc_hw_resources()
167 kfree(adap->sge.eohw_rxq); in cxgb4_mqprio_alloc_hw_resources()
177 msix = -((int)adap->sge.intrq.abs_id + 1); in cxgb4_mqprio_alloc_hw_resources()
180 eorxq = &adap->sge.eohw_rxq[pi->first_qset + i]; in cxgb4_mqprio_alloc_hw_resources()
181 eotxq = &adap->sge.eohw_txq[pi->first_qset + i]; in cxgb4_mqprio_alloc_hw_resources()
[all …]
H A Dsge.c151 struct sge *s = &adapter->sge; in fl_mtu_bufsize()
238 const struct sge *s = &adapter->sge; in fl_starving()
401 struct sge *s = &adapter->sge; in get_buf_size()
538 struct sge *s = &adap->sge; in refill_fl()
547 if (test_bit(q->cntxt_id - adap->sge.egr_start, adap->sge.blocked_fl)) in refill_fl()
625 set_bit(q->cntxt_id - adap->sge.egr_start, in refill_fl()
626 adap->sge.starving_fl); in refill_fl()
852 to = (u8 *)end > (u8 *)q->stat ? buf : sgl->sge; in cxgb4_write_sgl()
866 unsigned int part0 = (u8 *)q->stat - (u8 *)sgl->sge, part1; in cxgb4_write_sgl()
869 memcpy(sgl->sge, buf, part0); in cxgb4_write_sgl()
[all …]
/linux/drivers/infiniband/core/
H A Drw.c120 reg->sge.addr = reg->mr->iova; in rdma_rw_init_one_mr()
121 reg->sge.length = reg->mr->length; in rdma_rw_init_one_mr()
138 reg->wr.wr.sg_list = &reg->sge; in rdma_rw_init_reg_wr()
182 remote_addr += reg->sge.length; in rdma_rw_init_mr_wrs()
264 remote_addr += reg->sge.length; in rdma_rw_init_mr_wrs_bvec()
293 struct ib_sge *sge; in rdma_rw_init_map_wrs() local
298 ctx->map.sges = sge = kzalloc_objs(*sge, sg_cnt); in rdma_rw_init_map_wrs()
317 rdma_wr->wr.sg_list = sge; in rdma_rw_init_map_wrs()
320 sge->addr = sg_dma_address(sg) + offset; in rdma_rw_init_map_wrs()
321 sge->length = sg_dma_len(sg) - offset; in rdma_rw_init_map_wrs()
[all …]
/linux/net/sunrpc/xprtrdma/
H A Drpc_rdma.c473 struct ib_sge *sge; in rpcrdma_sendctx_done()
479 for (sge = &sc->sc_sges[2]; sc->sc_unmap_count;
480 ++sge, --sc->sc_unmap_count)
481 ib_dma_unmap_page(rdmab_device(rb), sge->addr, sge->length,
519 struct ib_sge *sge = &sc->sc_sges[req->rl_wr.num_sge++]; in rpcrdma_prepare_hdr_sge()
521 sge->addr = rdmab_addr(rb);
522 sge->length = len;
523 sge->lkey = rdmab_lkey(rb);
525 ib_dma_sync_single_for_device(rdmab_device(rb), sge
488 struct ib_sge *sge; rpcrdma_sendctx_unmap() local
512 struct ib_sge *sge = &sc->sc_sges[req->rl_wr.num_sge++]; rpcrdma_prepare_hdr_sge() local
529 struct ib_sge *sge = &sc->sc_sges[req->rl_wr.num_sge++]; rpcrdma_prepare_head_iov() local
554 struct ib_sge *sge; rpcrdma_prepare_pagelist() local
592 struct ib_sge *sge = &sc->sc_sges[req->rl_wr.num_sge++]; rpcrdma_prepare_tail_iov() local
[all...]
/linux/drivers/net/ethernet/chelsio/cxgb4vf/
H A 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()
1195 txq = &adapter->sge.ethtxq[pi->first_qset + qidx]; in t4vf_eth_xmit()
1568 struct sge *s = &adapter->sge; in do_gro()
[all …]
/linux/net/ipv4/
H A Dtcp_bpf.c37 struct scatterlist *sge; in bpf_tcp_ingress() local
50 sge = sk_msg_elem(msg, i); in bpf_tcp_ingress()
51 size = (apply && apply_bytes < sge->length) ? in bpf_tcp_ingress()
52 apply_bytes : sge->length; in bpf_tcp_ingress()
63 if (sge->length) in bpf_tcp_ingress()
70 if (sge->length) in bpf_tcp_ingress()
96 struct scatterlist *sge; in tcp_bpf_push() local
105 sge = sk_msg_elem(msg, msg->sg.start); in tcp_bpf_push()
106 size = (apply && apply_bytes < sge->length) ? in tcp_bpf_push()
107 apply_bytes : sge->length; in tcp_bpf_push()
[all …]
/linux/drivers/infiniband/sw/rxe/
H A Drxe_mr.c425 struct rxe_sge *sge = &dma->sge[dma->cur_sge]; in copy_data() local
440 if (sge->length && (offset < sge->length)) { in copy_data()
441 mr = lookup_mr(pd, access, sge->lkey, RXE_LOOKUP_LOCAL); in copy_data()
451 if (offset >= sge->length) { in copy_data()
456 sge++; in copy_data()
465 if (sge->length) { in copy_data()
466 mr = lookup_mr(pd, access, sge->lkey, in copy_data()
477 if (bytes > sge->length - offset) in copy_data()
478 bytes = sge->length - offset; in copy_data()
481 iova = sge->addr + offset; in copy_data()
[all …]
/linux/net/rds/
H A Dib_recv.c54 struct ib_sge *sge; in rds_ib_recv_init_ring() local
64 sge = &recv->r_sge[0]; in rds_ib_recv_init_ring()
65 sge->addr = ic->i_recv_hdrs_dma[i]; in rds_ib_recv_init_ring()
66 sge->length = sizeof(struct rds_header); in rds_ib_recv_init_ring()
67 sge->lkey = ic->i_pd->local_dma_lkey; in rds_ib_recv_init_ring()
69 sge = &recv->r_sge[1]; in rds_ib_recv_init_ring()
70 sge->addr = 0; in rds_ib_recv_init_ring()
71 sge->length = RDS_FRAG_SIZE; in rds_ib_recv_init_ring()
72 sge->lkey = ic->i_pd->local_dma_lkey; in rds_ib_recv_init_ring()
312 struct ib_sge *sge; in rds_ib_recv_refill_one() local
[all …]
/linux/drivers/net/ethernet/microsoft/mana/
H A Dhw_channel.c60 struct gdma_sge *sge; in mana_hwc_post_rx_wqe() local
63 sge = &req->sge; in mana_hwc_post_rx_wqe()
64 sge->address = (u64)req->buf_sge_addr; in mana_hwc_post_rx_wqe()
65 sge->mem_key = hwc_rxq->msg_buf->gpa_mkey; in mana_hwc_post_rx_wqe()
66 sge->size = req->buf_len; in mana_hwc_post_rx_wqe()
69 req->wqe_req.sgl = sge; in mana_hwc_post_rx_wqe()
249 struct gdma_sge *sge; in mana_hwc_rx_event_handler() local
262 sge = (struct gdma_sge *)(wqe + 8 + dma_oob->inline_oob_size_div4 * 4); in mana_hwc_rx_event_handler()
266 rx_req_idx = (sge->address - rq_base_addr) / hwc->max_req_msg_size; in mana_hwc_rx_event_handler()
587 struct gdma_sge *sge; in mana_hwc_post_tx_wqe() local
[all …]
/linux/drivers/scsi/qedf/
H A Ddrv_scsi_fw_funcs.c35 ctx_data_desc->sge[sge_index].sge_addr.lo = val; in init_scsi_sgl_context()
37 ctx_data_desc->sge[sge_index].sge_addr.hi = val; in init_scsi_sgl_context()
39 ctx_data_desc->sge[sge_index].sge_len = val; in init_scsi_sgl_context()
/linux/drivers/nvme/target/
H A Drdma.c47 struct ib_sge sge[NVMET_RDMA_MAX_INLINE_SGE + 1]; member
256 struct ib_sge *sge; in nvmet_rdma_free_inline_pages() local
263 sge = &c->sge[1]; in nvmet_rdma_free_inline_pages()
265 for (i = 0; i < ndev->inline_page_count; i++, sg++, sge++) { in nvmet_rdma_free_inline_pages()
266 if (sge->length) in nvmet_rdma_free_inline_pages()
267 ib_dma_unmap_page(ndev->device, sge->addr, in nvmet_rdma_free_inline_pages()
268 sge->length, DMA_FROM_DEVICE); in nvmet_rdma_free_inline_pages()
278 struct ib_sge *sge; in nvmet_rdma_alloc_inline_pages() local
288 sge = &c->sge[1]; in nvmet_rdma_alloc_inline_pages()
291 for (i = 0; i < ndev->inline_page_count; i++, sg++, sge++) { in nvmet_rdma_alloc_inline_pages()
[all …]

12345