mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-27 14:43:58 +08:00
bnxt_en: Adjust MSIX and ring groups for 57500 series chips.
Store the maximum MSIX capability in PCIe config. space earlier. When we call firmware to query capability, we need to compare the PCIe MSIX max count with the firmware count and use the smaller one as the MSIX count for 57500 (P5) chips. The new chips don't use ring groups. But previous chips do and the existing logic limits the available rings based on resource calculations including ring groups. Setting the max ring groups to the max rx rings will work on the new chips without changing the existing logic. Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
697197e5a1
commit
9c1fabdf42
@ -5677,6 +5677,13 @@ int bnxt_hwrm_func_resc_qcaps(struct bnxt *bp, bool all)
|
||||
hw_resc->min_stat_ctxs = le16_to_cpu(resp->min_stat_ctx);
|
||||
hw_resc->max_stat_ctxs = le16_to_cpu(resp->max_stat_ctx);
|
||||
|
||||
if (bp->flags & BNXT_FLAG_CHIP_P5) {
|
||||
u16 max_msix = le16_to_cpu(resp->max_msix);
|
||||
|
||||
hw_resc->max_irqs = min_t(u16, hw_resc->max_irqs, max_msix);
|
||||
hw_resc->max_hw_ring_grps = hw_resc->max_rx_rings;
|
||||
}
|
||||
|
||||
if (BNXT_PF(bp)) {
|
||||
struct bnxt_pf_info *pf = &bp->pf;
|
||||
|
||||
@ -9382,6 +9389,7 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
return -ENOMEM;
|
||||
|
||||
bp = netdev_priv(dev);
|
||||
bnxt_set_max_func_irqs(bp, max_irqs);
|
||||
|
||||
if (bnxt_vf_pciid(ent->driver_data))
|
||||
bp->flags |= BNXT_FLAG_VF;
|
||||
@ -9513,7 +9521,6 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
bnxt_set_rx_skb_mode(bp, false);
|
||||
bnxt_set_tpa_flags(bp);
|
||||
bnxt_set_ring_params(bp);
|
||||
bnxt_set_max_func_irqs(bp, max_irqs);
|
||||
rc = bnxt_set_dflt_rings(bp, true);
|
||||
if (rc) {
|
||||
netdev_err(bp->dev, "Not enough rings available.\n");
|
||||
|
Loading…
Reference in New Issue
Block a user