diff options
author | Michael J. Ruhl <michael.j.ruhl@intel.com> | 2017-09-26 07:00:56 -0700 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-09-27 11:34:13 -0400 |
commit | 21e5acc06403f6ce48ef98ad9d081cdec2944d60 (patch) | |
tree | 5bf8cb4d065d6ab2d6b33a16b82238362bf53890 /drivers/infiniband/hw/hfi1/user_exp_rcv.c | |
parent | 6fee036916f3efbd840631f2ea4ac88950c1592e (diff) | |
download | talos-obmc-linux-21e5acc06403f6ce48ef98ad9d081cdec2944d60.tar.gz talos-obmc-linux-21e5acc06403f6ce48ef98ad9d081cdec2944d60.zip |
IB/hfi1: Inline common calculation
Calculating the offset to a context is done several times throughout
the code. Create a common inlined function for doing this
calculation.
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/user_exp_rcv.c')
-rw-r--r-- | drivers/infiniband/hw/hfi1/user_exp_rcv.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/infiniband/hw/hfi1/user_exp_rcv.c b/drivers/infiniband/hw/hfi1/user_exp_rcv.c index 6f6c14df383e..ff9ad69dc0a7 100644 --- a/drivers/infiniband/hw/hfi1/user_exp_rcv.c +++ b/drivers/infiniband/hw/hfi1/user_exp_rcv.c @@ -542,8 +542,7 @@ int hfi1_user_exp_rcv_invalid(struct hfi1_filedata *fd, { struct hfi1_ctxtdata *uctxt = fd->uctxt; unsigned long *ev = uctxt->dd->events + - (((uctxt->ctxt - uctxt->dd->first_dyn_alloc_ctxt) * - HFI1_MAX_SHARED_CTXTS) + fd->subctxt); + (uctxt_offset(uctxt) + fd->subctxt); u32 *array; int ret = 0; @@ -942,8 +941,7 @@ static int tid_rb_invalidate(void *arg, struct mmu_rb_node *mnode) * process in question. */ ev = uctxt->dd->events + - (((uctxt->ctxt - uctxt->dd->first_dyn_alloc_ctxt) * - HFI1_MAX_SHARED_CTXTS) + fdata->subctxt); + (uctxt_offset(uctxt) + fdata->subctxt); set_bit(_HFI1_EVENT_TID_MMU_NOTIFY_BIT, ev); } fdata->invalid_tid_idx++; |