Home
last modified time | relevance | path

Searched refs:rxe (Results 1 – 25 of 29) sorted by relevance

12

/Linux-v4.19/drivers/infiniband/sw/rxe/
Drxe.c43 static void rxe_cleanup_ports(struct rxe_dev *rxe) in rxe_cleanup_ports() argument
45 kfree(rxe->port.pkey_tbl); in rxe_cleanup_ports()
46 rxe->port.pkey_tbl = NULL; in rxe_cleanup_ports()
53 static void rxe_cleanup(struct rxe_dev *rxe) in rxe_cleanup() argument
55 rxe_pool_cleanup(&rxe->uc_pool); in rxe_cleanup()
56 rxe_pool_cleanup(&rxe->pd_pool); in rxe_cleanup()
57 rxe_pool_cleanup(&rxe->ah_pool); in rxe_cleanup()
58 rxe_pool_cleanup(&rxe->srq_pool); in rxe_cleanup()
59 rxe_pool_cleanup(&rxe->qp_pool); in rxe_cleanup()
60 rxe_pool_cleanup(&rxe->cq_pool); in rxe_cleanup()
[all …]
Drxe_net.c53 struct rxe_dev *rxe; in net_to_rxe() local
57 list_for_each_entry(rxe, &rxe_dev_list, list) { in net_to_rxe()
58 if (rxe->ndev == ndev) { in net_to_rxe()
59 found = rxe; in net_to_rxe()
70 struct rxe_dev *rxe; in get_rxe_by_name() local
74 list_for_each_entry(rxe, &rxe_dev_list, list) { in get_rxe_by_name()
75 if (!strcmp(name, rxe->ib_dev.name)) { in get_rxe_by_name()
76 found = rxe; in get_rxe_by_name()
87 struct device *rxe_dma_device(struct rxe_dev *rxe) in rxe_dma_device() argument
91 ndev = rxe->ndev; in rxe_dma_device()
[all …]
Drxe_mmap.c48 struct rxe_dev *rxe = to_rdev(ip->context->device); in rxe_mmap_release() local
50 spin_lock_bh(&rxe->pending_lock); in rxe_mmap_release()
55 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap_release()
92 struct rxe_dev *rxe = to_rdev(context->device); in rxe_mmap() local
103 spin_lock_bh(&rxe->pending_lock); in rxe_mmap()
104 list_for_each_entry_safe(ip, pp, &rxe->pending_mmaps, pending_mmaps) { in rxe_mmap()
111 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap()
119 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap()
125 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap()
143 struct rxe_mmap_info *rxe_create_mmap_info(struct rxe_dev *rxe, in rxe_create_mmap_info() argument
[all …]
Drxe_loc.h39 int rxe_av_chk_attr(struct rxe_dev *rxe, struct rdma_ah_attr *attr);
51 int rxe_cq_chk_attr(struct rxe_dev *rxe, struct rxe_cq *cq,
54 int rxe_cq_from_init(struct rxe_dev *rxe, struct rxe_cq *cq, int cqe,
68 int rxe_mcast_get_grp(struct rxe_dev *rxe, union ib_gid *mgid,
71 int rxe_mcast_add_grp_elem(struct rxe_dev *rxe, struct rxe_qp *qp,
74 int rxe_mcast_drop_grp_elem(struct rxe_dev *rxe, struct rxe_qp *qp,
135 int rxe_mem_map_pages(struct rxe_dev *rxe, struct rxe_mem *mem,
145 struct sk_buff *rxe_init_packet(struct rxe_dev *rxe, struct rxe_av *av,
147 int rxe_prepare(struct rxe_dev *rxe, struct rxe_pkt_info *pkt,
149 enum rdma_link_layer rxe_link_layer(struct rxe_dev *rxe, unsigned int port_num);
[all …]
Drxe_sysfs.c58 struct rxe_dev *rxe = net_to_rxe(ndev); in rxe_set_port_state() local
61 if (!rxe) in rxe_set_port_state()
65 rxe_port_up(rxe); in rxe_set_port_state()
67 rxe_port_down(rxe); /* down for unknown state */ in rxe_set_port_state()
78 struct rxe_dev *rxe; in rxe_param_set_add() local
100 rxe = rxe_net_add(ndev); in rxe_param_set_add()
101 if (!rxe) { in rxe_param_set_add()
108 pr_info("added %s to %s\n", rxe->ib_dev.name, intf); in rxe_param_set_add()
119 struct rxe_dev *rxe; in rxe_param_set_remove() local
133 rxe = get_rxe_by_name(intf); in rxe_param_set_remove()
[all …]
Drxe.h73 static inline u32 rxe_crc32(struct rxe_dev *rxe, in rxe_crc32() argument
79 SHASH_DESC_ON_STACK(shash, rxe->tfm); in rxe_crc32()
81 shash->tfm = rxe->tfm; in rxe_crc32()
95 void rxe_set_mtu(struct rxe_dev *rxe, unsigned int dev_mtu);
97 int rxe_add(struct rxe_dev *rxe, unsigned int mtu);
98 void rxe_remove(struct rxe_dev *rxe);
103 static inline void rxe_dev_put(struct rxe_dev *rxe) in rxe_dev_put() argument
105 kref_put(&rxe->ref_cnt, rxe_release); in rxe_dev_put()
110 void rxe_port_up(struct rxe_dev *rxe);
111 void rxe_port_down(struct rxe_dev *rxe);
Drxe_mcast.c37 int rxe_mcast_get_grp(struct rxe_dev *rxe, union ib_gid *mgid, in rxe_mcast_get_grp() argument
43 if (rxe->attr.max_mcast_qp_attach == 0) { in rxe_mcast_get_grp()
48 grp = rxe_pool_get_key(&rxe->mc_grp_pool, mgid); in rxe_mcast_get_grp()
52 grp = rxe_alloc(&rxe->mc_grp_pool); in rxe_mcast_get_grp()
60 grp->rxe = rxe; in rxe_mcast_get_grp()
64 err = rxe_mcast_add(rxe, mgid); in rxe_mcast_get_grp()
78 int rxe_mcast_add_grp_elem(struct rxe_dev *rxe, struct rxe_qp *qp, in rxe_mcast_add_grp_elem() argument
94 if (grp->num_qp >= rxe->attr.max_mcast_qp_attach) { in rxe_mcast_add_grp_elem()
99 elem = rxe_alloc(&rxe->mc_elem_pool); in rxe_mcast_add_grp_elem()
122 int rxe_mcast_drop_grp_elem(struct rxe_dev *rxe, struct rxe_qp *qp, in rxe_mcast_drop_grp_elem() argument
[all …]
Drxe_recv.c39 static int check_type_state(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in check_type_state() argument
101 static int check_keys(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in check_keys() argument
106 struct rxe_port *port = &rxe->port; in check_keys()
154 static int check_addr(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in check_addr() argument
216 struct rxe_dev *rxe = pkt->rxe; in hdr_check() local
217 struct rxe_port *port = &rxe->port; in hdr_check()
236 qp = rxe_pool_get_index(&rxe->qp_pool, index); in hdr_check()
242 err = check_type_state(rxe, pkt, qp); in hdr_check()
246 err = check_addr(rxe, pkt, qp); in hdr_check()
250 err = check_keys(rxe, pkt, qpn, qp); in hdr_check()
[all …]
Drxe_verbs.c45 struct rxe_dev *rxe = to_rdev(dev); in rxe_query_device() local
50 *attr = rxe->attr; in rxe_query_device()
57 struct rxe_dev *rxe = to_rdev(dev); in rxe_query_port() local
66 port = &rxe->port; in rxe_query_port()
71 mutex_lock(&rxe->usdev_lock); in rxe_query_port()
74 mutex_unlock(&rxe->usdev_lock); in rxe_query_port()
83 struct rxe_dev *rxe = to_rdev(device); in rxe_get_netdev() local
85 if (rxe->ndev) { in rxe_get_netdev()
86 dev_hold(rxe->ndev); in rxe_get_netdev()
87 return rxe->ndev; in rxe_get_netdev()
[all …]
Drxe_srq.c38 int rxe_srq_chk_attr(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_chk_attr() argument
47 if (attr->max_wr > rxe->attr.max_srq_wr) { in rxe_srq_chk_attr()
49 attr->max_wr, rxe->attr.max_srq_wr); in rxe_srq_chk_attr()
69 if (attr->srq_limit > rxe->attr.max_srq_wr) { in rxe_srq_chk_attr()
71 attr->srq_limit, rxe->attr.max_srq_wr); in rxe_srq_chk_attr()
84 if (attr->max_sge > rxe->attr.max_srq_sge) { in rxe_srq_chk_attr()
86 attr->max_sge, rxe->attr.max_srq_sge); in rxe_srq_chk_attr()
100 int rxe_srq_from_init(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_from_init() argument
121 q = rxe_queue_init(rxe, &srq->rq.max_wr, in rxe_srq_from_init()
130 err = do_mmap_info(rxe, uresp ? &uresp->mi : NULL, context, q->buf, in rxe_srq_from_init()
[all …]
Drxe_queue.c39 int do_mmap_info(struct rxe_dev *rxe, in do_mmap_info() argument
50 ip = rxe_create_mmap_info(rxe, buf_size, context, buf); in do_mmap_info()
58 spin_lock_bh(&rxe->pending_lock); in do_mmap_info()
59 list_add(&ip->pending_mmaps, &rxe->pending_mmaps); in do_mmap_info()
60 spin_unlock_bh(&rxe->pending_lock); in do_mmap_info()
82 struct rxe_queue *rxe_queue_init(struct rxe_dev *rxe, in rxe_queue_init() argument
98 q->rxe = rxe; in rxe_queue_init()
169 new_q = rxe_queue_init(q->rxe, &num_elem, elem_size); in rxe_queue_resize()
173 err = do_mmap_info(new_q->rxe, outbuf, context, new_q->buf, in rxe_queue_resize()
Drxe_qp.c43 static int rxe_qp_chk_cap(struct rxe_dev *rxe, struct ib_qp_cap *cap, in rxe_qp_chk_cap() argument
46 if (cap->max_send_wr > rxe->attr.max_qp_wr) { in rxe_qp_chk_cap()
48 cap->max_send_wr, rxe->attr.max_qp_wr); in rxe_qp_chk_cap()
52 if (cap->max_send_sge > rxe->attr.max_send_sge) { in rxe_qp_chk_cap()
54 cap->max_send_sge, rxe->attr.max_send_sge); in rxe_qp_chk_cap()
59 if (cap->max_recv_wr > rxe->attr.max_qp_wr) { in rxe_qp_chk_cap()
61 cap->max_recv_wr, rxe->attr.max_qp_wr); in rxe_qp_chk_cap()
65 if (cap->max_recv_sge > rxe->attr.max_recv_sge) { in rxe_qp_chk_cap()
67 cap->max_recv_sge, rxe->attr.max_recv_sge); in rxe_qp_chk_cap()
72 if (cap->max_inline_data > rxe->max_inline_data) { in rxe_qp_chk_cap()
[all …]
Drxe_cq.c38 int rxe_cq_chk_attr(struct rxe_dev *rxe, struct rxe_cq *cq, in rxe_cq_chk_attr() argument
48 if (cqe > rxe->attr.max_cqe) { in rxe_cq_chk_attr()
50 cqe, rxe->attr.max_cqe); in rxe_cq_chk_attr()
84 int rxe_cq_from_init(struct rxe_dev *rxe, struct rxe_cq *cq, int cqe, in rxe_cq_from_init() argument
90 cq->queue = rxe_queue_init(rxe, &cqe, in rxe_cq_from_init()
97 err = do_mmap_info(rxe, uresp ? &uresp->mi : NULL, context, in rxe_cq_from_init()
Drxe_resp.c107 void rxe_resp_queue_pkt(struct rxe_dev *rxe, struct rxe_qp *qp, in rxe_resp_queue_pkt() argument
152 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in check_psn() local
161 rxe_counter_inc(rxe, RXE_CNT_OUT_OF_SEQ_REQ); in check_psn()
165 rxe_counter_inc(rxe, RXE_CNT_DUP_REQ); in check_psn()
597 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in prepare_ack_packet() local
611 skb = rxe_init_packet(rxe, &qp->pri_av, paylen, ack); in prepare_ack_packet()
640 err = rxe_prepare(rxe, ack, skb, &crc); in prepare_ack_packet()
663 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in read_reply() local
741 err = rxe_xmit_packet(rxe, qp, &ack_pkt, skb); in read_reply()
898 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in do_complete() local
[all …]
Drxe_queue.h70 struct rxe_dev *rxe; member
79 int do_mmap_info(struct rxe_dev *rxe,
88 struct rxe_queue *rxe_queue_init(struct rxe_dev *rxe,
Drxe_comp.c149 void rxe_comp_queue_pkt(struct rxe_dev *rxe, struct rxe_qp *qp, in rxe_comp_queue_pkt() argument
158 rxe_counter_inc(rxe, RXE_CNT_COMPLETER_SCHED); in rxe_comp_queue_pkt()
241 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in check_ack() local
305 rxe_counter_inc(rxe, RXE_CNT_RCV_RNR); in check_ack()
315 rxe_counter_inc(rxe, in check_ack()
542 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_completer() local
692 rxe_counter_inc(rxe, in rxe_completer()
707 rxe_counter_inc(rxe, RXE_CNT_RETRY_EXCEEDED); in rxe_completer()
729 rxe_counter_inc(rxe, in rxe_completer()
Drxe_verbs.h351 struct rxe_dev *rxe; member
415 static inline void rxe_counter_inc(struct rxe_dev *rxe, enum rxe_counters cnt) in rxe_counter_inc() argument
417 rxe->stats_counters[cnt]++; in rxe_counter_inc()
465 int rxe_register_device(struct rxe_dev *rxe);
466 int rxe_unregister_device(struct rxe_dev *rxe);
Drxe_req.c367 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in get_mtu() local
372 return rxe->port.mtu_cap; in get_mtu()
380 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in init_req_packet() local
381 struct rxe_port *port = &rxe->port; in init_req_packet()
408 skb = rxe_init_packet(rxe, av, paylen, pkt); in init_req_packet()
474 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in fill_packet() local
479 err = rxe_prepare(rxe, pkt, skb, &crc); in fill_packet()
487 crc = rxe_crc32(rxe, crc, tmp, paylen); in fill_packet()
620 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_requester() local
623 rmr = rxe_pool_get_index(&rxe->mr_pool, in rxe_requester()
Drxe_icrc.c90 crc = rxe_crc32(pkt->rxe, crc, pshdr, length); in rxe_icrc_hdr()
93 crc = rxe_crc32(pkt->rxe, crc, pkt->hdr + RXE_BTH_BYTES, in rxe_icrc_hdr()
Drxe_pool.c188 struct rxe_dev *rxe, in rxe_pool_init() argument
198 pool->rxe = rxe; in rxe_pool_init()
395 kref_get(&pool->rxe->ref_cnt); in rxe_alloc()
413 rxe_dev_put(pool->rxe); in rxe_alloc()
429 rxe_dev_put(pool->rxe); in rxe_elem_release()
Drxe_pool.h92 struct rxe_dev *rxe; member
125 int rxe_pool_init(struct rxe_dev *rxe, struct rxe_pool *pool,
Drxe_av.c37 int rxe_av_chk_attr(struct rxe_dev *rxe, struct rdma_ah_attr *attr) in rxe_av_chk_attr() argument
41 port = &rxe->port; in rxe_av_chk_attr()
DMakefile5 rxe.o \
Drxe_mr.c573 struct rxe_dev *rxe = to_rdev(pd->ibpd.device); in lookup_mem() local
577 mem = rxe_pool_get_index(&rxe->mr_pool, index); in lookup_mem()
605 int rxe_mem_map_pages(struct rxe_dev *rxe, struct rxe_mem *mem, in rxe_mem_map_pages() argument
/Linux-v4.19/drivers/infiniband/sw/
DMakefile2 obj-$(CONFIG_RDMA_RXE) += rxe/

12