Browse Source

[golan] Set log_max_qp to 1

This is required to work around a bug in some firmware versions.

Signed-off-by: Ameer Mahagneh <ameerm@mellanox.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Ameer Mahagneh 6 years ago
parent
commit
d5d4bf8870
2 changed files with 3 additions and 4 deletions
  1. 2
    3
      src/drivers/infiniband/CIB_PRM.h
  2. 1
    1
      src/drivers/infiniband/golan.c

+ 2
- 3
src/drivers/infiniband/CIB_PRM.h View File

@@ -33,7 +33,7 @@ typedef uint16_t		__be16;
33 33
 
34 34
 #define GOLAN_PCI_CMD_XPORT			7
35 35
 #define CMD_OWNER_HW				0x1
36
-
36
+#define GOLAN_LOG_MAX_QP			0x1
37 37
 #define IB_NUM_PKEYS		0x20
38 38
 
39 39
 struct health_buffer {
@@ -229,8 +229,7 @@ struct golan_hca_cap {
229 229
 	u8		rsvd1[16];
230 230
 	u8		log_max_srq_sz;
231 231
 	u8		log_max_qp_sz;
232
-	u8		rsvd2;
233
-	u8		log_max_qp;
232
+	__be16		log_max_qp;
234 233
 	u8		log_max_strq_sz;
235 234
 	u8		log_max_srqs;
236 235
 	u8		rsvd4[2];

+ 1
- 1
src/drivers/infiniband/golan.c View File

@@ -363,7 +363,7 @@ static inline int golan_set_hca_cap(struct golan *golan)
363 363
 	DBGC( golan , "%s caps.log_pg_sz = %d\n", __FUNCTION__, golan->caps.log_pg_sz);
364 364
 	DBGC( golan , "%s caps.log_uar_sz = %d\n", __FUNCTION__, be32_to_cpu(golan->caps.uar_page_sz));
365 365
 	golan->caps.uar_page_sz = 0;
366
-
366
+	golan->caps.log_max_qp = GOLAN_LOG_MAX_QP;
367 367
 
368 368
 	memcpy(((struct golan_hca_cap *)GET_INBOX(golan, GEN_MBOX)),
369 369
 		   &(golan->caps),

Loading…
Cancel
Save