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

bnxt_en: Refactor bnxt_alloc_stats().

Reverse the condition of the large "if" block and return early.  This
will simplify the follow up patch to add PCIe statistics.
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 4a50ddc2
...@@ -3440,56 +3440,53 @@ static int bnxt_alloc_stats(struct bnxt *bp) ...@@ -3440,56 +3440,53 @@ static int bnxt_alloc_stats(struct bnxt *bp)
cpr->hw_stats_ctx_id = INVALID_STATS_CTX_ID; cpr->hw_stats_ctx_id = INVALID_STATS_CTX_ID;
} }
if (BNXT_PF(bp) && bp->chip_num != CHIP_NUM_58700) { if (BNXT_VF(bp) || bp->chip_num == CHIP_NUM_58700)
if (bp->hw_rx_port_stats) return 0;
goto alloc_ext_stats;
bp->hw_port_stats_size = sizeof(struct rx_port_stats) + if (bp->hw_rx_port_stats)
sizeof(struct tx_port_stats) + 1024; goto alloc_ext_stats;
bp->hw_rx_port_stats = bp->hw_port_stats_size = sizeof(struct rx_port_stats) +
dma_alloc_coherent(&pdev->dev, bp->hw_port_stats_size, sizeof(struct tx_port_stats) + 1024;
&bp->hw_rx_port_stats_map,
GFP_KERNEL); bp->hw_rx_port_stats =
if (!bp->hw_rx_port_stats) dma_alloc_coherent(&pdev->dev, bp->hw_port_stats_size,
return -ENOMEM; &bp->hw_rx_port_stats_map,
GFP_KERNEL);
if (!bp->hw_rx_port_stats)
return -ENOMEM;
bp->hw_tx_port_stats = (void *)(bp->hw_rx_port_stats + 1) + bp->hw_tx_port_stats = (void *)(bp->hw_rx_port_stats + 1) + 512;
512; bp->hw_tx_port_stats_map = bp->hw_rx_port_stats_map +
bp->hw_tx_port_stats_map = bp->hw_rx_port_stats_map + sizeof(struct rx_port_stats) + 512;
sizeof(struct rx_port_stats) + 512; bp->flags |= BNXT_FLAG_PORT_STATS;
bp->flags |= BNXT_FLAG_PORT_STATS;
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 || if (bp->hwrm_spec_code < 0x10804 || bp->hwrm_spec_code == 0x10900)
bp->hwrm_spec_code == 0x10900) return 0;
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;
bp->hw_rx_port_stats_ext = bp->hw_rx_port_stats_ext =
dma_alloc_coherent(&pdev->dev, dma_alloc_coherent(&pdev->dev, sizeof(struct rx_port_stats_ext),
sizeof(struct rx_port_stats_ext), &bp->hw_rx_port_stats_ext_map, GFP_KERNEL);
&bp->hw_rx_port_stats_ext_map, if (!bp->hw_rx_port_stats_ext)
GFP_KERNEL); return 0;
if (!bp->hw_rx_port_stats_ext)
return 0;
alloc_tx_ext_stats: alloc_tx_ext_stats:
if (bp->hw_tx_port_stats_ext) if (bp->hw_tx_port_stats_ext)
return 0; return 0;
if (bp->hwrm_spec_code >= 0x10902) { if (bp->hwrm_spec_code >= 0x10902) {
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),
&bp->hw_tx_port_stats_ext_map, &bp->hw_tx_port_stats_ext_map,
GFP_KERNEL); GFP_KERNEL);
}
bp->flags |= BNXT_FLAG_PORT_STATS_EXT;
} }
bp->flags |= BNXT_FLAG_PORT_STATS_EXT;
return 0; return 0;
} }
......
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