9
9
#include "hns_roce_device.h"
10
10
#include "hns_roce_hw_v2.h"
11
11
12
- #define MAX_ENTRY_NUM 256
13
-
14
12
int hns_roce_fill_res_cq_entry (struct sk_buff * msg , struct ib_cq * ib_cq )
15
13
{
16
14
struct hns_roce_cq * hr_cq = to_hr_cq (ib_cq );
@@ -47,8 +45,6 @@ int hns_roce_fill_res_cq_entry_raw(struct sk_buff *msg, struct ib_cq *ib_cq)
47
45
struct hns_roce_dev * hr_dev = to_hr_dev (ib_cq -> device );
48
46
struct hns_roce_cq * hr_cq = to_hr_cq (ib_cq );
49
47
struct hns_roce_v2_cq_context context ;
50
- u32 data [MAX_ENTRY_NUM ] = {};
51
- int offset = 0 ;
52
48
int ret ;
53
49
54
50
if (!hr_dev -> hw -> query_cqc )
@@ -58,23 +54,7 @@ int hns_roce_fill_res_cq_entry_raw(struct sk_buff *msg, struct ib_cq *ib_cq)
58
54
if (ret )
59
55
return - EINVAL ;
60
56
61
- data [offset ++ ] = hr_reg_read (& context , CQC_CQ_ST );
62
- data [offset ++ ] = hr_reg_read (& context , CQC_SHIFT );
63
- data [offset ++ ] = hr_reg_read (& context , CQC_CQE_SIZE );
64
- data [offset ++ ] = hr_reg_read (& context , CQC_CQE_CNT );
65
- data [offset ++ ] = hr_reg_read (& context , CQC_CQ_PRODUCER_IDX );
66
- data [offset ++ ] = hr_reg_read (& context , CQC_CQ_CONSUMER_IDX );
67
- data [offset ++ ] = hr_reg_read (& context , CQC_DB_RECORD_EN );
68
- data [offset ++ ] = hr_reg_read (& context , CQC_ARM_ST );
69
- data [offset ++ ] = hr_reg_read (& context , CQC_CMD_SN );
70
- data [offset ++ ] = hr_reg_read (& context , CQC_CEQN );
71
- data [offset ++ ] = hr_reg_read (& context , CQC_CQ_MAX_CNT );
72
- data [offset ++ ] = hr_reg_read (& context , CQC_CQ_PERIOD );
73
- data [offset ++ ] = hr_reg_read (& context , CQC_CQE_HOP_NUM );
74
- data [offset ++ ] = hr_reg_read (& context , CQC_CQE_BAR_PG_SZ );
75
- data [offset ++ ] = hr_reg_read (& context , CQC_CQE_BUF_PG_SZ );
76
-
77
- ret = nla_put (msg , RDMA_NLDEV_ATTR_RES_RAW , offset * sizeof (u32 ), data );
57
+ ret = nla_put (msg , RDMA_NLDEV_ATTR_RES_RAW , sizeof (context ), & context );
78
58
79
59
return ret ;
80
60
}
@@ -118,8 +98,6 @@ int hns_roce_fill_res_qp_entry_raw(struct sk_buff *msg, struct ib_qp *ib_qp)
118
98
struct hns_roce_dev * hr_dev = to_hr_dev (ib_qp -> device );
119
99
struct hns_roce_qp * hr_qp = to_hr_qp (ib_qp );
120
100
struct hns_roce_v2_qp_context context ;
121
- u32 data [MAX_ENTRY_NUM ] = {};
122
- int offset = 0 ;
123
101
int ret ;
124
102
125
103
if (!hr_dev -> hw -> query_qpc )
@@ -129,42 +107,7 @@ int hns_roce_fill_res_qp_entry_raw(struct sk_buff *msg, struct ib_qp *ib_qp)
129
107
if (ret )
130
108
return - EINVAL ;
131
109
132
- data [offset ++ ] = hr_reg_read (& context , QPC_QP_ST );
133
- data [offset ++ ] = hr_reg_read (& context , QPC_ERR_TYPE );
134
- data [offset ++ ] = hr_reg_read (& context , QPC_CHECK_FLG );
135
- data [offset ++ ] = hr_reg_read (& context , QPC_SRQ_EN );
136
- data [offset ++ ] = hr_reg_read (& context , QPC_SRQN );
137
- data [offset ++ ] = hr_reg_read (& context , QPC_QKEY_XRCD );
138
- data [offset ++ ] = hr_reg_read (& context , QPC_TX_CQN );
139
- data [offset ++ ] = hr_reg_read (& context , QPC_RX_CQN );
140
- data [offset ++ ] = hr_reg_read (& context , QPC_SQ_PRODUCER_IDX );
141
- data [offset ++ ] = hr_reg_read (& context , QPC_SQ_CONSUMER_IDX );
142
- data [offset ++ ] = hr_reg_read (& context , QPC_RQ_RECORD_EN );
143
- data [offset ++ ] = hr_reg_read (& context , QPC_RQ_PRODUCER_IDX );
144
- data [offset ++ ] = hr_reg_read (& context , QPC_RQ_CONSUMER_IDX );
145
- data [offset ++ ] = hr_reg_read (& context , QPC_SQ_SHIFT );
146
- data [offset ++ ] = hr_reg_read (& context , QPC_RQWS );
147
- data [offset ++ ] = hr_reg_read (& context , QPC_RQ_SHIFT );
148
- data [offset ++ ] = hr_reg_read (& context , QPC_SGE_SHIFT );
149
- data [offset ++ ] = hr_reg_read (& context , QPC_SQ_HOP_NUM );
150
- data [offset ++ ] = hr_reg_read (& context , QPC_RQ_HOP_NUM );
151
- data [offset ++ ] = hr_reg_read (& context , QPC_SGE_HOP_NUM );
152
- data [offset ++ ] = hr_reg_read (& context , QPC_WQE_SGE_BA_PG_SZ );
153
- data [offset ++ ] = hr_reg_read (& context , QPC_WQE_SGE_BUF_PG_SZ );
154
- data [offset ++ ] = hr_reg_read (& context , QPC_RETRY_NUM_INIT );
155
- data [offset ++ ] = hr_reg_read (& context , QPC_RETRY_CNT );
156
- data [offset ++ ] = hr_reg_read (& context , QPC_SQ_CUR_PSN );
157
- data [offset ++ ] = hr_reg_read (& context , QPC_SQ_MAX_PSN );
158
- data [offset ++ ] = hr_reg_read (& context , QPC_SQ_FLUSH_IDX );
159
- data [offset ++ ] = hr_reg_read (& context , QPC_SQ_MAX_IDX );
160
- data [offset ++ ] = hr_reg_read (& context , QPC_SQ_TX_ERR );
161
- data [offset ++ ] = hr_reg_read (& context , QPC_SQ_RX_ERR );
162
- data [offset ++ ] = hr_reg_read (& context , QPC_RQ_RX_ERR );
163
- data [offset ++ ] = hr_reg_read (& context , QPC_RQ_TX_ERR );
164
- data [offset ++ ] = hr_reg_read (& context , QPC_RQ_CQE_IDX );
165
- data [offset ++ ] = hr_reg_read (& context , QPC_RQ_RTY_TX_ERR );
166
-
167
- ret = nla_put (msg , RDMA_NLDEV_ATTR_RES_RAW , offset * sizeof (u32 ), data );
110
+ ret = nla_put (msg , RDMA_NLDEV_ATTR_RES_RAW , sizeof (context ), & context );
168
111
169
112
return ret ;
170
113
}
@@ -204,8 +147,6 @@ int hns_roce_fill_res_mr_entry_raw(struct sk_buff *msg, struct ib_mr *ib_mr)
204
147
struct hns_roce_dev * hr_dev = to_hr_dev (ib_mr -> device );
205
148
struct hns_roce_mr * hr_mr = to_hr_mr (ib_mr );
206
149
struct hns_roce_v2_mpt_entry context ;
207
- u32 data [MAX_ENTRY_NUM ] = {};
208
- int offset = 0 ;
209
150
int ret ;
210
151
211
152
if (!hr_dev -> hw -> query_mpt )
@@ -215,17 +156,7 @@ int hns_roce_fill_res_mr_entry_raw(struct sk_buff *msg, struct ib_mr *ib_mr)
215
156
if (ret )
216
157
return - EINVAL ;
217
158
218
- data [offset ++ ] = hr_reg_read (& context , MPT_ST );
219
- data [offset ++ ] = hr_reg_read (& context , MPT_PD );
220
- data [offset ++ ] = hr_reg_read (& context , MPT_LKEY );
221
- data [offset ++ ] = hr_reg_read (& context , MPT_LEN_L );
222
- data [offset ++ ] = hr_reg_read (& context , MPT_LEN_H );
223
- data [offset ++ ] = hr_reg_read (& context , MPT_PBL_SIZE );
224
- data [offset ++ ] = hr_reg_read (& context , MPT_PBL_HOP_NUM );
225
- data [offset ++ ] = hr_reg_read (& context , MPT_PBL_BA_PG_SZ );
226
- data [offset ++ ] = hr_reg_read (& context , MPT_PBL_BUF_PG_SZ );
227
-
228
- ret = nla_put (msg , RDMA_NLDEV_ATTR_RES_RAW , offset * sizeof (u32 ), data );
159
+ ret = nla_put (msg , RDMA_NLDEV_ATTR_RES_RAW , sizeof (context ), & context );
229
160
230
161
return ret ;
231
162
}
0 commit comments