OSDN Git Service

IB/hfi1: Remove redundant pageidx variable
authorDean Luick <dean.luick@cornelisnetworks.com>
Mon, 9 Jan 2023 19:04:03 +0000 (14:04 -0500)
committerLeon Romanovsky <leon@kernel.org>
Tue, 10 Jan 2023 10:51:05 +0000 (12:51 +0200)
In hfi1_user_exp_rcv_setup(), variable pageidx mirrors
variable tididx.  Remove pageidx and its use as an argument
to program_rcvarray().

Signed-off-by: Dean Luick <dean.luick@cornelisnetworks.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Link: https://lore.kernel.org/r/167329104365.1472990.14264918308557487946.stgit@awfm-02.cornelisnetworks.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/hfi1/user_exp_rcv.c

index 186d302..7fabe88 100644 (file)
@@ -24,8 +24,7 @@ static bool tid_rb_invalidate(struct mmu_interval_notifier *mni,
                              const struct mmu_notifier_range *range,
                              unsigned long cur_seq);
 static int program_rcvarray(struct hfi1_filedata *fd, struct tid_user_buf *,
-                           struct tid_group *grp,
-                           unsigned int start, u16 count,
+                           struct tid_group *grp, u16 count,
                            u32 *tidlist, unsigned int *tididx,
                            unsigned int *pmapped);
 static int unprogram_rcvarray(struct hfi1_filedata *fd, u32 tidinfo,
@@ -249,7 +248,7 @@ int hfi1_user_exp_rcv_setup(struct hfi1_filedata *fd,
        int ret = 0, need_group = 0, pinned;
        struct hfi1_ctxtdata *uctxt = fd->uctxt;
        struct hfi1_devdata *dd = uctxt->dd;
-       unsigned int ngroups, pageidx = 0, pageset_count,
+       unsigned int ngroups, pageset_count,
                tididx = 0, mapped, mapped_pages = 0;
        u32 *tidlist = NULL;
        struct tid_user_buf *tidbuf;
@@ -318,7 +317,7 @@ int hfi1_user_exp_rcv_setup(struct hfi1_filedata *fd,
                        tid_group_pop(&uctxt->tid_group_list);
 
                ret = program_rcvarray(fd, tidbuf, grp,
-                                      pageidx, dd->rcv_entries.group_size,
+                                      dd->rcv_entries.group_size,
                                       tidlist, &tididx, &mapped);
                /*
                 * If there was a failure to program the RcvArray
@@ -334,11 +333,10 @@ int hfi1_user_exp_rcv_setup(struct hfi1_filedata *fd,
 
                tid_group_add_tail(grp, &uctxt->tid_full_list);
                ngroups--;
-               pageidx += ret;
                mapped_pages += mapped;
        }
 
-       while (pageidx < pageset_count) {
+       while (tididx < pageset_count) {
                struct tid_group *grp, *ptr;
                /*
                 * If we don't have any partially used tid groups, check
@@ -360,11 +358,11 @@ int hfi1_user_exp_rcv_setup(struct hfi1_filedata *fd,
                 */
                list_for_each_entry_safe(grp, ptr, &uctxt->tid_used_list.list,
                                         list) {
-                       unsigned use = min_t(unsigned, pageset_count - pageidx,
+                       unsigned use = min_t(unsigned, pageset_count - tididx,
                                             grp->size - grp->used);
 
                        ret = program_rcvarray(fd, tidbuf, grp,
-                                              pageidx, use, tidlist,
+                                              use, tidlist,
                                               &tididx, &mapped);
                        if (ret < 0) {
                                hfi1_cdbg(TID,
@@ -376,11 +374,10 @@ int hfi1_user_exp_rcv_setup(struct hfi1_filedata *fd,
                                        tid_group_move(grp,
                                                       &uctxt->tid_used_list,
                                                       &uctxt->tid_full_list);
-                               pageidx += ret;
                                mapped_pages += mapped;
                                need_group = 0;
                                /* Check if we are done so we break out early */
-                               if (pageidx >= pageset_count)
+                               if (tididx >= pageset_count)
                                        break;
                        } else if (WARN_ON(ret == 0)) {
                                /*
@@ -589,7 +586,6 @@ static u32 find_phys_blocks(struct tid_user_buf *tidbuf, unsigned int npages)
  *       struct tid_pageset holding information on physically contiguous
  *       chunks from the user buffer), and other fields.
  * @grp: RcvArray group
- * @start: starting index into sets array
  * @count: number of struct tid_pageset's to program
  * @tidlist: the array of u32 elements when the information about the
  *           programmed RcvArray entries is to be encoded.
@@ -609,14 +605,14 @@ static u32 find_phys_blocks(struct tid_user_buf *tidbuf, unsigned int npages)
  * number of RcvArray entries programmed.
  */
 static int program_rcvarray(struct hfi1_filedata *fd, struct tid_user_buf *tbuf,
-                           struct tid_group *grp,
-                           unsigned int start, u16 count,
+                           struct tid_group *grp, u16 count,
                            u32 *tidlist, unsigned int *tididx,
                            unsigned int *pmapped)
 {
        struct hfi1_ctxtdata *uctxt = fd->uctxt;
        struct hfi1_devdata *dd = uctxt->dd;
        u16 idx;
+       unsigned int start = *tididx;
        u32 tidinfo = 0, rcventry, useidx = 0;
        int mapped = 0;