* [PATCH V3 for-next 1/3] RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series
2019-11-21 6:22 [PATCH V3 for-next 0/3] Broadcom's roce driver bug fixes Devesh Sharma
@ 2019-11-21 6:22 ` Devesh Sharma
2019-11-21 6:22 ` [PATCH V3 for-next 2/3] RDMA/bnxt_re: fix stat push into dma buffer on gen p5 devices Devesh Sharma
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Devesh Sharma @ 2019-11-21 6:22 UTC (permalink / raw)
To: dledford, jgg
Cc: linux-rdma, Luke Starrett, Naresh Kumar PBS, Selvin Xavier,
Devesh Sharma
From: Luke Starrett <luke.starrett@broadcom.com>
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 the end customer are not able to
use adaptors based on latest chip rev of Broadcom's Gen
P5 adaptors.
Making a change in chip-number validation check to honor
other chip-ids as well.
Fixes: ae8637e13185 ("RDMA/bnxt_re: Add chip context to identify 57500 series")
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>
---
drivers/infiniband/hw/bnxt_re/qplib_res.h | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/bnxt_re/qplib_res.h b/drivers/infiniband/hw/bnxt_re/qplib_res.h
index fbda11a..aaa76d7 100644
--- a/drivers/infiniband/hw/bnxt_re/qplib_res.h
+++ b/drivers/infiniband/hw/bnxt_re/qplib_res.h
@@ -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)
--
1.8.3.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH V3 for-next 2/3] RDMA/bnxt_re: fix stat push into dma buffer on gen p5 devices
2019-11-21 6:22 [PATCH V3 for-next 0/3] Broadcom's roce driver bug fixes Devesh Sharma
2019-11-21 6:22 ` [PATCH V3 for-next 1/3] RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series Devesh Sharma
@ 2019-11-21 6:22 ` Devesh Sharma
2019-11-21 6:22 ` [PATCH V3 for-next 3/3] RDMA/bnxt_re: fix sparse warnings Devesh Sharma
2019-11-22 20:23 ` [PATCH V3 for-next 0/3] Broadcom's roce driver bug fixes Jason Gunthorpe
3 siblings, 0 replies; 5+ messages in thread
From: Devesh Sharma @ 2019-11-21 6:22 UTC (permalink / raw)
To: dledford, jgg; +Cc: linux-rdma, Devesh Sharma
Due to recent advances in the firmware for Broadcom's
gen p5 series of adaptors the driver code to report
hardware counters has been broken w.r.t. roce devices.
Making a change to match the expectaion of newer firmware
version when stat dma buffer is created. The new firmware
command expects dma length to be specified during stat
dma buffer allocation.
Fixes: 2792b5b95ed5 ("bnxt_en: Update firmware interface spec. to 1.10.0.89")
Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com>
---
drivers/infiniband/hw/bnxt_re/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c
index d6785b8..a2ac88e 100644
--- a/drivers/infiniband/hw/bnxt_re/main.c
+++ b/drivers/infiniband/hw/bnxt_re/main.c
@@ -494,6 +494,7 @@ static int bnxt_re_net_stats_ctx_alloc(struct bnxt_re_dev *rdev,
bnxt_re_init_hwrm_hdr(rdev, (void *)&req, HWRM_STAT_CTX_ALLOC, -1, -1);
req.update_period_ms = cpu_to_le32(1000);
req.stats_dma_addr = cpu_to_le64(dma_map);
+ req.stats_dma_length = cpu_to_le16(sizeof(struct ctx_hw_stats_ext));
req.stat_ctx_flags = STAT_CTX_ALLOC_REQ_STAT_CTX_FLAGS_ROCE;
bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp,
sizeof(resp), DFLT_HWRM_CMD_TIMEOUT);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH V3 for-next 3/3] RDMA/bnxt_re: fix sparse warnings
2019-11-21 6:22 [PATCH V3 for-next 0/3] Broadcom's roce driver bug fixes Devesh Sharma
2019-11-21 6:22 ` [PATCH V3 for-next 1/3] RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series Devesh Sharma
2019-11-21 6:22 ` [PATCH V3 for-next 2/3] RDMA/bnxt_re: fix stat push into dma buffer on gen p5 devices Devesh Sharma
@ 2019-11-21 6:22 ` Devesh Sharma
2019-11-22 20:23 ` [PATCH V3 for-next 0/3] Broadcom's roce driver bug fixes Jason Gunthorpe
3 siblings, 0 replies; 5+ messages in thread
From: Devesh Sharma @ 2019-11-21 6:22 UTC (permalink / raw)
To: dledford, jgg; +Cc: linux-rdma, Devesh Sharma
Making a change to fix following sparse warnings
CHECK drivers/infiniband/hw/bnxt_re/main.c
drivers/infiniband/hw/bnxt_re/main.c:1274:18: warning: cast from restricted __le16
drivers/infiniband/hw/bnxt_re/main.c:1275:18: warning: cast from restricted __le16
drivers/infiniband/hw/bnxt_re/main.c:1276:18: warning: cast from restricted __le16
drivers/infiniband/hw/bnxt_re/main.c:1277:21: warning: restricted __le16 degrades to integer
Fixes: 2b827ea1926b ("RDMA/bnxt_re: Query HWRM Interface version from FW")
Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com>
---
drivers/infiniband/hw/bnxt_re/main.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c
index a2ac88e..e7e8a0f 100644
--- a/drivers/infiniband/hw/bnxt_re/main.c
+++ b/drivers/infiniband/hw/bnxt_re/main.c
@@ -1291,10 +1291,10 @@ static void bnxt_re_query_hwrm_intf_version(struct bnxt_re_dev *rdev)
return;
}
rdev->qplib_ctx.hwrm_intf_ver =
- (u64)resp.hwrm_intf_major << 48 |
- (u64)resp.hwrm_intf_minor << 32 |
- (u64)resp.hwrm_intf_build << 16 |
- resp.hwrm_intf_patch;
+ (u64)le16_to_cpu(resp.hwrm_intf_major) << 48 |
+ (u64)le16_to_cpu(resp.hwrm_intf_minor) << 32 |
+ (u64)le16_to_cpu(resp.hwrm_intf_build) << 16 |
+ le16_to_cpu(resp.hwrm_intf_patch);
}
static void bnxt_re_ib_unreg(struct bnxt_re_dev *rdev)
--
1.8.3.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH V3 for-next 0/3] Broadcom's roce driver bug fixes
2019-11-21 6:22 [PATCH V3 for-next 0/3] Broadcom's roce driver bug fixes Devesh Sharma
` (2 preceding siblings ...)
2019-11-21 6:22 ` [PATCH V3 for-next 3/3] RDMA/bnxt_re: fix sparse warnings Devesh Sharma
@ 2019-11-22 20:23 ` Jason Gunthorpe
3 siblings, 0 replies; 5+ messages in thread
From: Jason Gunthorpe @ 2019-11-22 20:23 UTC (permalink / raw)
To: Devesh Sharma; +Cc: dledford, linux-rdma
On Thu, Nov 21, 2019 at 01:22:20AM -0500, Devesh Sharma wrote:
> This submission for for-next branch contains 3 patches, first two
> patches are important urgent fixes for Gen P5 device. The first
> patch deals with device detection in device open. While second
> patch fixes hardware counters.
>
> The third patch fixes few sparse warnings from main.c.
>
> Devesh Sharma (2):
> RDMA/bnxt_re: fix stat push into dma buffer on gen p5 devices
> RDMA/bnxt_re: fix sparse warnings
>
> Luke Starrett (1):
> RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series
Applied to for-next, thanks
Jason
^ permalink raw reply [flat|nested] 5+ messages in thread