diff options
author | Ralph Campbell <ralphc@pathscale.com> | 2006-08-11 17:58:09 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-09-22 18:22:25 -0400 |
commit | 9bc57e2d19db4da81c1150120658cc3658a99ed4 (patch) | |
tree | 0047863da8629f79d59f50d243ad7d6c01a5ec5c /drivers/infiniband/hw/mthca | |
parent | 64f817ba98095156149ba5991592d5d039f6da74 (diff) |
IB/uverbs: Pass userspace data to modify_srq and modify_qp methods
Pass a struct ib_udata to the low-level driver's ->modify_srq() and
->modify_qp() methods, so that it can get to the device-specific data
passed in by the userspace driver.
Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/mthca')
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_dev.h | 5 | ||||
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_qp.c | 3 | ||||
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_srq.c | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_dev.h b/drivers/infiniband/hw/mthca/mthca_dev.h index f8160b8de090..33bd0b8bfd13 100644 --- a/drivers/infiniband/hw/mthca/mthca_dev.h +++ b/drivers/infiniband/hw/mthca/mthca_dev.h | |||
@@ -506,7 +506,7 @@ int mthca_alloc_srq(struct mthca_dev *dev, struct mthca_pd *pd, | |||
506 | struct ib_srq_attr *attr, struct mthca_srq *srq); | 506 | struct ib_srq_attr *attr, struct mthca_srq *srq); |
507 | void mthca_free_srq(struct mthca_dev *dev, struct mthca_srq *srq); | 507 | void mthca_free_srq(struct mthca_dev *dev, struct mthca_srq *srq); |
508 | int mthca_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr, | 508 | int mthca_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr, |
509 | enum ib_srq_attr_mask attr_mask); | 509 | enum ib_srq_attr_mask attr_mask, struct ib_udata *udata); |
510 | int mthca_query_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr); | 510 | int mthca_query_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr); |
511 | int mthca_max_srq_sge(struct mthca_dev *dev); | 511 | int mthca_max_srq_sge(struct mthca_dev *dev); |
512 | void mthca_srq_event(struct mthca_dev *dev, u32 srqn, | 512 | void mthca_srq_event(struct mthca_dev *dev, u32 srqn, |
@@ -521,7 +521,8 @@ void mthca_qp_event(struct mthca_dev *dev, u32 qpn, | |||
521 | enum ib_event_type event_type); | 521 | enum ib_event_type event_type); |
522 | int mthca_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr, int qp_attr_mask, | 522 | int mthca_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr, int qp_attr_mask, |
523 | struct ib_qp_init_attr *qp_init_attr); | 523 | struct ib_qp_init_attr *qp_init_attr); |
524 | int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask); | 524 | int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, |
525 | struct ib_udata *udata); | ||
525 | int mthca_tavor_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr, | 526 | int mthca_tavor_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr, |
526 | struct ib_send_wr **bad_wr); | 527 | struct ib_send_wr **bad_wr); |
527 | int mthca_tavor_post_receive(struct ib_qp *ibqp, struct ib_recv_wr *wr, | 528 | int mthca_tavor_post_receive(struct ib_qp *ibqp, struct ib_recv_wr *wr, |
diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c index 2e8f6f36e0a5..6d6ba4180a39 100644 --- a/drivers/infiniband/hw/mthca/mthca_qp.c +++ b/drivers/infiniband/hw/mthca/mthca_qp.c | |||
@@ -527,7 +527,8 @@ static int mthca_path_set(struct mthca_dev *dev, struct ib_ah_attr *ah, | |||
527 | return 0; | 527 | return 0; |
528 | } | 528 | } |
529 | 529 | ||
530 | int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask) | 530 | int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, |
531 | struct ib_udata *udata) | ||
531 | { | 532 | { |
532 | struct mthca_dev *dev = to_mdev(ibqp->device); | 533 | struct mthca_dev *dev = to_mdev(ibqp->device); |
533 | struct mthca_qp *qp = to_mqp(ibqp); | 534 | struct mthca_qp *qp = to_mqp(ibqp); |
diff --git a/drivers/infiniband/hw/mthca/mthca_srq.c b/drivers/infiniband/hw/mthca/mthca_srq.c index b60a9d79ae54..0f316c87bf64 100644 --- a/drivers/infiniband/hw/mthca/mthca_srq.c +++ b/drivers/infiniband/hw/mthca/mthca_srq.c | |||
@@ -358,7 +358,7 @@ void mthca_free_srq(struct mthca_dev *dev, struct mthca_srq *srq) | |||
358 | } | 358 | } |
359 | 359 | ||
360 | int mthca_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr, | 360 | int mthca_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr, |
361 | enum ib_srq_attr_mask attr_mask) | 361 | enum ib_srq_attr_mask attr_mask, struct ib_udata *udata) |
362 | { | 362 | { |
363 | struct mthca_dev *dev = to_mdev(ibsrq->device); | 363 | struct mthca_dev *dev = to_mdev(ibsrq->device); |
364 | struct mthca_srq *srq = to_msrq(ibsrq); | 364 | struct mthca_srq *srq = to_msrq(ibsrq); |