mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 13:11:40 +00:00
RDMA/hns: Remove unnecessary structure hns_roce_sqp
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>
This commit is contained in:
parent
ec6adad0a1
commit
16a11e0bff
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user