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/ipath | |
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/ipath')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_qp.c | 3 | ||||
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_srq.c | 4 | ||||
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_verbs.h | 5 |
3 files changed, 8 insertions, 4 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_qp.c b/drivers/infiniband/hw/ipath/ipath_qp.c index 83e557be591e..44c32d2db990 100644 --- a/drivers/infiniband/hw/ipath/ipath_qp.c +++ b/drivers/infiniband/hw/ipath/ipath_qp.c | |||
@@ -426,11 +426,12 @@ void ipath_error_qp(struct ipath_qp *qp) | |||
426 | * @ibqp: the queue pair who's attributes we're modifying | 426 | * @ibqp: the queue pair who's attributes we're modifying |
427 | * @attr: the new attributes | 427 | * @attr: the new attributes |
428 | * @attr_mask: the mask of attributes to modify | 428 | * @attr_mask: the mask of attributes to modify |
429 | * @udata: user data for ipathverbs.so | ||
429 | * | 430 | * |
430 | * Returns 0 on success, otherwise returns an errno. | 431 | * Returns 0 on success, otherwise returns an errno. |
431 | */ | 432 | */ |
432 | int ipath_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, | 433 | int ipath_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, |
433 | int attr_mask) | 434 | int attr_mask, struct ib_udata *udata) |
434 | { | 435 | { |
435 | struct ipath_ibdev *dev = to_idev(ibqp->device); | 436 | struct ipath_ibdev *dev = to_idev(ibqp->device); |
436 | struct ipath_qp *qp = to_iqp(ibqp); | 437 | struct ipath_qp *qp = to_iqp(ibqp); |
diff --git a/drivers/infiniband/hw/ipath/ipath_srq.c b/drivers/infiniband/hw/ipath/ipath_srq.c index f760434660bd..fa77da6667ed 100644 --- a/drivers/infiniband/hw/ipath/ipath_srq.c +++ b/drivers/infiniband/hw/ipath/ipath_srq.c | |||
@@ -188,9 +188,11 @@ bail: | |||
188 | * @ibsrq: the SRQ to modify | 188 | * @ibsrq: the SRQ to modify |
189 | * @attr: the new attributes of the SRQ | 189 | * @attr: the new attributes of the SRQ |
190 | * @attr_mask: indicates which attributes to modify | 190 | * @attr_mask: indicates which attributes to modify |
191 | * @udata: user data for ipathverbs.so | ||
191 | */ | 192 | */ |
192 | int ipath_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr, | 193 | int ipath_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr, |
193 | enum ib_srq_attr_mask attr_mask) | 194 | enum ib_srq_attr_mask attr_mask, |
195 | struct ib_udata *udata) | ||
194 | { | 196 | { |
195 | struct ipath_srq *srq = to_isrq(ibsrq); | 197 | struct ipath_srq *srq = to_isrq(ibsrq); |
196 | unsigned long flags; | 198 | unsigned long flags; |
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs.h b/drivers/infiniband/hw/ipath/ipath_verbs.h index 2df684727dc1..698396778f00 100644 --- a/drivers/infiniband/hw/ipath/ipath_verbs.h +++ b/drivers/infiniband/hw/ipath/ipath_verbs.h | |||
@@ -579,7 +579,7 @@ struct ib_qp *ipath_create_qp(struct ib_pd *ibpd, | |||
579 | int ipath_destroy_qp(struct ib_qp *ibqp); | 579 | int ipath_destroy_qp(struct ib_qp *ibqp); |
580 | 580 | ||
581 | int ipath_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, | 581 | int ipath_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, |
582 | int attr_mask); | 582 | int attr_mask, struct ib_udata *udata); |
583 | 583 | ||
584 | int ipath_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, | 584 | int ipath_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, |
585 | int attr_mask, struct ib_qp_init_attr *init_attr); | 585 | int attr_mask, struct ib_qp_init_attr *init_attr); |
@@ -638,7 +638,8 @@ struct ib_srq *ipath_create_srq(struct ib_pd *ibpd, | |||
638 | struct ib_udata *udata); | 638 | struct ib_udata *udata); |
639 | 639 | ||
640 | int ipath_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr, | 640 | int ipath_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr, |
641 | enum ib_srq_attr_mask attr_mask); | 641 | enum ib_srq_attr_mask attr_mask, |
642 | struct ib_udata *udata); | ||
642 | 643 | ||
643 | int ipath_query_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr); | 644 | int ipath_query_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr); |
644 | 645 | ||