RDMA/bnxt_re: Fix stat push into dma buffer on gen p5 devices
authorDevesh Sharma <devesh.sharma@broadcom.com>
Thu, 21 Nov 2019 06:22:22 +0000 (01:22 -0500)
committerJason Gunthorpe <jgg@mellanox.com>
Mon, 25 Nov 2019 14:31:47 +0000 (10:31 -0400)
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.

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.")
Link: https://lore.kernel.org/r/1574317343-23300-3-git-send-email-devesh.sharma@broadcom.com
Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/bnxt_re/main.c

index d6785b8339d2ae508bdc149fcf82b5b9f3e492df..a2ac88e01a991e806b593bf631c28d33744d8fab 100644 (file)
@@ -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);