Commit 6154532f authored by Vasundhara Volam's avatar Vasundhara Volam Committed by David S. Miller

bnxt_en: Check new firmware capability to display extended stats.

Newer firmware now advertises the capability for extended stats
support.  Check the new capability in addition to the existing
version check.
Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 55e4398d
...@@ -3470,7 +3470,8 @@ static int bnxt_alloc_stats(struct bnxt *bp) ...@@ -3470,7 +3470,8 @@ static int bnxt_alloc_stats(struct bnxt *bp)
alloc_ext_stats: alloc_ext_stats:
/* Display extended statistics only if FW supports it */ /* Display extended statistics only if FW supports it */
if (bp->hwrm_spec_code < 0x10804 || bp->hwrm_spec_code == 0x10900) if (bp->hwrm_spec_code < 0x10804 || bp->hwrm_spec_code == 0x10900)
return 0; if (!(bp->fw_cap & BNXT_FW_CAP_EXT_STATS_SUPPORTED))
return 0;
if (bp->hw_rx_port_stats_ext) if (bp->hw_rx_port_stats_ext)
goto alloc_tx_ext_stats; goto alloc_tx_ext_stats;
...@@ -3485,7 +3486,8 @@ static int bnxt_alloc_stats(struct bnxt *bp) ...@@ -3485,7 +3486,8 @@ static int bnxt_alloc_stats(struct bnxt *bp)
if (bp->hw_tx_port_stats_ext) if (bp->hw_tx_port_stats_ext)
goto alloc_pcie_stats; goto alloc_pcie_stats;
if (bp->hwrm_spec_code >= 0x10902) { if (bp->hwrm_spec_code >= 0x10902 ||
(bp->fw_cap & BNXT_FW_CAP_EXT_STATS_SUPPORTED)) {
bp->hw_tx_port_stats_ext = bp->hw_tx_port_stats_ext =
dma_alloc_coherent(&pdev->dev, dma_alloc_coherent(&pdev->dev,
sizeof(struct tx_port_stats_ext), sizeof(struct tx_port_stats_ext),
...@@ -6526,6 +6528,8 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp) ...@@ -6526,6 +6528,8 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
bp->flags |= BNXT_FLAG_ROCEV2_CAP; bp->flags |= BNXT_FLAG_ROCEV2_CAP;
if (flags & FUNC_QCAPS_RESP_FLAGS_PCIE_STATS_SUPPORTED) if (flags & FUNC_QCAPS_RESP_FLAGS_PCIE_STATS_SUPPORTED)
bp->fw_cap |= BNXT_FW_CAP_PCIE_STATS_SUPPORTED; bp->fw_cap |= BNXT_FW_CAP_PCIE_STATS_SUPPORTED;
if (flags & FUNC_QCAPS_RESP_FLAGS_EXT_STATS_SUPPORTED)
bp->fw_cap |= BNXT_FW_CAP_EXT_STATS_SUPPORTED;
bp->tx_push_thresh = 0; bp->tx_push_thresh = 0;
if (flags & FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED) if (flags & FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED)
......
...@@ -1482,6 +1482,7 @@ struct bnxt { ...@@ -1482,6 +1482,7 @@ struct bnxt {
#define BNXT_FW_CAP_OVS_64BIT_HANDLE 0x00000400 #define BNXT_FW_CAP_OVS_64BIT_HANDLE 0x00000400
#define BNXT_FW_CAP_TRUSTED_VF 0x00000800 #define BNXT_FW_CAP_TRUSTED_VF 0x00000800
#define BNXT_FW_CAP_PCIE_STATS_SUPPORTED 0x00020000 #define BNXT_FW_CAP_PCIE_STATS_SUPPORTED 0x00020000
#define BNXT_FW_CAP_EXT_STATS_SUPPORTED 0x00040000
#define BNXT_NEW_RM(bp) ((bp)->fw_cap & BNXT_FW_CAP_NEW_RM) #define BNXT_NEW_RM(bp) ((bp)->fw_cap & BNXT_FW_CAP_NEW_RM)
u32 hwrm_spec_code; u32 hwrm_spec_code;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment