verbs.h (651a88798412e216f337d70181127e847f00a4b7) verbs.h (81091d7696ae71627ff80bbf2c6b0986d2c1cce3)
1/* SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB */
2/* Copyright (c) 2015 - 2021 Intel Corporation */
3#ifndef IRDMA_VERBS_H
4#define IRDMA_VERBS_H
5
6#define IRDMA_MAX_SAVED_PHY_PGADDR 4
1/* SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB */
2/* Copyright (c) 2015 - 2021 Intel Corporation */
3#ifndef IRDMA_VERBS_H
4#define IRDMA_VERBS_H
5
6#define IRDMA_MAX_SAVED_PHY_PGADDR 4
7#define IRDMA_FLUSH_DELAY_MS 20
7
8#define IRDMA_PKEY_TBL_SZ 1
9#define IRDMA_DEFAULT_PKEY 0xFFFF
10
11struct irdma_ucontext {
12 struct ib_ucontext ibucontext;
13 struct irdma_device *iwdev;
14 struct rdma_user_mmap_entry *db_mmap_entry;

--- 95 unchanged lines hidden (view full) ---

110
111struct irdma_cq {
112 struct ib_cq ibcq;
113 struct irdma_sc_cq sc_cq;
114 u16 cq_head;
115 u16 cq_size;
116 u16 cq_num;
117 bool user_mode;
8
9#define IRDMA_PKEY_TBL_SZ 1
10#define IRDMA_DEFAULT_PKEY 0xFFFF
11
12struct irdma_ucontext {
13 struct ib_ucontext ibucontext;
14 struct irdma_device *iwdev;
15 struct rdma_user_mmap_entry *db_mmap_entry;

--- 95 unchanged lines hidden (view full) ---

111
112struct irdma_cq {
113 struct ib_cq ibcq;
114 struct irdma_sc_cq sc_cq;
115 u16 cq_head;
116 u16 cq_size;
117 u16 cq_num;
118 bool user_mode;
118 bool armed;
119 atomic_t armed;
119 enum irdma_cmpl_notify last_notify;
120 u32 polled_cmpls;
121 u32 cq_mem_size;
122 struct irdma_dma_mem kmem;
123 struct irdma_dma_mem kmem_shadow;
124 spinlock_t lock; /* for poll cq */
125 struct irdma_pbl *iwpbl;
126 struct irdma_pbl *iwpbl_shadow;
127 struct list_head resize_list;
128 struct irdma_cq_poll_info cur_cqe;
120 enum irdma_cmpl_notify last_notify;
121 u32 polled_cmpls;
122 u32 cq_mem_size;
123 struct irdma_dma_mem kmem;
124 struct irdma_dma_mem kmem_shadow;
125 spinlock_t lock; /* for poll cq */
126 struct irdma_pbl *iwpbl;
127 struct irdma_pbl *iwpbl_shadow;
128 struct list_head resize_list;
129 struct irdma_cq_poll_info cur_cqe;
130 struct list_head cmpl_generated;
129};
130
131};
132
133struct irdma_cmpl_gen {
134 struct list_head list;
135 struct irdma_cq_poll_info cpi;
136};
137
131struct disconn_work {
132 struct work_struct work;
133 struct irdma_qp *iwqp;
134};
135
136struct iw_cm_id;
137
138struct irdma_qp_kmode {

--- 22 unchanged lines hidden (view full) ---

161 struct irdma_udp_offload_info udp_info;
162 };
163
164 struct irdma_ah roce_ah;
165 struct list_head teardown_entry;
166 refcount_t refcnt;
167 struct iw_cm_id *cm_id;
168 struct irdma_cm_node *cm_node;
138struct disconn_work {
139 struct work_struct work;
140 struct irdma_qp *iwqp;
141};
142
143struct iw_cm_id;
144
145struct irdma_qp_kmode {

--- 22 unchanged lines hidden (view full) ---

168 struct irdma_udp_offload_info udp_info;
169 };
170
171 struct irdma_ah roce_ah;
172 struct list_head teardown_entry;
173 refcount_t refcnt;
174 struct iw_cm_id *cm_id;
175 struct irdma_cm_node *cm_node;
176 struct delayed_work dwork_flush;
169 struct ib_mr *lsmm_mr;
170 atomic_t hw_mod_qp_pend;
171 enum ib_qp_state ibqp_state;
172 u32 qp_mem_size;
173 u32 last_aeq;
174 int max_send_wr;
175 int max_recv_wr;
176 atomic_t close_timer_started;

--- 47 unchanged lines hidden (view full) ---

224 return (u16)FIELD_GET(IRDMA_FW_VER_MINOR, dev->feature_info[IRDMA_FEATURE_FW_INFO]);
225}
226
227void irdma_mcast_mac(u32 *ip_addr, u8 *mac, bool ipv4);
228int irdma_ib_register_device(struct irdma_device *iwdev);
229void irdma_ib_unregister_device(struct irdma_device *iwdev);
230void irdma_ib_dealloc_device(struct ib_device *ibdev);
231void irdma_ib_qp_event(struct irdma_qp *iwqp, enum irdma_qp_event_type event);
177 struct ib_mr *lsmm_mr;
178 atomic_t hw_mod_qp_pend;
179 enum ib_qp_state ibqp_state;
180 u32 qp_mem_size;
181 u32 last_aeq;
182 int max_send_wr;
183 int max_recv_wr;
184 atomic_t close_timer_started;

--- 47 unchanged lines hidden (view full) ---

232 return (u16)FIELD_GET(IRDMA_FW_VER_MINOR, dev->feature_info[IRDMA_FEATURE_FW_INFO]);
233}
234
235void irdma_mcast_mac(u32 *ip_addr, u8 *mac, bool ipv4);
236int irdma_ib_register_device(struct irdma_device *iwdev);
237void irdma_ib_unregister_device(struct irdma_device *iwdev);
238void irdma_ib_dealloc_device(struct ib_device *ibdev);
239void irdma_ib_qp_event(struct irdma_qp *iwqp, enum irdma_qp_event_type event);
240void irdma_generate_flush_completions(struct irdma_qp *iwqp);
241void irdma_remove_cmpls_list(struct irdma_cq *iwcq);
242int irdma_generated_cmpls(struct irdma_cq *iwcq, struct irdma_cq_poll_info *cq_poll_info);
232#endif /* IRDMA_VERBS_H */
243#endif /* IRDMA_VERBS_H */