Home
last modified time | relevance | path

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

12

/Linux-v5.4/drivers/infiniband/sw/rxe/
Drxe.c44 static void rxe_cleanup_ports(struct rxe_dev *rxe) in rxe_cleanup_ports() argument
46 kfree(rxe->port.pkey_tbl); in rxe_cleanup_ports()
47 rxe->port.pkey_tbl = NULL; in rxe_cleanup_ports()
56 struct rxe_dev *rxe = container_of(ib_dev, struct rxe_dev, ib_dev); in rxe_dealloc() local
58 rxe_pool_cleanup(&rxe->uc_pool); in rxe_dealloc()
59 rxe_pool_cleanup(&rxe->pd_pool); in rxe_dealloc()
60 rxe_pool_cleanup(&rxe->ah_pool); in rxe_dealloc()
61 rxe_pool_cleanup(&rxe->srq_pool); in rxe_dealloc()
62 rxe_pool_cleanup(&rxe->qp_pool); in rxe_dealloc()
63 rxe_pool_cleanup(&rxe->cq_pool); in rxe_dealloc()
[all …]
Drxe_net.c50 struct device *rxe_dma_device(struct rxe_dev *rxe) in rxe_dma_device() argument
54 ndev = rxe->ndev; in rxe_dma_device()
62 int rxe_mcast_add(struct rxe_dev *rxe, union ib_gid *mgid) in rxe_mcast_add() argument
68 err = dev_mc_add(rxe->ndev, ll_addr); in rxe_mcast_add()
73 int rxe_mcast_delete(struct rxe_dev *rxe, union ib_gid *mgid) in rxe_mcast_delete() argument
79 err = dev_mc_del(rxe->ndev, ll_addr); in rxe_mcast_delete()
195 struct rxe_dev *rxe = rxe_get_dev_from_net(ndev); in rxe_udp_encap_recv() local
198 if (!rxe && is_vlan_dev(rdev)) { in rxe_udp_encap_recv()
200 rxe = rxe_get_dev_from_net(rdev); in rxe_udp_encap_recv()
202 if (!rxe) in rxe_udp_encap_recv()
[all …]
Drxe_mmap.c49 struct rxe_dev *rxe = to_rdev(ip->context->device); in rxe_mmap_release() local
51 spin_lock_bh(&rxe->pending_lock); in rxe_mmap_release()
56 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap_release()
93 struct rxe_dev *rxe = to_rdev(context->device); in rxe_mmap() local
104 spin_lock_bh(&rxe->pending_lock); in rxe_mmap()
105 list_for_each_entry_safe(ip, pp, &rxe->pending_mmaps, pending_mmaps) { in rxe_mmap()
112 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap()
120 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap()
126 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap()
144 struct rxe_mmap_info *rxe_create_mmap_info(struct rxe_dev *rxe, u32 size, in rxe_create_mmap_info() argument
[all …]
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_loc.h40 int rxe_av_chk_attr(struct rxe_dev *rxe, struct rdma_ah_attr *attr);
52 int rxe_cq_chk_attr(struct rxe_dev *rxe, struct rxe_cq *cq,
55 int rxe_cq_from_init(struct rxe_dev *rxe, struct rxe_cq *cq, int cqe,
70 int rxe_mcast_get_grp(struct rxe_dev *rxe, union ib_gid *mgid,
73 int rxe_mcast_add_grp_elem(struct rxe_dev *rxe, struct rxe_qp *qp,
76 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,
148 enum rdma_link_layer rxe_link_layer(struct rxe_dev *rxe, unsigned int port_num);
149 const char *rxe_parent_name(struct rxe_dev *rxe, unsigned int port_num);
[all …]
Drxe_verbs.c46 struct rxe_dev *rxe = to_rdev(dev); in rxe_query_device() local
51 *attr = rxe->attr; in rxe_query_device()
58 struct rxe_dev *rxe = to_rdev(dev); in rxe_query_port() local
62 port = &rxe->port; in rxe_query_port()
67 mutex_lock(&rxe->usdev_lock); in rxe_query_port()
73 else if (dev_get_flags(rxe->ndev) & IFF_UP) in rxe_query_port()
78 mutex_unlock(&rxe->usdev_lock); in rxe_query_port()
86 struct rxe_dev *rxe = to_rdev(device); in rxe_query_pkey() local
89 port = &rxe->port; in rxe_query_pkey()
107 struct rxe_dev *rxe = to_rdev(dev); in rxe_modify_device() local
[all …]
Drxe.h70 static inline u32 rxe_crc32(struct rxe_dev *rxe, in rxe_crc32() argument
76 SHASH_DESC_ON_STACK(shash, rxe->tfm); in rxe_crc32()
78 shash->tfm = rxe->tfm; in rxe_crc32()
91 void rxe_set_mtu(struct rxe_dev *rxe, unsigned int dev_mtu);
93 int rxe_add(struct rxe_dev *rxe, unsigned int mtu, const char *ibdev_name);
108 void rxe_port_up(struct rxe_dev *rxe);
109 void rxe_port_down(struct rxe_dev *rxe);
110 void rxe_set_port_state(struct rxe_dev *rxe);
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_srq.c39 int rxe_srq_chk_attr(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_chk_attr() argument
48 if (attr->max_wr > rxe->attr.max_srq_wr) { in rxe_srq_chk_attr()
50 attr->max_wr, rxe->attr.max_srq_wr); in rxe_srq_chk_attr()
70 if (attr->srq_limit > rxe->attr.max_srq_wr) { in rxe_srq_chk_attr()
72 attr->srq_limit, rxe->attr.max_srq_wr); in rxe_srq_chk_attr()
85 if (attr->max_sge > rxe->attr.max_srq_sge) { in rxe_srq_chk_attr()
87 attr->max_sge, rxe->attr.max_srq_sge); in rxe_srq_chk_attr()
101 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, udata, q->buf, in rxe_srq_from_init()
[all …]
Drxe_qp.c45 static int rxe_qp_chk_cap(struct rxe_dev *rxe, struct ib_qp_cap *cap, in rxe_qp_chk_cap() argument
48 if (cap->max_send_wr > rxe->attr.max_qp_wr) { in rxe_qp_chk_cap()
50 cap->max_send_wr, rxe->attr.max_qp_wr); in rxe_qp_chk_cap()
54 if (cap->max_send_sge > rxe->attr.max_send_sge) { in rxe_qp_chk_cap()
56 cap->max_send_sge, rxe->attr.max_send_sge); in rxe_qp_chk_cap()
61 if (cap->max_recv_wr > rxe->attr.max_qp_wr) { in rxe_qp_chk_cap()
63 cap->max_recv_wr, rxe->attr.max_qp_wr); in rxe_qp_chk_cap()
67 if (cap->max_recv_sge > rxe->attr.max_recv_sge) { in rxe_qp_chk_cap()
69 cap->max_recv_sge, rxe->attr.max_recv_sge); in rxe_qp_chk_cap()
74 if (cap->max_inline_data > rxe->max_inline_data) { in rxe_qp_chk_cap()
[all …]
Drxe_queue.c39 int do_mmap_info(struct rxe_dev *rxe, struct mminfo __user *outbuf, in do_mmap_info() argument
47 ip = rxe_create_mmap_info(rxe, buf_size, udata, buf); in do_mmap_info()
55 spin_lock_bh(&rxe->pending_lock); in do_mmap_info()
56 list_add(&ip->pending_mmaps, &rxe->pending_mmaps); in do_mmap_info()
57 spin_unlock_bh(&rxe->pending_lock); in do_mmap_info()
79 struct rxe_queue *rxe_queue_init(struct rxe_dev *rxe, in rxe_queue_init() argument
95 q->rxe = rxe; in rxe_queue_init()
163 new_q = rxe_queue_init(q->rxe, &num_elem, elem_size); in rxe_queue_resize()
167 err = do_mmap_info(new_q->rxe, outbuf, udata, new_q->buf, in rxe_queue_resize()
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, udata, in rxe_cq_from_init()
Drxe_comp.c157 rxe_counter_inc(SKB_TO_PKT(skb)->rxe, RXE_CNT_COMPLETER_SCHED); in rxe_comp_queue_pkt()
242 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in check_ack() local
317 rxe_counter_inc(rxe, RXE_CNT_RCV_RNR); in check_ack()
327 rxe_counter_inc(rxe, in check_ack()
442 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in do_complete() local
458 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
724 rxe_counter_inc(rxe, in rxe_completer()
740 rxe_counter_inc(rxe, RXE_CNT_RETRY_EXCEEDED); in rxe_completer()
762 rxe_counter_inc(rxe, in rxe_completer()
Drxe_pool.c198 struct rxe_dev *rxe, in rxe_pool_init() argument
208 pool->rxe = rxe; in rxe_pool_init()
403 if (!ib_device_try_get(&pool->rxe->ib_dev)) in rxe_alloc()
422 ib_device_put(&pool->rxe->ib_dev); in rxe_alloc()
442 if (!ib_device_try_get(&pool->rxe->ib_dev)) in rxe_add_to_pool()
455 ib_device_put(&pool->rxe->ib_dev); in rxe_add_to_pool()
473 ib_device_put(&pool->rxe->ib_dev); in rxe_elem_release()
Drxe_queue.h70 struct rxe_dev *rxe; member
79 int do_mmap_info(struct rxe_dev *rxe, struct mminfo __user *outbuf,
85 struct rxe_queue *rxe_queue_init(struct rxe_dev *rxe,
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_req.c370 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in get_mtu() local
375 return rxe->port.mtu_cap; in get_mtu()
383 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in init_req_packet() local
384 struct rxe_port *port = &rxe->port; in init_req_packet()
411 skb = rxe_init_packet(rxe, av, paylen, pkt); in init_req_packet()
477 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in fill_packet() local
490 crc = rxe_crc32(rxe, crc, tmp, paylen); in fill_packet()
623 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_requester() local
626 rmr = rxe_pool_get_index(&rxe->mr_pool, in rxe_requester()
Drxe_verbs.h356 struct rxe_dev *rxe; member
418 static inline void rxe_counter_inc(struct rxe_dev *rxe, enum rxe_counters index) in rxe_counter_inc() argument
420 atomic64_inc(&rxe->stats_counters[index]); in rxe_counter_inc()
468 int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name);
Drxe_pool.h93 struct rxe_dev *rxe; member
126 int rxe_pool_init(struct rxe_dev *rxe, struct rxe_pool *pool,
Drxe_av.c44 int rxe_av_chk_attr(struct rxe_dev *rxe, struct rdma_ah_attr *attr) in rxe_av_chk_attr() argument
48 port = &rxe->port; in rxe_av_chk_attr()
Drxe_resp.c148 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in check_psn() local
157 rxe_counter_inc(rxe, RXE_CNT_OUT_OF_SEQ_REQ); in check_psn()
161 rxe_counter_inc(rxe, RXE_CNT_DUP_REQ); in check_psn()
594 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in prepare_ack_packet() local
608 skb = rxe_init_packet(rxe, &qp->pri_av, paylen, ack); in prepare_ack_packet()
837 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in do_complete() local
855 rxe_counter_inc(rxe, RXE_CNT_RDMA_RECV); in do_complete()
911 rmr = rxe_pool_get_index(&rxe->mr_pool, in do_complete()
1216 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_responder() local
1305 rxe_counter_inc(rxe, RXE_CNT_SND_RNR); in rxe_responder()
DMakefile5 rxe.o \
Drxe_mr.c572 struct rxe_dev *rxe = to_rdev(pd->ibpd.device); in lookup_mem() local
575 mem = rxe_pool_get_index(&rxe->mr_pool, index); in lookup_mem()
591 int rxe_mem_map_pages(struct rxe_dev *rxe, struct rxe_mem *mem, in rxe_mem_map_pages() argument
DKconfig28 https://github.com/linux-rdma/rdma-core/blob/master/Documentation/rxe.md
/Linux-v5.4/drivers/infiniband/sw/
DMakefile3 obj-$(CONFIG_RDMA_RXE) += rxe/

12