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_rinl_buf rq_inl_buf;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hns_roce_sqp {
|
|
||||||
struct hns_roce_qp hr_qp;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct hns_roce_ib_iboe {
|
struct hns_roce_ib_iboe {
|
||||||
spinlock_t lock;
|
spinlock_t lock;
|
||||||
struct net_device *netdevs[HNS_ROCE_MAX_PORTS];
|
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);
|
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)
|
static inline void hns_roce_write64_k(__le32 val[2], void __iomem *dest)
|
||||||
{
|
{
|
||||||
__raw_writeq(*(u64 *) val, 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);
|
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);
|
||||||
kfree(hr_qp);
|
|
||||||
else
|
|
||||||
kfree(hr_to_hr_sqp(hr_qp));
|
|
||||||
return 0;
|
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",
|
ibdev_err(&hr_dev->ib_dev, "Destroy qp 0x%06lx failed(%d)\n",
|
||||||
hr_qp->qpn, ret);
|
hr_qp->qpn, ret);
|
||||||
|
|
||||||
if (hr_qp->ibqp.qp_type == IB_QPT_GSI)
|
kfree(hr_qp);
|
||||||
kfree(hr_to_hr_sqp(hr_qp));
|
|
||||||
else
|
|
||||||
kfree(hr_qp);
|
|
||||||
|
|
||||||
return 0;
|
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 hns_roce_dev *hr_dev = to_hr_dev(pd->device);
|
||||||
struct ib_device *ibdev = &hr_dev->ib_dev;
|
struct ib_device *ibdev = &hr_dev->ib_dev;
|
||||||
struct hns_roce_sqp *hr_sqp;
|
|
||||||
struct hns_roce_qp *hr_qp;
|
struct hns_roce_qp *hr_qp;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@ -1049,11 +1048,10 @@ struct ib_qp *hns_roce_create_qp(struct ib_pd *pd,
|
|||||||
return ERR_PTR(-EINVAL);
|
return ERR_PTR(-EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
hr_sqp = kzalloc(sizeof(*hr_sqp), GFP_KERNEL);
|
hr_qp = kzalloc(sizeof(*hr_qp), GFP_KERNEL);
|
||||||
if (!hr_sqp)
|
if (!hr_qp)
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
|
|
||||||
hr_qp = &hr_sqp->hr_qp;
|
|
||||||
hr_qp->port = init_attr->port_num - 1;
|
hr_qp->port = init_attr->port_num - 1;
|
||||||
hr_qp->phy_port = hr_dev->iboe.phy_port[hr_qp->port];
|
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);
|
hr_qp->ibqp.qp_num, hr_qp);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
ibdev_err(ibdev, "Create GSI QP failed!\n");
|
ibdev_err(ibdev, "Create GSI QP failed!\n");
|
||||||
kfree(hr_sqp);
|
kfree(hr_qp);
|
||||||
return ERR_PTR(ret);
|
return ERR_PTR(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user