/Linux-v4.19/drivers/infiniband/sw/rxe/ |
D | rxe.c | 43 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 …]
|
D | rxe_net.c | 53 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 …]
|
D | rxe_mmap.c | 48 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 …]
|
D | rxe_loc.h | 39 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 …]
|
D | rxe_sysfs.c | 58 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 …]
|
D | rxe.h | 73 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);
|
D | rxe_mcast.c | 37 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 …]
|
D | rxe_recv.c | 39 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 …]
|
D | rxe_verbs.c | 45 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 …]
|
D | rxe_srq.c | 38 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 …]
|
D | rxe_queue.c | 39 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()
|
D | rxe_qp.c | 43 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 …]
|
D | rxe_cq.c | 38 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()
|
D | rxe_resp.c | 107 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 …]
|
D | rxe_queue.h | 70 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,
|
D | rxe_comp.c | 149 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()
|
D | rxe_verbs.h | 351 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);
|
D | rxe_req.c | 367 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()
|
D | rxe_icrc.c | 90 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()
|
D | rxe_pool.c | 188 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()
|
D | rxe_pool.h | 92 struct rxe_dev *rxe; member 125 int rxe_pool_init(struct rxe_dev *rxe, struct rxe_pool *pool,
|
D | rxe_av.c | 37 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()
|
D | Makefile | 5 rxe.o \
|
D | rxe_mr.c | 573 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/ |
D | Makefile | 2 obj-$(CONFIG_RDMA_RXE) += rxe/
|