| /linux/drivers/infiniband/sw/rxe/ |
| H A D | rxe_qp.c | 151 static int alloc_rd_atomic_resources(struct rxe_qp *qp, unsigned int n) in alloc_rd_atomic_resources() argument 153 qp->resp.res_head = 0; in alloc_rd_atomic_resources() 154 qp->resp.res_tail = 0; in alloc_rd_atomic_resources() 155 qp->resp.resources = kzalloc_objs(struct resp_res, n); in alloc_rd_atomic_resources() 157 if (!qp->resp.resources) in alloc_rd_atomic_resources() 163 static void free_rd_atomic_resources(struct rxe_qp *qp) in free_rd_atomic_resources() argument 165 if (qp->resp.resources) { in free_rd_atomic_resources() 168 for (i = 0; i < qp->attr.max_dest_rd_atomic; i++) { in free_rd_atomic_resources() 169 struct resp_res *res = &qp->resp.resources[i]; in free_rd_atomic_resources() 173 kfree(qp->resp.resources); in free_rd_atomic_resources() [all …]
|
| H A D | rxe_resp.c | 50 void rxe_resp_queue_pkt(struct rxe_qp *qp, struct sk_buff *skb) in rxe_resp_queue_pkt() argument 52 skb_queue_tail(&qp->req_pkts, skb); in rxe_resp_queue_pkt() 53 rxe_sched_task(&qp->recv_task); in rxe_resp_queue_pkt() 56 static inline enum resp_states get_req(struct rxe_qp *qp, in get_req() argument 61 skb = skb_peek(&qp->req_pkts); in get_req() 67 return (qp->resp.res) ? RESPST_READ_REPLY : RESPST_CHK_PSN; in get_req() 70 static enum resp_states check_psn(struct rxe_qp *qp, in check_psn() argument 73 int diff = psn_compare(pkt->psn, qp->resp.psn); in check_psn() 74 struct rxe_dev *rxe = to_rdev(qp->ibqp.device); in check_psn() 76 switch (qp_type(qp)) { in check_psn() [all …]
|
| /linux/drivers/infiniband/hw/hfi1/ |
| H A D | rc.c | 16 struct rvt_ack_entry *find_prev_entry(struct rvt_qp *qp, u32 psn, u8 *prev, in find_prev_entry() argument 18 __must_hold(&qp->s_lock) in find_prev_entry() 24 for (i = qp->r_head_ack_queue; ; i = p) { in find_prev_entry() 25 if (i == qp->s_tail_ack_queue) in find_prev_entry() 30 p = rvt_size_atomic(ib_to_rvt(qp->ibqp.device)); in find_prev_entry() 31 if (p == qp->r_head_ack_queue) { in find_prev_entry() 35 e = &qp->s_ack_queue[p]; in find_prev_entry() 41 if (p == qp->s_tail_ack_queue && in find_prev_entry() 67 static int make_rc_ack(struct hfi1_ibdev *dev, struct rvt_qp *qp, in make_rc_ack() argument 75 u32 bth1 = qp->remote_qpn | (HFI1_CAP_IS_KSET(OPFN) << IB_BTHE_E_SHIFT); in make_rc_ack() [all …]
|
| H A D | qp.c | 24 static void flush_tx_list(struct rvt_qp *qp); 33 static void qp_pio_drain(struct rvt_qp *qp); 122 static void flush_tx_list(struct rvt_qp *qp) in flush_tx_list() argument 124 struct hfi1_qp_priv *priv = qp->priv; in flush_tx_list() 130 static void flush_iowait(struct rvt_qp *qp) in flush_iowait() argument 132 struct hfi1_qp_priv *priv = qp->priv; in flush_iowait() 142 rvt_put_qp(qp); in flush_iowait() 160 int hfi1_check_modify_qp(struct rvt_qp *qp, struct ib_qp_attr *attr, in hfi1_check_modify_qp() argument 163 struct ib_qp *ibqp = &qp->ibqp; in hfi1_check_modify_qp() 173 if (!qp_to_sdma_engine(qp, sc) && in hfi1_check_modify_qp() [all …]
|
| H A D | uc.c | 22 int hfi1_make_uc_req(struct rvt_qp *qp, struct hfi1_pkt_state *ps) in hfi1_make_uc_req() argument 24 struct hfi1_qp_priv *priv = qp->priv; in hfi1_make_uc_req() 30 u32 pmtu = qp->pmtu; in hfi1_make_uc_req() 33 ps->s_txreq = get_txreq(ps->dev, qp); in hfi1_make_uc_req() 37 if (!(ib_rvt_state_ops[qp->state] & RVT_PROCESS_SEND_OK)) { in hfi1_make_uc_req() 38 if (!(ib_rvt_state_ops[qp->state] & RVT_FLUSH_SEND)) in hfi1_make_uc_req() 41 if (qp->s_last == READ_ONCE(qp->s_head)) in hfi1_make_uc_req() 45 qp->s_flags |= RVT_S_WAIT_DMA; in hfi1_make_uc_req() 48 clear_ahg(qp); in hfi1_make_uc_req() 49 wqe = rvt_get_swqe_ptr(qp, qp->s_last); in hfi1_make_uc_req() [all …]
|
| H A D | tid_rdma.c | 114 static void hfi1_init_trdma_req(struct rvt_qp *qp, 116 static void hfi1_tid_write_alloc_resources(struct rvt_qp *qp, bool intr_ctx); 118 static void hfi1_add_tid_reap_timer(struct rvt_qp *qp); 119 static void hfi1_mod_tid_reap_timer(struct rvt_qp *qp); 120 static void hfi1_mod_tid_retry_timer(struct rvt_qp *qp); 121 static int hfi1_stop_tid_retry_timer(struct rvt_qp *qp); 123 static int make_tid_rdma_ack(struct rvt_qp *qp, 126 static void hfi1_do_tid_send(struct rvt_qp *qp); 130 struct rvt_qp *qp, u32 psn, int diff, bool fecn); 143 static void tid_rdma_schedule_ack(struct rvt_qp *qp) in tid_rdma_schedule_ack() argument [all …]
|
| H A D | ruc.c | 31 struct rvt_qp *qp = packet->qp; in hfi1_ruc_check_hdr() local 32 u8 sc5 = ibp->sl_to_sc[rdma_ah_get_sl(&qp->remote_ah_attr)]; in hfi1_ruc_check_hdr() 39 if (qp->s_mig_state == IB_MIG_ARMED && migrated) { in hfi1_ruc_check_hdr() 41 if ((rdma_ah_get_ah_flags(&qp->alt_ah_attr) & in hfi1_ruc_check_hdr() 48 if (!(rdma_ah_get_ah_flags(&qp->alt_ah_attr) & in hfi1_ruc_check_hdr() 51 grh = rdma_ah_read_grh(&qp->alt_ah_attr); in hfi1_ruc_check_hdr() 64 hfi1_bad_pkey(ibp, pkey, sl, 0, qp->ibqp.qp_num, in hfi1_ruc_check_hdr() 69 if (slid != rdma_ah_get_dlid(&qp->alt_ah_attr) || in hfi1_ruc_check_hdr() 71 rdma_ah_get_port_num(&qp->alt_ah_attr)) in hfi1_ruc_check_hdr() 73 spin_lock_irqsave(&qp->s_lock, flags); in hfi1_ruc_check_hdr() [all …]
|
| H A D | qp.h | 49 static inline int hfi1_send_ok(struct rvt_qp *qp) in hfi1_send_ok() argument 51 struct hfi1_qp_priv *priv = qp->priv; in hfi1_send_ok() 53 return !(qp->s_flags & (RVT_S_BUSY | HFI1_S_ANY_WAIT_IO)) && in hfi1_send_ok() 55 (qp->s_flags & RVT_S_RESP_PENDING) || in hfi1_send_ok() 56 !(qp->s_flags & RVT_S_ANY_WAIT_SEND)); in hfi1_send_ok() 62 static inline void clear_ahg(struct rvt_qp *qp) in clear_ahg() argument 64 struct hfi1_qp_priv *priv = qp->priv; in clear_ahg() 67 qp->s_flags &= ~(HFI1_S_AHG_VALID | HFI1_S_AHG_CLEAR); in clear_ahg() 68 if (priv->s_sde && qp->s_ahgidx >= 0) in clear_ahg() 69 sdma_ahg_free(priv->s_sde, qp->s_ahgidx); in clear_ahg() [all …]
|
| H A D | ud.c | 36 struct rvt_qp *qp; in ud_loopback() local 47 qp = rvt_lookup_qpn(ib_to_rvt(sqp->ibqp.device), &ibp->rvp, in ud_loopback() 49 if (!qp) { in ud_loopback() 57 dqptype = qp->ibqp.qp_type == IB_QPT_GSI ? in ud_loopback() 58 IB_QPT_UD : qp->ibqp.qp_type; in ud_loopback() 61 !(ib_rvt_state_ops[qp->state] & RVT_PROCESS_RECV_OK)) { in ud_loopback() 69 if (qp->ibqp.qp_num > 1) { in ud_loopback() 78 qp->s_pkey_index, in ud_loopback() 82 sqp->ibqp.qp_num, qp->ibqp.qp_num, in ud_loopback() 93 if (qp->ibqp.qp_num) { in ud_loopback() [all …]
|
| H A D | opfn.c | 17 bool (*request)(struct rvt_qp *qp, u64 *data); 18 bool (*response)(struct rvt_qp *qp, u64 *data); 19 bool (*reply)(struct rvt_qp *qp, u64 data); 20 void (*error)(struct rvt_qp *qp); 34 static void opfn_schedule_conn_request(struct rvt_qp *qp); 41 static void opfn_conn_request(struct rvt_qp *qp) in opfn_conn_request() argument 43 struct hfi1_qp_priv *priv = qp->priv; in opfn_conn_request() 51 trace_hfi1_opfn_state_conn_request(qp); in opfn_conn_request() 70 if (!extd || !extd->request || !extd->request(qp, &data)) { in opfn_conn_request() 80 trace_hfi1_opfn_data_conn_request(qp, capcode, data); in opfn_conn_request() [all …]
|
| /linux/drivers/ntb/ |
| H A D | ntb_transport.c | 127 struct ntb_transport_qp *qp; member 155 void (*tx_handler)(struct ntb_transport_qp *qp, void *qp_data, 169 void (*rx_handler)(struct ntb_transport_qp *qp, void *qp_data, 287 #define QP_TO_MW(nt, qp) ((qp) % nt->mw_count) argument 294 static int ntb_async_tx_submit(struct ntb_transport_qp *qp, 302 static inline bool ntb_tx_offload_enabled(struct ntb_transport_qp *qp) in ntb_tx_offload_enabled() argument 304 return tx_memcpy_offload && qp && qp->tx_offload_thread; in ntb_tx_offload_enabled() 488 struct ntb_transport_qp *qp = s->private; in ntb_qp_debugfs_stats_show() local 490 if (!qp || !qp->link_is_up) in ntb_qp_debugfs_stats_show() 495 seq_printf(s, "rx_bytes - \t%llu\n", qp->rx_bytes); in ntb_qp_debugfs_stats_show() [all …]
|
| /linux/drivers/infiniband/sw/rdmavt/ |
| H A D | qp.c | 22 static void rvt_reset_qp(struct rvt_dev_info *rdi, struct rvt_qp *qp, 423 static void rvt_free_qp_cb(struct rvt_qp *qp, u64 v) in rvt_free_qp_cb() argument 426 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_free_qp_cb() 429 rvt_reset_qp(rdi, qp, qp->ibqp.qp_type); in rvt_free_qp_cb() 578 static void rvt_clear_mr_refs(struct rvt_qp *qp, int clr_sends) in rvt_clear_mr_refs() argument 581 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_clear_mr_refs() 583 if (test_and_clear_bit(RVT_R_REWIND_SGE, &qp->r_aflags)) in rvt_clear_mr_refs() 584 rvt_put_ss(&qp->s_rdma_read_sge); in rvt_clear_mr_refs() 586 rvt_put_ss(&qp->r_sge); in rvt_clear_mr_refs() 589 while (qp->s_last != qp->s_head) { in rvt_clear_mr_refs() [all …]
|
| /linux/drivers/infiniband/sw/siw/ |
| H A D | siw_qp.c | 96 struct siw_qp *qp; in siw_qp_llp_data_ready() local 105 qp = sk_to_qp(sk); in siw_qp_llp_data_ready() 107 if (likely(!qp->rx_stream.rx_suspend && in siw_qp_llp_data_ready() 108 down_read_trylock(&qp->state_lock))) { in siw_qp_llp_data_ready() 109 read_descriptor_t rd_desc = { .arg.data = qp, .count = 1 }; in siw_qp_llp_data_ready() 111 if (likely(qp->attrs.state == SIW_QP_STATE_RTS)) in siw_qp_llp_data_ready() 120 up_read(&qp->state_lock); in siw_qp_llp_data_ready() 122 siw_dbg_qp(qp, "unable to process RX, suspend: %d\n", in siw_qp_llp_data_ready() 123 qp->rx_stream.rx_suspend); in siw_qp_llp_data_ready() 129 void siw_qp_llp_close(struct siw_qp *qp) in siw_qp_llp_close() argument [all …]
|
| /linux/drivers/infiniband/hw/mthca/ |
| H A D | mthca_qp.c | 196 static int is_sqp(struct mthca_dev *dev, struct mthca_qp *qp) in is_sqp() argument 198 return qp->qpn >= dev->qp_table.sqp_start && in is_sqp() 199 qp->qpn <= dev->qp_table.sqp_start + 3; in is_sqp() 202 static int is_qp0(struct mthca_dev *dev, struct mthca_qp *qp) in is_qp0() argument 204 return qp->qpn >= dev->qp_table.sqp_start && in is_qp0() 205 qp->qpn <= dev->qp_table.sqp_start + 1; in is_qp0() 208 static void *get_recv_wqe(struct mthca_qp *qp, int n) in get_recv_wqe() argument 210 if (qp->is_direct) in get_recv_wqe() 211 return qp->queue.direct.buf + (n << qp->rq.wqe_shift); in get_recv_wqe() 213 return qp->queue.page_list[(n << qp->rq.wqe_shift) >> PAGE_SHIFT].buf + in get_recv_wqe() [all …]
|
| /linux/drivers/net/ethernet/qlogic/qed/ |
| H A D | qed_roce.c | 96 static void qed_rdma_copy_gids(struct qed_rdma_qp *qp, __le32 *src_gid, in qed_rdma_copy_gids() argument 101 if (qp->roce_mode == ROCE_V2_IPV4) { in qed_rdma_copy_gids() 107 src_gid[3] = cpu_to_le32(qp->sgid.ipv4_addr); in qed_rdma_copy_gids() 108 dst_gid[3] = cpu_to_le32(qp->dgid.ipv4_addr); in qed_rdma_copy_gids() 111 for (i = 0; i < ARRAY_SIZE(qp->sgid.dwords); i++) { in qed_rdma_copy_gids() 112 src_gid[i] = cpu_to_le32(qp->sgid.dwords[i]); in qed_rdma_copy_gids() 113 dst_gid[i] = cpu_to_le32(qp->dgid.dwords[i]); in qed_rdma_copy_gids() 206 static u8 qed_roce_get_qp_tc(struct qed_hwfn *p_hwfn, struct qed_rdma_qp *qp) in qed_roce_get_qp_tc() argument 210 if (qp->vlan_id) { in qed_roce_get_qp_tc() 211 pri = (qp->vlan_id & VLAN_PRIO_MASK) >> VLAN_PRIO_SHIFT; in qed_roce_get_qp_tc() [all …]
|
| /linux/drivers/infiniband/hw/mlx4/ |
| H A D | qp.c | 107 struct mlx4_qp *qp; member 113 static int is_tunnel_qp(struct mlx4_ib_dev *dev, struct mlx4_ib_qp *qp) in is_tunnel_qp() argument 118 return qp->mqp.qpn >= dev->dev->phys_caps.base_tunnel_sqpn && in is_tunnel_qp() 119 qp->mqp.qpn < dev->dev->phys_caps.base_tunnel_sqpn + in is_tunnel_qp() 123 static int is_sqp(struct mlx4_ib_dev *dev, struct mlx4_ib_qp *qp) in is_sqp() argument 130 qp->mqp.qpn >= dev->dev->phys_caps.base_sqpn && in is_sqp() 131 qp->mqp.qpn <= dev->dev->phys_caps.base_sqpn + 3); in is_sqp() 137 if (qp->mqp.qpn == dev->dev->caps.spec_qps[i].qp0_proxy || in is_sqp() 138 qp->mqp.qpn == dev->dev->caps.spec_qps[i].qp1_proxy) { in is_sqp() 147 return !!(qp->flags & MLX4_IB_ROCE_V2_GSI_QP); in is_sqp() [all …]
|
| /linux/drivers/infiniband/hw/vmw_pvrdma/ |
| H A D | pvrdma_qp.c | 56 struct pvrdma_qp *qp); 58 static inline void get_cqs(struct pvrdma_qp *qp, struct pvrdma_cq **send_cq, in get_cqs() argument 61 *send_cq = to_vcq(qp->ibqp.send_cq); in get_cqs() 62 *recv_cq = to_vcq(qp->ibqp.recv_cq); in get_cqs() 101 static void pvrdma_reset_qp(struct pvrdma_qp *qp) in pvrdma_reset_qp() argument 107 get_cqs(qp, &scq, &rcq); in pvrdma_reset_qp() 110 _pvrdma_flush_cqe(qp, scq); in pvrdma_reset_qp() 112 _pvrdma_flush_cqe(qp, rcq); in pvrdma_reset_qp() 120 if (qp->rq.ring) { in pvrdma_reset_qp() 121 atomic_set(&qp->rq.ring->cons_head, 0); in pvrdma_reset_qp() [all …]
|
| /linux/drivers/infiniband/hw/ionic/ |
| H A D | ionic_controlpath.c | 1322 struct ionic_qp *qp, in ionic_create_qp_cmd() argument 1329 qp->sq_cmb & IONIC_CMB_ENABLE, in ionic_create_qp_cmd() 1330 qp->rq_cmb & IONIC_CMB_ENABLE, in ionic_create_qp_cmd() 1331 qp->sq_spec, qp->rq_spec, in ionic_create_qp_cmd() 1344 .id_ver = cpu_to_le32(qp->qpid), in ionic_create_qp_cmd() 1352 if (qp->has_sq) { in ionic_create_qp_cmd() 1354 wr.wqe.cmd.create_qp.sq_depth_log2 = qp->sq.depth_log2; in ionic_create_qp_cmd() 1355 wr.wqe.cmd.create_qp.sq_stride_log2 = qp->sq.stride_log2; in ionic_create_qp_cmd() 1363 if (qp->has_rq) { in ionic_create_qp_cmd() 1365 wr.wqe.cmd.create_qp.rq_depth_log2 = qp->rq.depth_log2; in ionic_create_qp_cmd() [all …]
|
| /linux/net/ipv4/ |
| H A D | ip_fragment.c | 78 static int ip_frag_reasm(struct ipq *qp, struct sk_buff *skb, 85 struct ipq *qp = container_of(q, struct ipq, q); in ip4_frag_init() local 91 qp->ecn = 0; in ip4_frag_init() 99 qp->peer = p; in ip4_frag_init() 104 struct ipq *qp; in ip4_frag_free() local 106 qp = container_of(q, struct ipq, q); in ip4_frag_free() 107 if (qp->peer) in ip4_frag_free() 108 inet_putpeer(qp->peer); in ip4_frag_free() 130 struct ipq *qp; in ip_expire() local 133 qp = container_of(frag, struct ipq, q); in ip_expire() [all …]
|
| /linux/drivers/infiniband/hw/bnxt_re/ |
| H A D | qplib_fp.c | 62 static void __clean_cq(struct bnxt_qplib_cq *cq, u64 qp); 64 static void bnxt_qplib_cancel_phantom_processing(struct bnxt_qplib_qp *qp) in bnxt_qplib_cancel_phantom_processing() argument 66 qp->sq.condition = false; in bnxt_qplib_cancel_phantom_processing() 67 qp->sq.send_phantom = false; in bnxt_qplib_cancel_phantom_processing() 68 qp->sq.single = false; in bnxt_qplib_cancel_phantom_processing() 72 static void __bnxt_qplib_add_flush_qp(struct bnxt_qplib_qp *qp) in __bnxt_qplib_add_flush_qp() argument 76 scq = qp->scq; in __bnxt_qplib_add_flush_qp() 77 rcq = qp->rcq; in __bnxt_qplib_add_flush_qp() 79 if (!qp->sq.flushed) { in __bnxt_qplib_add_flush_qp() 81 "FP: Adding to SQ Flush list = %p\n", qp); in __bnxt_qplib_add_flush_qp() [all …]
|
| /linux/drivers/interconnect/qcom/ |
| H A D | icc-rpm.c | 56 struct qcom_icc_provider *qp = to_qcom_provider(provider); in qcom_icc_set_qnoc_qos() local 61 rc = regmap_update_bits(qp->regmap, in qcom_icc_set_qnoc_qos() 62 qp->qos_offset + QNOC_QOS_MCTL_LOWn_ADDR(qos->qos_port), in qcom_icc_set_qnoc_qos() 68 return regmap_update_bits(qp->regmap, in qcom_icc_set_qnoc_qos() 69 qp->qos_offset + QNOC_QOS_MCTL_LOWn_ADDR(qos->qos_port), in qcom_icc_set_qnoc_qos() 74 static int qcom_icc_bimc_set_qos_health(struct qcom_icc_provider *qp, in qcom_icc_bimc_set_qos_health() argument 93 return regmap_update_bits(qp->regmap, in qcom_icc_bimc_set_qos_health() 94 qp->qos_offset + M_BKE_HEALTH_CFG_ADDR(regnum, qos->qos_port), in qcom_icc_bimc_set_qos_health() 100 struct qcom_icc_provider *qp; in qcom_icc_set_bimc_qos() local 109 qp = to_qcom_provider(provider); in qcom_icc_set_bimc_qos() [all …]
|
| H A D | icc-rpmh.c | 21 #define QOSGEN_MAINCTL_LO(p, qp) (0x8 + (p->port_offsets[qp])) argument 31 static void qcom_icc_set_qos(struct qcom_icc_provider *qp, in qcom_icc_set_qos() argument 38 regmap_update_bits(qp->regmap, QOSGEN_MAINCTL_LO(qos, port), in qcom_icc_set_qos() 42 regmap_update_bits(qp->regmap, QOSGEN_MAINCTL_LO(qos, port), in qcom_icc_set_qos() 46 regmap_update_bits(qp->regmap, QOSGEN_MAINCTL_LO(qos, port), in qcom_icc_set_qos() 60 struct qcom_icc_provider *qp; in qcom_icc_pre_aggregate() local 63 qp = to_qcom_provider(node->provider); in qcom_icc_pre_aggregate() 71 qcom_icc_bcm_voter_add(qp->voter, qn->bcms[i]); in qcom_icc_pre_aggregate() 123 struct qcom_icc_provider *qp; in qcom_icc_set() local 131 qp = to_qcom_provider(node->provider); in qcom_icc_set() [all …]
|
| /linux/include/rdma/ |
| H A D | rdmavt_qp.h | 511 struct rvt_qp *qp; member 532 static inline struct rvt_swqe *rvt_get_swqe_ptr(struct rvt_qp *qp, in rvt_get_swqe_ptr() argument 535 return (struct rvt_swqe *)((char *)qp->s_wq + in rvt_get_swqe_ptr() 537 qp->s_max_sge * in rvt_get_swqe_ptr() 557 static inline bool rvt_is_user_qp(struct rvt_qp *qp) in rvt_is_user_qp() argument 559 return !!qp->pid; in rvt_is_user_qp() 566 static inline void rvt_get_qp(struct rvt_qp *qp) in rvt_get_qp() argument 568 atomic_inc(&qp->refcount); in rvt_get_qp() 575 static inline void rvt_put_qp(struct rvt_qp *qp) in rvt_put_qp() argument 577 if (qp && atomic_dec_and_test(&qp->refcount)) in rvt_put_qp() [all …]
|
| /linux/drivers/infiniband/hw/qedr/ |
| H A D | verbs.c | 1273 struct qedr_qp *qp) in qedr_copy_rq_uresp() argument 1285 uresp->rq_icid = qp->icid; in qedr_copy_rq_uresp() 1286 if (qp->urq.db_mmap_entry) in qedr_copy_rq_uresp() 1288 rdma_user_mmap_get_offset(qp->urq.db_mmap_entry); in qedr_copy_rq_uresp() 1293 struct qedr_qp *qp) in qedr_copy_sq_uresp() argument 1299 uresp->sq_icid = qp->icid; in qedr_copy_sq_uresp() 1301 uresp->sq_icid = qp->icid + 1; in qedr_copy_sq_uresp() 1303 if (qp->usq.db_mmap_entry) in qedr_copy_sq_uresp() 1305 rdma_user_mmap_get_offset(qp->usq.db_mmap_entry); in qedr_copy_sq_uresp() 1309 struct qedr_qp *qp, struct ib_udata *udata, in qedr_copy_qp_uresp() argument [all …]
|
| H A D | qedr_roce_cm.c | 58 void qedr_store_gsi_qp_cq(struct qedr_dev *dev, struct qedr_qp *qp, in qedr_store_gsi_qp_cq() argument 64 dev->gsi_qp = qp; in qedr_store_gsi_qp_cq() 76 struct qedr_qp *qp = dev->gsi_qp; in qedr_ll2_complete_tx_packet() local 81 dev->gsi_sqcq, dev->gsi_rqcq, qp->sq.gsi_cons, in qedr_ll2_complete_tx_packet() 88 spin_lock_irqsave(&qp->q_lock, flags); in qedr_ll2_complete_tx_packet() 89 qedr_inc_sw_gsi_cons(&qp->sq); in qedr_ll2_complete_tx_packet() 90 spin_unlock_irqrestore(&qp->q_lock, flags); in qedr_ll2_complete_tx_packet() 101 struct qedr_qp *qp = dev->gsi_qp; in qedr_ll2_complete_rx_packet() local 104 spin_lock_irqsave(&qp->q_lock, flags); in qedr_ll2_complete_rx_packet() 106 qp->rqe_wr_id[qp->rq.gsi_cons].rc = data->u.data_length_error ? in qedr_ll2_complete_rx_packet() [all …]
|