diff mbox series

[for-next,2/4] RDMA/hns: Add more restrack attributes to CQ

Message ID 20220124124624.55352-3-liangwenpeng@huawei.com (mailing list archive)
State Changes Requested
Delegated to: Leon Romanovsky
Headers show
Series RDMA/hns: Add more restrack attributes to hns driver | expand

Commit Message

Wenpeng Liang Jan. 24, 2022, 12:46 p.m. UTC
Add arm_st, shift and cqe_size of CQ.

Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com>
---
 drivers/infiniband/hw/hns/hns_roce_restrack.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/hns/hns_roce_restrack.c b/drivers/infiniband/hw/hns/hns_roce_restrack.c
index 4420639445a1..a0d601cd2cb6 100644
--- a/drivers/infiniband/hw/hns/hns_roce_restrack.c
+++ b/drivers/infiniband/hw/hns/hns_roce_restrack.c
@@ -15,7 +15,8 @@ 
 #define _HR_REG_CFG(type, h, l) _HR_REG_MASK(h, l), l
 #define HR_REG_CFG(field) _HR_REG_CFG(field)
 
-static int hns_roce_fill_cq(struct sk_buff *msg,
+static int hns_roce_fill_cq(struct hns_roce_cq *hr_cq,
+			    struct sk_buff *msg,
 			    struct hns_roce_v2_cq_context *context)
 {
 	static struct {
@@ -24,8 +25,11 @@  static int hns_roce_fill_cq(struct sk_buff *msg,
 		u32 l;
 	} reg[] = {
 		{ "cq_st", HR_REG_CFG(CQC_CQ_ST) },
+		{ "arm_st", HR_REG_CFG(CQC_ARM_ST) },
+		{ "shift", HR_REG_CFG(CQC_SHIFT) },
 		{ "ceqn", HR_REG_CFG(CQC_CEQN) },
 		{ "cqn", HR_REG_CFG(CQC_CQN) },
+		{ "cqe_size", HR_REG_CFG(CQC_CQE_SIZE) },
 		{ "hopnum", HR_REG_CFG(CQC_CQE_HOP_NUM) },
 		{ "pi", HR_REG_CFG(CQC_CQ_PRODUCER_IDX) },
 		{ "ci", HR_REG_CFG(CQC_CQ_CONSUMER_IDX) },
@@ -43,6 +47,9 @@  static int hns_roce_fill_cq(struct sk_buff *msg,
 				(reg[i].l % 32)))
 			goto err;
 
+	if (rdma_nl_put_driver_u32_hex(msg, "soft_cq_ci", hr_cq->cons_index))
+		goto err;
+
 	return 0;
 
 err:
@@ -68,7 +75,7 @@  int hns_roce_fill_res_cq_entry(struct sk_buff *msg, struct ib_cq *ibcq)
 	if (!table_attr)
 		return -EMSGSIZE;
 
-	if (hns_roce_fill_cq(msg, &context))
+	if (hns_roce_fill_cq(hr_cq, msg, &context))
 		goto err_cancel_table;
 
 	nla_nest_end(msg, table_attr);