hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/drivers/infiniband/hw/cxgb4/restrack.c
....@@ -134,10 +134,8 @@
134134 return -EMSGSIZE;
135135 }
136136
137
-static int fill_res_qp_entry(struct sk_buff *msg,
138
- struct rdma_restrack_entry *res)
137
+int c4iw_fill_res_qp_entry(struct sk_buff *msg, struct ib_qp *ibqp)
139138 {
140
- struct ib_qp *ibqp = container_of(res, struct ib_qp, res);
141139 struct t4_swsqe *fsp = NULL, *lsp = NULL;
142140 struct c4iw_qp *qhp = to_c4iw_qp(ibqp);
143141 u16 first_sq_idx = 0, last_sq_idx = 0;
....@@ -149,7 +147,7 @@
149147 if (qhp->ucontext)
150148 return 0;
151149
152
- table_attr = nla_nest_start(msg, RDMA_NLDEV_ATTR_DRIVER);
150
+ table_attr = nla_nest_start_noflag(msg, RDMA_NLDEV_ATTR_DRIVER);
153151 if (!table_attr)
154152 goto err;
155153
....@@ -195,10 +193,9 @@
195193 struct c4iw_ep ep;
196194 };
197195
198
-static int fill_res_ep_entry(struct sk_buff *msg,
199
- struct rdma_restrack_entry *res)
196
+int c4iw_fill_res_cm_id_entry(struct sk_buff *msg,
197
+ struct rdma_cm_id *cm_id)
200198 {
201
- struct rdma_cm_id *cm_id = rdma_res_to_id(res);
202199 struct nlattr *table_attr;
203200 struct c4iw_ep_common *epcp;
204201 struct c4iw_listen_ep *listen_ep = NULL;
....@@ -216,7 +213,7 @@
216213 if (!uep)
217214 return 0;
218215
219
- table_attr = nla_nest_start(msg, RDMA_NLDEV_ATTR_DRIVER);
216
+ table_attr = nla_nest_start_noflag(msg, RDMA_NLDEV_ATTR_DRIVER);
220217 if (!table_attr)
221218 goto err_free_uep;
222219
....@@ -372,10 +369,8 @@
372369 return -EMSGSIZE;
373370 }
374371
375
-static int fill_res_cq_entry(struct sk_buff *msg,
376
- struct rdma_restrack_entry *res)
372
+int c4iw_fill_res_cq_entry(struct sk_buff *msg, struct ib_cq *ibcq)
377373 {
378
- struct ib_cq *ibcq = container_of(res, struct ib_cq, res);
379374 struct c4iw_cq *chp = to_c4iw_cq(ibcq);
380375 struct nlattr *table_attr;
381376 struct t4_cqe hwcqes[2];
....@@ -387,7 +382,7 @@
387382 if (ibcq->uobject)
388383 return 0;
389384
390
- table_attr = nla_nest_start(msg, RDMA_NLDEV_ATTR_DRIVER);
385
+ table_attr = nla_nest_start_noflag(msg, RDMA_NLDEV_ATTR_DRIVER);
391386 if (!table_attr)
392387 goto err;
393388
....@@ -433,10 +428,8 @@
433428 return -EMSGSIZE;
434429 }
435430
436
-static int fill_res_mr_entry(struct sk_buff *msg,
437
- struct rdma_restrack_entry *res)
431
+int c4iw_fill_res_mr_entry(struct sk_buff *msg, struct ib_mr *ibmr)
438432 {
439
- struct ib_mr *ibmr = container_of(res, struct ib_mr, res);
440433 struct c4iw_mr *mhp = to_c4iw_mr(ibmr);
441434 struct c4iw_dev *dev = mhp->rhp;
442435 u32 stag = mhp->attr.stag;
....@@ -447,7 +440,7 @@
447440 if (!stag)
448441 return 0;
449442
450
- table_attr = nla_nest_start(msg, RDMA_NLDEV_ATTR_DRIVER);
443
+ table_attr = nla_nest_start_noflag(msg, RDMA_NLDEV_ATTR_DRIVER);
451444 if (!table_attr)
452445 goto err;
453446
....@@ -492,10 +485,3 @@
492485 err:
493486 return -EMSGSIZE;
494487 }
495
-
496
-c4iw_restrack_func *c4iw_restrack_funcs[RDMA_RESTRACK_MAX] = {
497
- [RDMA_RESTRACK_QP] = fill_res_qp_entry,
498
- [RDMA_RESTRACK_CM_ID] = fill_res_ep_entry,
499
- [RDMA_RESTRACK_CQ] = fill_res_cq_entry,
500
- [RDMA_RESTRACK_MR] = fill_res_mr_entry,
501
-};