RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series
authorLuke Starrett <luke.starrett@broadcom.com>
Thu, 21 Nov 2019 06:22:21 +0000 (01:22 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Dec 2019 15:45:49 +0000 (16:45 +0100)
[ Upstream commit e284b159c6881c8bec9713daba2653268f4c4948 ]

In the first version of Gen P5 ASIC, chip-id was always set to 0x1750 for
all adaptor port configurations. This has been fixed in the new chip rev.

Due to this missing fix users are not able to use adaptors based on latest
chip rev of Broadcom's Gen P5 adaptors.

Fixes: ae8637e13185 ("RDMA/bnxt_re: Add chip context to identify 57500 series")
Link: https://lore.kernel.org/r/1574317343-23300-2-git-send-email-devesh.sharma@broadcom.com
Signed-off-by: Naresh Kumar PBS <nareshkumar.pbs@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Luke Starrett <luke.starrett@broadcom.com>
Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/bnxt_re/qplib_res.h

index fbda11a..aaa76d7 100644 (file)
@@ -186,7 +186,9 @@ struct bnxt_qplib_chip_ctx {
        u8      chip_metal;
 };
 
-#define CHIP_NUM_57500          0x1750
+#define CHIP_NUM_57508         0x1750
+#define CHIP_NUM_57504         0x1751
+#define CHIP_NUM_57502         0x1752
 
 struct bnxt_qplib_res {
        struct pci_dev                  *pdev;
@@ -203,7 +205,9 @@ struct bnxt_qplib_res {
 
 static inline bool bnxt_qplib_is_chip_gen_p5(struct bnxt_qplib_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);
 }
 
 static inline u8 bnxt_qplib_get_hwq_type(struct bnxt_qplib_res *res)