.. | .. |
---|
1 | 1 | /* |
---|
2 | | - * Copyright (c) 2012 - 2017 Intel Corporation. All rights reserved. |
---|
| 2 | + * Copyright (c) 2012 - 2018 Intel Corporation. All rights reserved. |
---|
3 | 3 | * Copyright (c) 2006 - 2012 QLogic Corporation. All rights reserved. |
---|
4 | 4 | * Copyright (c) 2005, 2006 PathScale, Inc. All rights reserved. |
---|
5 | 5 | * |
---|
.. | .. |
---|
46 | 46 | #include <rdma/ib_pack.h> |
---|
47 | 47 | #include <rdma/ib_user_verbs.h> |
---|
48 | 48 | #include <rdma/ib_hdrs.h> |
---|
49 | | -#include <rdma/rdma_vt.h> |
---|
| 49 | +#include <rdma/rdmavt_qp.h> |
---|
50 | 50 | #include <rdma/rdmavt_cq.h> |
---|
51 | 51 | |
---|
52 | 52 | struct qib_ctxtdata; |
---|
.. | .. |
---|
177 | 177 | struct timer_list mem_timer; |
---|
178 | 178 | struct qib_pio_header *pio_hdrs; |
---|
179 | 179 | dma_addr_t pio_hdrs_phys; |
---|
180 | | - u32 qp_rnd; /* random bytes for hash */ |
---|
181 | 180 | |
---|
182 | 181 | u32 n_piowait; |
---|
183 | 182 | u32 n_txwait; |
---|
.. | .. |
---|
223 | 222 | !(qp->s_flags & RVT_S_ANY_WAIT_SEND)); |
---|
224 | 223 | } |
---|
225 | 224 | |
---|
226 | | -void _qib_schedule_send(struct rvt_qp *qp); |
---|
227 | | -void qib_schedule_send(struct rvt_qp *qp); |
---|
| 225 | +bool _qib_schedule_send(struct rvt_qp *qp); |
---|
| 226 | +bool qib_schedule_send(struct rvt_qp *qp); |
---|
228 | 227 | |
---|
229 | 228 | static inline int qib_pkey_ok(u16 pkey1, u16 pkey2) |
---|
230 | 229 | { |
---|
.. | .. |
---|
245 | 244 | void qib_node_desc_chg(struct qib_ibport *ibp); |
---|
246 | 245 | int qib_process_mad(struct ib_device *ibdev, int mad_flags, u8 port_num, |
---|
247 | 246 | const struct ib_wc *in_wc, const struct ib_grh *in_grh, |
---|
248 | | - const struct ib_mad_hdr *in, size_t in_mad_size, |
---|
249 | | - struct ib_mad_hdr *out, size_t *out_mad_size, |
---|
250 | | - u16 *out_mad_pkey_index); |
---|
| 247 | + const struct ib_mad *in, struct ib_mad *out, |
---|
| 248 | + size_t *out_mad_size, u16 *out_mad_pkey_index); |
---|
251 | 249 | void qib_notify_create_mad_agent(struct rvt_dev_info *rdi, int port_idx); |
---|
252 | 250 | void qib_notify_free_mad_agent(struct rvt_dev_info *rdi, int port_idx); |
---|
253 | 251 | |
---|
.. | .. |
---|
292 | 290 | int qib_verbs_send(struct rvt_qp *qp, struct ib_header *hdr, |
---|
293 | 291 | u32 hdrwords, struct rvt_sge_state *ss, u32 len); |
---|
294 | 292 | |
---|
295 | | -void qib_copy_sge(struct rvt_sge_state *ss, void *data, u32 length, |
---|
296 | | - int release); |
---|
297 | | - |
---|
298 | 293 | void qib_uc_rcv(struct qib_ibport *ibp, struct ib_header *hdr, |
---|
299 | 294 | int has_grh, void *data, u32 tlen, struct rvt_qp *qp); |
---|
300 | 295 | |
---|
.. | .. |
---|
303 | 298 | |
---|
304 | 299 | int qib_check_ah(struct ib_device *ibdev, struct rdma_ah_attr *ah_attr); |
---|
305 | 300 | |
---|
306 | | -int qib_check_send_wqe(struct rvt_qp *qp, struct rvt_swqe *wqe); |
---|
| 301 | +int qib_check_send_wqe(struct rvt_qp *qp, struct rvt_swqe *wqe, |
---|
| 302 | + bool *call_send); |
---|
307 | 303 | |
---|
308 | 304 | struct ib_ah *qib_create_qp0_ah(struct qib_ibport *ibp, u16 dlid); |
---|
309 | 305 | |
---|
.. | .. |
---|
332 | 328 | void _qib_do_send(struct work_struct *work); |
---|
333 | 329 | |
---|
334 | 330 | void qib_do_send(struct rvt_qp *qp); |
---|
335 | | - |
---|
336 | | -void qib_send_complete(struct rvt_qp *qp, struct rvt_swqe *wqe, |
---|
337 | | - enum ib_wc_status status); |
---|
338 | 331 | |
---|
339 | 332 | void qib_send_rc_ack(struct rvt_qp *qp); |
---|
340 | 333 | |
---|