Blob Blame History Raw
From 2d7c483d8a855e01e7bf2d945ab8720a10262bab Mon Sep 17 00:00:00 2001
From: Luke Starrett <luke.starrett@broadcom.com>
Date: Tue, 26 Nov 2019 04:11:28 -0500
Subject: [PATCH 2/2] bnxt_re/lib: Recognize additional 5750x device ID's

BCM5750x family includes 57504 and 57502. Until recently the chip_num
register always conveyed 0x1750 (57508). Recent devices properly
reflect the SKU in the chip_num register. Update Phase5 checks to
reflect this.

Signed-off-by: Luke Starrett <luke.starrett@broadcom.com>
Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com>
---
 providers/bnxt_re/main.c | 6 ++++--
 providers/bnxt_re/main.h | 5 ++++-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/providers/bnxt_re/main.c b/providers/bnxt_re/main.c
index e290a07b..803eff79 100644
--- a/providers/bnxt_re/main.c
+++ b/providers/bnxt_re/main.c
@@ -75,7 +75,7 @@ static const struct verbs_match_ent cna_table[] = {
 	CNA(BROADCOM, 0x16EF),  /* BCM57416 NPAR */
 	CNA(BROADCOM, 0x16F0),  /* BCM58730 */
 	CNA(BROADCOM, 0x16F1),  /* BCM57452 */
-	CNA(BROADCOM, 0x1750),	/* BCM57500 */
+	CNA(BROADCOM, 0x1750),	/* BCM57508 */
 	CNA(BROADCOM, 0x1751),	/* BCM57504 */
 	CNA(BROADCOM, 0x1752),	/* BCM57502 */
 	CNA(BROADCOM, 0x1803),	/* BCM57508 NPAR */
@@ -118,7 +118,9 @@ static const struct verbs_context_ops bnxt_re_cntx_ops = {
 
 bool bnxt_re_is_chip_gen_p5(struct bnxt_re_chip_ctx *cctx)
 {
-	return cctx->chip_num == CHIP_NUM_57500;
+	return (cctx->chip_num == CHIP_NUM_57508 ||
+		cctx->chip_num == CHIP_NUM_57504 ||
+		cctx->chip_num == CHIP_NUM_57502);
 }
 
 /* Context Init functions */
diff --git a/providers/bnxt_re/main.h b/providers/bnxt_re/main.h
index be573496..368297e6 100644
--- a/providers/bnxt_re/main.h
+++ b/providers/bnxt_re/main.h
@@ -56,7 +56,10 @@
 
 #define BNXT_RE_UD_QP_HW_STALL	0x400000
 
-#define CHIP_NUM_57500		0x1750
+#define CHIP_NUM_57508		0x1750
+#define CHIP_NUM_57504		0x1751
+#define CHIP_NUM_57502		0x1752
+
 struct bnxt_re_chip_ctx {
 	__u16 chip_num;
 	__u8 chip_rev;
-- 
2.21.0