Home
last modified time | relevance | path

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

12

/Linux-v6.1/drivers/infiniband/sw/rxe/
Drxe.c21 struct rxe_dev *rxe = container_of(ib_dev, struct rxe_dev, ib_dev); in rxe_dealloc() local
23 rxe_pool_cleanup(&rxe->uc_pool); in rxe_dealloc()
24 rxe_pool_cleanup(&rxe->pd_pool); in rxe_dealloc()
25 rxe_pool_cleanup(&rxe->ah_pool); in rxe_dealloc()
26 rxe_pool_cleanup(&rxe->srq_pool); in rxe_dealloc()
27 rxe_pool_cleanup(&rxe->qp_pool); in rxe_dealloc()
28 rxe_pool_cleanup(&rxe->cq_pool); in rxe_dealloc()
29 rxe_pool_cleanup(&rxe->mr_pool); in rxe_dealloc()
30 rxe_pool_cleanup(&rxe->mw_pool); in rxe_dealloc()
32 WARN_ON(!RB_EMPTY_ROOT(&rxe->mcg_tree)); in rxe_dealloc()
[all …]
Drxe_mcast.c31 static int rxe_mcast_add(struct rxe_dev *rxe, union ib_gid *mgid) in rxe_mcast_add() argument
37 return dev_mc_add(rxe->ndev, ll_addr); in rxe_mcast_add()
47 static int rxe_mcast_del(struct rxe_dev *rxe, union ib_gid *mgid) in rxe_mcast_del() argument
53 return dev_mc_del(rxe->ndev, ll_addr); in rxe_mcast_del()
65 struct rb_root *tree = &mcg->rxe->mcg_tree; in __rxe_insert_mcg()
94 rb_erase(&mcg->node, &mcg->rxe->mcg_tree); in __rxe_remove_mcg()
105 static struct rxe_mcg *__rxe_lookup_mcg(struct rxe_dev *rxe, in __rxe_lookup_mcg() argument
108 struct rb_root *tree = &rxe->mcg_tree; in __rxe_lookup_mcg()
143 struct rxe_mcg *rxe_lookup_mcg(struct rxe_dev *rxe, union ib_gid *mgid) in rxe_lookup_mcg() argument
147 spin_lock_bh(&rxe->mcg_lock); in rxe_lookup_mcg()
[all …]
Drxe_mmap.c20 struct rxe_dev *rxe = to_rdev(ip->context->device); in rxe_mmap_release() local
22 spin_lock_bh(&rxe->pending_lock); in rxe_mmap_release()
27 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap_release()
64 struct rxe_dev *rxe = to_rdev(context->device); in rxe_mmap() local
75 spin_lock_bh(&rxe->pending_lock); in rxe_mmap()
76 list_for_each_entry_safe(ip, pp, &rxe->pending_mmaps, pending_mmaps) { in rxe_mmap()
83 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap()
91 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap()
97 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap()
115 struct rxe_mmap_info *rxe_create_mmap_info(struct rxe_dev *rxe, u32 size, in rxe_create_mmap_info() argument
[all …]
Drxe_recv.c13 static int check_type_state(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in check_type_state() argument
67 static int check_keys(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in check_keys() argument
70 struct rxe_port *port = &rxe->port; in check_keys()
92 static int check_addr(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in check_addr() argument
129 struct rxe_dev *rxe = pkt->rxe; in hdr_check() local
130 struct rxe_port *port = &rxe->port; in hdr_check()
145 qp = rxe_pool_get_index(&rxe->qp_pool, index); in hdr_check()
149 err = check_type_state(rxe, pkt, qp); in hdr_check()
153 err = check_addr(rxe, pkt, qp); in hdr_check()
157 err = check_keys(rxe, pkt, qpn, qp); in hdr_check()
[all …]
Drxe_net.c134 struct rxe_dev *rxe; in rxe_udp_encap_recv() local
141 rxe = rxe_get_dev_from_net(ndev); in rxe_udp_encap_recv()
142 if (!rxe && is_vlan_dev(ndev)) in rxe_udp_encap_recv()
143 rxe = rxe_get_dev_from_net(vlan_dev_real_dev(ndev)); in rxe_udp_encap_recv()
144 if (!rxe) in rxe_udp_encap_recv()
148 ib_device_put(&rxe->ib_dev); in rxe_udp_encap_recv()
153 pkt->rxe = rxe; in rxe_udp_encap_recv()
395 if (WARN_ON(!ib_device_try_get(&pkt->rxe->ib_dev))) { in rxe_loopback()
410 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_xmit_packet() local
425 rxe_counter_inc(rxe, RXE_CNT_SEND_ERR); in rxe_xmit_packet()
[all …]
Drxe_verbs.c19 struct rxe_dev *rxe = to_rdev(dev); in rxe_query_device() local
24 *attr = rxe->attr; in rxe_query_device()
31 struct rxe_dev *rxe = to_rdev(dev); in rxe_query_port() local
35 *attr = rxe->port.attr; in rxe_query_port()
37 mutex_lock(&rxe->usdev_lock); in rxe_query_port()
43 else if (dev_get_flags(rxe->ndev) & IFF_UP) in rxe_query_port()
48 mutex_unlock(&rxe->usdev_lock); in rxe_query_port()
66 struct rxe_dev *rxe = to_rdev(dev); in rxe_modify_device() local
73 rxe->attr.sys_image_guid = cpu_to_be64(attr->sys_image_guid); in rxe_modify_device()
76 memcpy(rxe->ib_dev.node_desc, in rxe_modify_device()
[all …]
Drxe_srq.c11 int rxe_srq_chk_init(struct rxe_dev *rxe, struct ib_srq_init_attr *init) in rxe_srq_chk_init() argument
15 if (attr->max_wr > rxe->attr.max_srq_wr) { in rxe_srq_chk_init()
17 attr->max_wr, rxe->attr.max_srq_wr); in rxe_srq_chk_init()
29 if (attr->max_sge > rxe->attr.max_srq_sge) { in rxe_srq_chk_init()
31 attr->max_sge, rxe->attr.max_srq_sge); in rxe_srq_chk_init()
44 int rxe_srq_from_init(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_from_init() argument
66 q = rxe_queue_init(rxe, &srq->rq.max_wr, srq_wqe_size, type); in rxe_srq_from_init()
74 err = do_mmap_info(rxe, uresp ? &uresp->mi : NULL, udata, q->buf, in rxe_srq_from_init()
93 int rxe_srq_chk_attr(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_chk_attr() argument
102 if (attr->max_wr > rxe->attr.max_srq_wr) { in rxe_srq_chk_attr()
[all …]
Drxe_loc.h13 int rxe_av_chk_attr(struct rxe_dev *rxe, struct rdma_ah_attr *attr);
25 int rxe_cq_chk_attr(struct rxe_dev *rxe, struct rxe_cq *cq,
28 int rxe_cq_from_init(struct rxe_dev *rxe, struct rxe_cq *cq, int cqe,
43 struct rxe_mcg *rxe_lookup_mcg(struct rxe_dev *rxe, union ib_gid *mgid);
68 int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova,
94 struct sk_buff *rxe_init_packet(struct rxe_dev *rxe, struct rxe_av *av,
100 const char *rxe_parent_name(struct rxe_dev *rxe, unsigned int port_num);
103 int rxe_qp_chk_init(struct rxe_dev *rxe, struct ib_qp_init_attr *init);
104 int rxe_qp_from_init(struct rxe_dev *rxe, struct rxe_qp *qp, struct rxe_pd *pd,
109 int rxe_qp_chk_attr(struct rxe_dev *rxe, struct rxe_qp *qp,
[all …]
Drxe_qp.c18 static int rxe_qp_chk_cap(struct rxe_dev *rxe, struct ib_qp_cap *cap, in rxe_qp_chk_cap() argument
21 if (cap->max_send_wr > rxe->attr.max_qp_wr) { in rxe_qp_chk_cap()
23 cap->max_send_wr, rxe->attr.max_qp_wr); in rxe_qp_chk_cap()
27 if (cap->max_send_sge > rxe->attr.max_send_sge) { in rxe_qp_chk_cap()
29 cap->max_send_sge, rxe->attr.max_send_sge); in rxe_qp_chk_cap()
34 if (cap->max_recv_wr > rxe->attr.max_qp_wr) { in rxe_qp_chk_cap()
36 cap->max_recv_wr, rxe->attr.max_qp_wr); in rxe_qp_chk_cap()
40 if (cap->max_recv_sge > rxe->attr.max_recv_sge) { in rxe_qp_chk_cap()
42 cap->max_recv_sge, rxe->attr.max_recv_sge); in rxe_qp_chk_cap()
47 if (cap->max_inline_data > rxe->max_inline_data) { in rxe_qp_chk_cap()
[all …]
Drxe_icrc.c18 int rxe_icrc_init(struct rxe_dev *rxe) in rxe_icrc_init() argument
29 rxe->tfm = tfm; in rxe_icrc_init()
43 static __be32 rxe_crc32(struct rxe_dev *rxe, __be32 crc, void *next, size_t len) in rxe_crc32() argument
48 SHASH_DESC_ON_STACK(shash, rxe->tfm); in rxe_crc32()
50 shash->tfm = rxe->tfm; in rxe_crc32()
124 crc = rxe_crc32(pkt->rxe, crc, pshdr, length); in rxe_icrc_hdr()
127 crc = rxe_crc32(pkt->rxe, crc, pkt->hdr + RXE_BTH_BYTES, in rxe_icrc_hdr()
150 icrc = rxe_crc32(pkt->rxe, icrc, (u8 *)payload_addr(pkt), in rxe_icrc_check()
172 icrc = rxe_crc32(pkt->rxe, icrc, (u8 *)payload_addr(pkt), in rxe_icrc_generate()
Drxe_queue.c12 int do_mmap_info(struct rxe_dev *rxe, struct mminfo __user *outbuf, in do_mmap_info() argument
20 ip = rxe_create_mmap_info(rxe, buf_size, udata, buf); in do_mmap_info()
31 spin_lock_bh(&rxe->pending_lock); in do_mmap_info()
32 list_add(&ip->pending_mmaps, &rxe->pending_mmaps); in do_mmap_info()
33 spin_unlock_bh(&rxe->pending_lock); in do_mmap_info()
55 struct rxe_queue *rxe_queue_init(struct rxe_dev *rxe, int *num_elem, in rxe_queue_init() argument
70 q->rxe = rxe; in rxe_queue_init()
159 new_q = rxe_queue_init(q->rxe, &num_elem, elem_size, q->type); in rxe_queue_resize()
163 err = do_mmap_info(new_q->rxe, outbuf, udata, new_q->buf, in rxe_queue_resize()
Drxe.h41 void rxe_set_mtu(struct rxe_dev *rxe, unsigned int dev_mtu);
43 int rxe_add(struct rxe_dev *rxe, unsigned int mtu, const char *ibdev_name);
58 void rxe_port_up(struct rxe_dev *rxe);
59 void rxe_port_down(struct rxe_dev *rxe);
60 void rxe_set_port_state(struct rxe_dev *rxe);
Drxe_cq.c11 int rxe_cq_chk_attr(struct rxe_dev *rxe, struct rxe_cq *cq, in rxe_cq_chk_attr() argument
21 if (cqe > rxe->attr.max_cqe) { in rxe_cq_chk_attr()
23 cqe, rxe->attr.max_cqe); in rxe_cq_chk_attr()
57 int rxe_cq_from_init(struct rxe_dev *rxe, struct rxe_cq *cq, int cqe, in rxe_cq_from_init() argument
65 cq->queue = rxe_queue_init(rxe, &cqe, in rxe_cq_from_init()
72 err = do_mmap_info(rxe, uresp ? &uresp->mi : NULL, udata, in rxe_cq_from_init()
Drxe_mw.c20 struct rxe_dev *rxe = to_rdev(ibmw->device); in rxe_alloc_mw() local
25 ret = rxe_add_to_pool(&rxe->mw_pool, mw); in rxe_alloc_mw()
169 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_bind_mw() local
173 mw = rxe_pool_get_index(&rxe->mw_pool, mw_rkey >> 8); in rxe_bind_mw()
185 mr = rxe_pool_get_index(&rxe->mr_pool, mr_lkey >> 8); in rxe_bind_mw()
253 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_invalidate_mw() local
257 mw = rxe_pool_get_index(&rxe->mw_pool, rkey >> 8); in rxe_invalidate_mw()
285 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_lookup_mw() local
290 mw = rxe_pool_get_index(&rxe->mw_pool, index); in rxe_lookup_mw()
Drxe_comp.c133 rxe_counter_inc(SKB_TO_PKT(skb)->rxe, RXE_CNT_COMPLETER_SCHED); in rxe_comp_queue_pkt()
218 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in check_ack() local
293 rxe_counter_inc(rxe, RXE_CNT_RCV_RNR); in check_ack()
303 rxe_counter_inc(rxe, in check_ack()
427 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in do_complete() local
447 rxe_counter_inc(rxe, RXE_CNT_RDMA_SEND); in do_complete()
560 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_completer() local
713 rxe_counter_inc(rxe, in rxe_completer()
722 rxe_counter_inc(rxe, RXE_CNT_RETRY_EXCEEDED); in rxe_completer()
745 rxe_counter_inc(rxe, in rxe_completer()
Drxe_av.c17 int rxe_av_chk_attr(struct rxe_dev *rxe, struct rdma_ah_attr *attr) in rxe_av_chk_attr() argument
23 port = &rxe->port; in rxe_av_chk_attr()
122 ah = rxe_pool_get_index(&pkt->rxe->ah_pool, ah_num); in rxe_get_av()
Drxe_pool.h32 struct rxe_dev *rxe; member
51 void rxe_pool_init(struct rxe_dev *rxe, struct rxe_pool *pool,
Drxe_queue.h56 struct rxe_dev *rxe; member
72 int do_mmap_info(struct rxe_dev *rxe, struct mminfo __user *outbuf,
78 struct rxe_queue *rxe_queue_init(struct rxe_dev *rxe, int *num_elem,
Drxe_verbs.h349 struct rxe_dev *rxe; member
408 static inline void rxe_counter_inc(struct rxe_dev *rxe, enum rxe_counters index) in rxe_counter_inc() argument
410 atomic64_inc(&rxe->stats_counters[index]); in rxe_counter_inc()
473 int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name);
Drxe_mr.c115 int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova, in rxe_mr_init_user() argument
127 umem = ib_umem_get(&rxe->ib_dev, start, length, access); in rxe_mr_init_user()
505 struct rxe_dev *rxe = to_rdev(pd->ibpd.device); in lookup_mr() local
508 mr = rxe_pool_get_index(&rxe->mr_pool, index); in lookup_mr()
525 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_invalidate_mr() local
529 mr = rxe_pool_get_index(&rxe->mr_pool, key >> 8); in rxe_invalidate_mr()
Drxe_resp.c126 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in check_psn() local
135 rxe_counter_inc(rxe, RXE_CNT_OUT_OF_SEQ_REQ); in check_psn()
139 rxe_counter_inc(rxe, RXE_CNT_DUP_REQ); in check_psn()
662 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in prepare_ack_packet() local
674 skb = rxe_init_packet(rxe, &qp->pri_av, paylen, ack); in prepare_ack_packet()
723 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_recheck_mr() local
728 mw = rxe_pool_get_index(&rxe->mw_pool, rkey >> 8); in rxe_recheck_mr()
745 mr = rxe_pool_get_index(&rxe->mr_pool, rkey >> 8); in rxe_recheck_mr()
932 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in do_complete() local
950 rxe_counter_inc(rxe, RXE_CNT_RDMA_RECV); in do_complete()
[all …]
Drxe_pool.c92 void rxe_pool_init(struct rxe_dev *rxe, struct rxe_pool *pool, in rxe_pool_init() argument
99 pool->rxe = rxe; in rxe_pool_init()
Drxe_req.c372 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in get_mtu() local
377 return rxe->port.mtu_cap; in get_mtu()
386 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in init_req_packet() local
400 skb = rxe_init_packet(rxe, av, paylen, pkt); in init_req_packet()
619 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_requester() local
742 pkt.rxe = rxe; in rxe_requester()
DMakefile5 rxe.o \
/Linux-v6.1/drivers/infiniband/sw/
DMakefile3 obj-$(CONFIG_RDMA_RXE) += rxe/

12