RDMA/hns: Remove unnecessary wrap around for EQ's consumer index
authorYixian Liu <liuyixian@huawei.com>
Fri, 5 Feb 2021 09:39:33 +0000 (17:39 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 9 Feb 2021 00:25:26 +0000 (20:25 -0400)
The hns driver wrap around the consumer index of AEQ and CEQ when they
reach to two times of queue entries number for owner mechanism, actually,
it is unnecessary to wrap around since the hardware itself will mask it
before use.

Link: https://lore.kernel.org/r/1612517974-31867-12-git-send-email-liweihang@huawei.com
Signed-off-by: Yixian Liu <liuyixian@huawei.com>
Signed-off-by: Weihang Li <liweihang@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c

index 45a11fdaaa5013c7523b24bd1a205f10d9e0d6ae..28c2deac58fff6e7f41bd8bcb3f3cb9534735afa 100644 (file)
@@ -5669,9 +5669,6 @@ static int hns_roce_v2_aeq_int(struct hns_roce_dev *hr_dev,
                ++eq->cons_index;
                aeqe_found = 1;
 
-               if (eq->cons_index > (2 * eq->entries - 1))
-                       eq->cons_index = 0;
-
                hns_roce_v2_init_irq_work(hr_dev, eq, queue_num);
 
                aeqe = next_aeqe_sw_v2(eq);
@@ -5714,9 +5711,6 @@ static int hns_roce_v2_ceq_int(struct hns_roce_dev *hr_dev,
                ++eq->cons_index;
                ceqe_found = 1;
 
-               if (eq->cons_index > (EQ_DEPTH_COEFF * eq->entries - 1))
-                       eq->cons_index = 0;
-
                ceqe = next_ceqe_sw_v2(eq);
        }