hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/infiniband/hw/bnxt_re/bnxt_re.h
....@@ -40,7 +40,6 @@
4040 #ifndef __BNXT_RE_H__
4141 #define __BNXT_RE_H__
4242 #define ROCE_DRV_MODULE_NAME "bnxt_re"
43
-#define ROCE_DRV_MODULE_VERSION "1.0.0"
4443
4544 #define BNXT_RE_DESC "Broadcom NetXtreme-C/E RoCE Driver"
4645 #define BNXT_RE_PAGE_SHIFT_4K (12)
....@@ -90,6 +89,15 @@
9089
9190 #define BNXT_RE_DEFAULT_ACK_DELAY 16
9291
92
+struct bnxt_re_ring_attr {
93
+ dma_addr_t *dma_arr;
94
+ int pages;
95
+ int type;
96
+ u32 depth;
97
+ u32 lrid; /* Logical ring id */
98
+ u8 mode;
99
+};
100
+
93101 struct bnxt_re_work {
94102 struct work_struct work;
95103 unsigned long event;
....@@ -105,17 +113,25 @@
105113 struct bnxt_re_qp *qp1_qp;
106114 };
107115
116
+#define BNXT_RE_MAX_GSI_SQP_ENTRIES 1024
117
+struct bnxt_re_gsi_context {
118
+ struct bnxt_re_qp *gsi_qp;
119
+ struct bnxt_re_qp *gsi_sqp;
120
+ struct bnxt_re_ah *gsi_sah;
121
+ struct bnxt_re_sqp_entries *sqp_tbl;
122
+};
123
+
108124 #define BNXT_RE_MIN_MSIX 2
109125 #define BNXT_RE_MAX_MSIX 9
110126 #define BNXT_RE_AEQ_IDX 0
111127 #define BNXT_RE_NQ_IDX 1
128
+#define BNXT_RE_GEN_P5_MAX_VF 64
112129
113130 struct bnxt_re_dev {
114131 struct ib_device ibdev;
115132 struct list_head list;
116133 unsigned long flags;
117134 #define BNXT_RE_FLAG_NETDEV_REGISTERED 0
118
-#define BNXT_RE_FLAG_IBDEV_REGISTERED 1
119135 #define BNXT_RE_FLAG_GOT_MSIX 2
120136 #define BNXT_RE_FLAG_HAVE_L2_REF 3
121137 #define BNXT_RE_FLAG_RCFW_CHANNEL_EN 4
....@@ -125,6 +141,7 @@
125141 #define BNXT_RE_FLAG_ISSUE_ROCE_STATS 29
126142 struct net_device *netdev;
127143 unsigned int version, major, minor;
144
+ struct bnxt_qplib_chip_ctx *chip_ctx;
128145 struct bnxt_en_dev *en_dev;
129146 struct bnxt_msix_entry msix_entries[BNXT_RE_MAX_MSIX];
130147 int num_msix;
....@@ -133,7 +150,7 @@
133150
134151 struct delayed_work worker;
135152 u8 cur_prio_map;
136
- u8 active_speed;
153
+ u16 active_speed;
137154 u8 active_width;
138155
139156 /* FP Notification Queue (CQ & SRQ) */
....@@ -159,15 +176,11 @@
159176 atomic_t srq_count;
160177 atomic_t mr_count;
161178 atomic_t mw_count;
162
- atomic_t sched_count;
163179 /* Max of 2 lossless traffic class supported per port */
164180 u16 cosq[2];
165181
166182 /* QP for for handling QP1 packets */
167
- u32 sqp_id;
168
- struct bnxt_re_qp *qp1_sqp;
169
- struct bnxt_re_ah *sqp_ah;
170
- struct bnxt_re_sqp_entries sqp_tbl[1024];
183
+ struct bnxt_re_gsi_context gsi_ctx;
171184 atomic_t nq_alloc_cnt;
172185 u32 is_virtfn;
173186 u32 num_vfs;