/Linux-v5.15/drivers/infiniband/sw/rxe/ |
D | rxe.c | 23 struct rxe_dev *rxe = container_of(ib_dev, struct rxe_dev, ib_dev); in rxe_dealloc() local 25 rxe_pool_cleanup(&rxe->uc_pool); in rxe_dealloc() 26 rxe_pool_cleanup(&rxe->pd_pool); in rxe_dealloc() 27 rxe_pool_cleanup(&rxe->ah_pool); in rxe_dealloc() 28 rxe_pool_cleanup(&rxe->srq_pool); in rxe_dealloc() 29 rxe_pool_cleanup(&rxe->qp_pool); in rxe_dealloc() 30 rxe_pool_cleanup(&rxe->cq_pool); in rxe_dealloc() 31 rxe_pool_cleanup(&rxe->mr_pool); in rxe_dealloc() 32 rxe_pool_cleanup(&rxe->mw_pool); in rxe_dealloc() 33 rxe_pool_cleanup(&rxe->mc_grp_pool); in rxe_dealloc() [all …]
|
D | rxe_mmap.c | 21 struct rxe_dev *rxe = to_rdev(ip->context->device); in rxe_mmap_release() local 23 spin_lock_bh(&rxe->pending_lock); in rxe_mmap_release() 28 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap_release() 65 struct rxe_dev *rxe = to_rdev(context->device); in rxe_mmap() local 76 spin_lock_bh(&rxe->pending_lock); in rxe_mmap() 77 list_for_each_entry_safe(ip, pp, &rxe->pending_mmaps, pending_mmaps) { in rxe_mmap() 84 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap() 92 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap() 98 spin_unlock_bh(&rxe->pending_lock); in rxe_mmap() 116 struct rxe_mmap_info *rxe_create_mmap_info(struct rxe_dev *rxe, u32 size, in rxe_create_mmap_info() argument [all …]
|
D | rxe_net.c | 23 int rxe_mcast_add(struct rxe_dev *rxe, union ib_gid *mgid) in rxe_mcast_add() argument 29 err = dev_mc_add(rxe->ndev, ll_addr); in rxe_mcast_add() 34 int rxe_mcast_delete(struct rxe_dev *rxe, union ib_gid *mgid) in rxe_mcast_delete() argument 40 err = dev_mc_del(rxe->ndev, ll_addr); in rxe_mcast_delete() 156 struct rxe_dev *rxe; in rxe_udp_encap_recv() local 163 rxe = rxe_get_dev_from_net(ndev); in rxe_udp_encap_recv() 164 if (!rxe && is_vlan_dev(ndev)) in rxe_udp_encap_recv() 165 rxe = rxe_get_dev_from_net(vlan_dev_real_dev(ndev)); in rxe_udp_encap_recv() 166 if (!rxe) in rxe_udp_encap_recv() 171 ib_device_put(&rxe->ib_dev); in rxe_udp_encap_recv() [all …]
|
D | rxe_mcast.c | 11 static struct rxe_mc_grp *create_grp(struct rxe_dev *rxe, in create_grp() argument 18 grp = rxe_alloc_locked(&rxe->mc_grp_pool); in create_grp() 24 grp->rxe = rxe; in create_grp() 27 err = rxe_mcast_add(rxe, mgid); in create_grp() 37 int rxe_mcast_get_grp(struct rxe_dev *rxe, union ib_gid *mgid, in rxe_mcast_get_grp() argument 42 struct rxe_pool *pool = &rxe->mc_grp_pool; in rxe_mcast_get_grp() 45 if (rxe->attr.max_mcast_qp_attach == 0) in rxe_mcast_get_grp() 54 grp = create_grp(rxe, pool, mgid); in rxe_mcast_get_grp() 67 int rxe_mcast_add_grp_elem(struct rxe_dev *rxe, struct rxe_qp *qp, in rxe_mcast_add_grp_elem() argument 83 if (grp->num_qp >= rxe->attr.max_mcast_qp_attach) { in rxe_mcast_add_grp_elem() [all …]
|
D | rxe_recv.c | 13 static int check_type_state(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in check_type_state() argument 79 static int check_keys(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in check_keys() argument 82 struct rxe_port *port = &rxe->port; in check_keys() 110 static int check_addr(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in check_addr() argument 172 struct rxe_dev *rxe = pkt->rxe; in hdr_check() local 173 struct rxe_port *port = &rxe->port; in hdr_check() 192 qp = rxe_pool_get_index(&rxe->qp_pool, index); in hdr_check() 198 err = check_type_state(rxe, pkt, qp); in hdr_check() 202 err = check_addr(rxe, pkt, qp); in hdr_check() 206 err = check_keys(rxe, pkt, qpn, qp); in hdr_check() [all …]
|
D | rxe_verbs.c | 19 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 port = &rxe->port; in rxe_query_port() 40 mutex_lock(&rxe->usdev_lock); in rxe_query_port() 46 else if (dev_get_flags(rxe->ndev) & IFF_UP) in rxe_query_port() 51 mutex_unlock(&rxe->usdev_lock); in rxe_query_port() 69 struct rxe_dev *rxe = to_rdev(dev); in rxe_modify_device() local 76 rxe->attr.sys_image_guid = cpu_to_be64(attr->sys_image_guid); in rxe_modify_device() 79 memcpy(rxe->ib_dev.node_desc, in rxe_modify_device() [all …]
|
D | rxe_loc.h | 13 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 int rxe_mcast_get_grp(struct rxe_dev *rxe, union ib_gid *mgid, 46 int rxe_mcast_add_grp_elem(struct rxe_dev *rxe, struct rxe_qp *qp, 49 int rxe_mcast_drop_grp_elem(struct rxe_dev *rxe, struct rxe_qp *qp, 101 struct sk_buff *rxe_init_packet(struct rxe_dev *rxe, struct rxe_av *av, 106 const char *rxe_parent_name(struct rxe_dev *rxe, unsigned int port_num); 107 int rxe_mcast_add(struct rxe_dev *rxe, union ib_gid *mgid); 108 int rxe_mcast_delete(struct rxe_dev *rxe, union ib_gid *mgid); [all …]
|
D | rxe_srq.c | 12 int rxe_srq_chk_attr(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_chk_attr() argument 21 if (attr->max_wr > rxe->attr.max_srq_wr) { in rxe_srq_chk_attr() 23 attr->max_wr, rxe->attr.max_srq_wr); in rxe_srq_chk_attr() 43 if (attr->srq_limit > rxe->attr.max_srq_wr) { in rxe_srq_chk_attr() 45 attr->srq_limit, rxe->attr.max_srq_wr); in rxe_srq_chk_attr() 58 if (attr->max_sge > rxe->attr.max_srq_sge) { in rxe_srq_chk_attr() 60 attr->max_sge, rxe->attr.max_srq_sge); in rxe_srq_chk_attr() 74 int rxe_srq_from_init(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_from_init() argument 97 q = rxe_queue_init(rxe, &srq->rq.max_wr, in rxe_srq_from_init() 106 err = do_mmap_info(rxe, uresp ? &uresp->mi : NULL, udata, q->buf, in rxe_srq_from_init() [all …]
|
D | rxe_qp.c | 18 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 …]
|
D | rxe_queue.c | 12 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() 140 new_q = rxe_queue_init(q->rxe, &num_elem, elem_size, q->type); in rxe_queue_resize() 144 err = do_mmap_info(new_q->rxe, outbuf, udata, new_q->buf, in rxe_queue_resize()
|
D | rxe.h | 44 void rxe_set_mtu(struct rxe_dev *rxe, unsigned int dev_mtu); 46 int rxe_add(struct rxe_dev *rxe, unsigned int mtu, const char *ibdev_name); 61 void rxe_port_up(struct rxe_dev *rxe); 62 void rxe_port_down(struct rxe_dev *rxe); 63 void rxe_set_port_state(struct rxe_dev *rxe);
|
D | rxe_icrc.c | 18 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() 182 icrc = rxe_crc32(pkt->rxe, icrc, (u8 *)payload_addr(pkt), in rxe_icrc_generate()
|
D | rxe_cq.c | 11 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() 61 int rxe_cq_from_init(struct rxe_dev *rxe, struct rxe_cq *cq, int cqe, in rxe_cq_from_init() argument 69 cq->queue = rxe_queue_init(rxe, &cqe, in rxe_cq_from_init() 76 err = do_mmap_info(rxe, uresp ? &uresp->mi : NULL, udata, in rxe_cq_from_init()
|
D | rxe_mw.c | 12 struct rxe_dev *rxe = to_rdev(ibmw->device); in rxe_alloc_mw() local 17 ret = rxe_add_to_pool(&rxe->mw_pool, mw); in rxe_alloc_mw() 199 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_bind_mw() local 202 mw = rxe_pool_get_index(&rxe->mw_pool, in rxe_bind_mw() 215 mr = rxe_pool_get_index(&rxe->mr_pool, in rxe_bind_mw() 284 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_invalidate_mw() local 289 mw = rxe_pool_get_index(&rxe->mw_pool, rkey >> 8); in rxe_invalidate_mw() 317 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_lookup_mw() local 322 mw = rxe_pool_get_index(&rxe->mw_pool, index); in rxe_lookup_mw()
|
D | rxe_comp.c | 131 rxe_counter_inc(SKB_TO_PKT(skb)->rxe, RXE_CNT_COMPLETER_SCHED); in rxe_comp_queue_pkt() 219 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in check_ack() local 294 rxe_counter_inc(rxe, RXE_CNT_RCV_RNR); in check_ack() 304 rxe_counter_inc(rxe, in check_ack() 423 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in do_complete() local 446 rxe_counter_inc(rxe, RXE_CNT_RDMA_SEND); in do_complete() 561 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_completer() local 719 rxe_counter_inc(rxe, in rxe_completer() 728 rxe_counter_inc(rxe, RXE_CNT_RETRY_EXCEEDED); in rxe_completer() 748 rxe_counter_inc(rxe, in rxe_completer()
|
D | rxe_verbs.h | 361 struct rxe_dev *rxe; member 422 static inline void rxe_counter_inc(struct rxe_dev *rxe, enum rxe_counters index) in rxe_counter_inc() argument 424 atomic64_inc(&rxe->stats_counters[index]); in rxe_counter_inc() 497 int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name);
|
D | rxe_pool.h | 63 struct rxe_dev *rxe; member 95 int rxe_pool_init(struct rxe_dev *rxe, struct rxe_pool *pool,
|
D | rxe_av.c | 17 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()
|
D | rxe_queue.h | 44 struct rxe_dev *rxe; member 60 int do_mmap_info(struct rxe_dev *rxe, struct mminfo __user *outbuf, 66 struct rxe_queue *rxe_queue_init(struct rxe_dev *rxe, int *num_elem,
|
D | Makefile | 5 rxe.o \
|
D | rxe_resp.c | 124 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in check_psn() local 133 rxe_counter_inc(rxe, RXE_CNT_OUT_OF_SEQ_REQ); in check_psn() 137 rxe_counter_inc(rxe, RXE_CNT_DUP_REQ); in check_psn() 618 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in prepare_ack_packet() local 630 skb = rxe_init_packet(rxe, &qp->pri_av, paylen, ack); in prepare_ack_packet() 857 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in do_complete() local 875 rxe_counter_inc(rxe, RXE_CNT_RDMA_RECV); in do_complete() 1222 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_responder() local 1311 rxe_counter_inc(rxe, RXE_CNT_SND_RNR); in rxe_responder()
|
D | rxe_mr.c | 503 struct rxe_dev *rxe = to_rdev(pd->ibpd.device); in lookup_mr() local 506 mr = rxe_pool_get_index(&rxe->mr_pool, index); in lookup_mr() 523 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in rxe_invalidate_mr() local 527 mr = rxe_pool_get_index(&rxe->mr_pool, rkey >> 8); in rxe_invalidate_mr()
|
D | rxe_pool.c | 123 struct rxe_dev *rxe, in rxe_pool_init() argument 133 pool->rxe = rxe; in rxe_pool_init()
|
D | Kconfig | 28 https://github.com/linux-rdma/rdma-core/blob/master/Documentation/rxe.md
|
/Linux-v5.15/drivers/infiniband/sw/ |
D | Makefile | 3 obj-$(CONFIG_RDMA_RXE) += rxe/
|