RDMA/hns: Remove unnecessary structure hns_roce_sqp
authorLang Cheng <chenglang@huawei.com>
Tue, 5 Nov 2019 11:07:55 +0000 (19:07 +0800)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 8 Nov 2019 20:37:53 +0000 (16:37 -0400)
Special QP have no differences with normal qp in data structure, so
definition of struct hns_roce_sqp should be removed and replaced by struct
hns_roce_qp.

Link: https://lore.kernel.org/r/1572952082-6681-3-git-send-email-liweihang@hisilicon.com
Signed-off-by: Lang Cheng <chenglang@huawei.com>
Signed-off-by: Weihang Li <liweihang@hisilicon.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_device.h
drivers/infiniband/hw/hns/hns_roce_hw_v1.c
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
drivers/infiniband/hw/hns/hns_roce_qp.c

index f8f6f05..409c626 100644 (file)
@@ -692,10 +692,6 @@ struct hns_roce_qp {
        struct hns_roce_rinl_buf rq_inl_buf;
 };
 
-struct hns_roce_sqp {
-       struct hns_roce_qp      hr_qp;
-};
-
 struct hns_roce_ib_iboe {
        spinlock_t              lock;
        struct net_device      *netdevs[HNS_ROCE_MAX_PORTS];
@@ -1089,11 +1085,6 @@ static inline struct hns_roce_srq *to_hr_srq(struct ib_srq *ibsrq)
        return container_of(ibsrq, struct hns_roce_srq, ibsrq);
 }
 
-static inline struct hns_roce_sqp *hr_to_hr_sqp(struct hns_roce_qp *hr_qp)
-{
-       return container_of(hr_qp, struct hns_roce_sqp, hr_qp);
-}
-
 static inline void hns_roce_write64_k(__le32 val[2], void __iomem *dest)
 {
        __raw_writeq(*(u64 *) val, dest);
index 5f74bf5..bfe9cee 100644 (file)
@@ -3644,10 +3644,7 @@ int hns_roce_v1_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata)
                hns_roce_buf_free(hr_dev, hr_qp->buff_size, &hr_qp->hr_buf);
        }
 
-       if (hr_qp->ibqp.qp_type == IB_QPT_RC)
-               kfree(hr_qp);
-       else
-               kfree(hr_to_hr_sqp(hr_qp));
+       kfree(hr_qp);
        return 0;
 }
 
index 7218f6d..0883fce 100644 (file)
@@ -4727,10 +4727,7 @@ static int hns_roce_v2_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata)
                ibdev_err(&hr_dev->ib_dev, "Destroy qp 0x%06lx failed(%d)\n",
                          hr_qp->qpn, ret);
 
-       if (hr_qp->ibqp.qp_type == IB_QPT_GSI)
-               kfree(hr_to_hr_sqp(hr_qp));
-       else
-               kfree(hr_qp);
+       kfree(hr_qp);
 
        return 0;
 }
index 308d15b..6fac466 100644 (file)
@@ -1019,7 +1019,6 @@ struct ib_qp *hns_roce_create_qp(struct ib_pd *pd,
 {
        struct hns_roce_dev *hr_dev = to_hr_dev(pd->device);
        struct ib_device *ibdev = &hr_dev->ib_dev;
-       struct hns_roce_sqp *hr_sqp;
        struct hns_roce_qp *hr_qp;
        int ret;
 
@@ -1049,11 +1048,10 @@ struct ib_qp *hns_roce_create_qp(struct ib_pd *pd,
                        return ERR_PTR(-EINVAL);
                }
 
-               hr_sqp = kzalloc(sizeof(*hr_sqp), GFP_KERNEL);
-               if (!hr_sqp)
+               hr_qp = kzalloc(sizeof(*hr_qp), GFP_KERNEL);
+               if (!hr_qp)
                        return ERR_PTR(-ENOMEM);
 
-               hr_qp = &hr_sqp->hr_qp;
                hr_qp->port = init_attr->port_num - 1;
                hr_qp->phy_port = hr_dev->iboe.phy_port[hr_qp->port];
 
@@ -1068,7 +1066,7 @@ struct ib_qp *hns_roce_create_qp(struct ib_pd *pd,
                                                hr_qp->ibqp.qp_num, hr_qp);
                if (ret) {
                        ibdev_err(ibdev, "Create GSI QP failed!\n");
-                       kfree(hr_sqp);
+                       kfree(hr_qp);
                        return ERR_PTR(ret);
                }