* [PATCH net 0/4] bnxt_en: Bug fixes.
@ 2018-12-09 12:00 Michael Chan
2018-12-09 12:00 ` [PATCH net 1/4] bnxt_en: Fix CNP CoS queue regression Michael Chan
` (4 more replies)
0 siblings, 5 replies; 22+ messages in thread
From: Michael Chan @ 2018-12-09 12:00 UTC (permalink / raw)
To: davem; +Cc: netdev
The first patch fixes a regression on CoS queue setup, introduced
recently by the 57500 new chip support patches. The rest are
fixes related to ring and resource accounting on the new 57500 chips.
Michael Chan (4):
bnxt_en: Fix CNP CoS queue regression.
bnxt_en: Keep track of reserved IRQs.
bnxt_en: Fix NQ/CP rings accounting on the new 57500 chips.
bnxt_en: Fix _bnxt_get_max_rings() for 57500 chips.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 60 +++++++++++++++++++++------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 2 +-
3 files changed, 50 insertions(+), 13 deletions(-)
--
2.5.1
^ permalink raw reply [flat|nested] 22+ messages in thread* [PATCH net 1/4] bnxt_en: Fix CNP CoS queue regression.
2018-12-09 12:00 [PATCH net 0/4] bnxt_en: Bug fixes Michael Chan
@ 2018-12-09 12:00 ` Michael Chan
2018-12-09 12:01 ` [PATCH net 2/4] bnxt_en: Keep track of reserved IRQs Michael Chan
` (3 subsequent siblings)
4 siblings, 0 replies; 22+ messages in thread
From: Michael Chan @ 2018-12-09 12:00 UTC (permalink / raw)
To: davem; +Cc: netdev
Recent changes to support the 57500 devices have created this
regression. The bnxt_hwrm_queue_qportcfg() call was moved to be
called earlier before the RDMA support was determined, causing
the CoS queues configuration to be set before knowing whether RDMA
was supported or not. Fix it by moving it to the right place right
after RDMA support is determined.
Fixes: 98f04cf0f1fc ("bnxt_en: Check context memory requirements from firmware.")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index d4c3001..0cf4cb9 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -6292,6 +6292,8 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
return rc;
}
+static int bnxt_hwrm_queue_qportcfg(struct bnxt *bp);
+
static int bnxt_hwrm_func_qcaps(struct bnxt *bp)
{
int rc;
@@ -6299,6 +6301,11 @@ static int bnxt_hwrm_func_qcaps(struct bnxt *bp)
rc = __bnxt_hwrm_func_qcaps(bp);
if (rc)
return rc;
+ rc = bnxt_hwrm_queue_qportcfg(bp);
+ if (rc) {
+ netdev_err(bp->dev, "hwrm query qportcfg failure rc: %d\n", rc);
+ return rc;
+ }
if (bp->hwrm_spec_code >= 0x10803) {
rc = bnxt_alloc_ctx_mem(bp);
if (rc)
--
2.5.1
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH net 2/4] bnxt_en: Keep track of reserved IRQs.
2018-12-09 12:00 [PATCH net 0/4] bnxt_en: Bug fixes Michael Chan
2018-12-09 12:00 ` [PATCH net 1/4] bnxt_en: Fix CNP CoS queue regression Michael Chan
@ 2018-12-09 12:01 ` Michael Chan
2018-12-09 12:01 ` [PATCH net 3/4] bnxt_en: Fix NQ/CP rings accounting on the new 57500 chips Michael Chan
` (2 subsequent siblings)
4 siblings, 0 replies; 22+ messages in thread
From: Michael Chan @ 2018-12-09 12:01 UTC (permalink / raw)
To: davem; +Cc: netdev
The new 57500 chips use 1 NQ per MSIX vector, whereas legacy chips use
1 CP ring per MSIX vector. To better unify this, add a resv_irqs
field to struct bnxt_hw_resc. On legacy chips, we initialize resv_irqs
with resv_cp_rings. On new chips, we initialize it with the allocated
MSIX resources.
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 ++++++--
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 2 +-
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 0cf4cb9..c39820b 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -5162,6 +5162,7 @@ static int bnxt_hwrm_get_rings(struct bnxt *bp)
cp = le16_to_cpu(resp->alloc_cmpl_rings);
stats = le16_to_cpu(resp->alloc_stat_ctx);
cp = min_t(u16, cp, stats);
+ hw_resc->resv_irqs = cp;
if (bp->flags & BNXT_FLAG_CHIP_P5) {
int rx = hw_resc->resv_rx_rings;
int tx = hw_resc->resv_tx_rings;
@@ -5175,7 +5176,7 @@ static int bnxt_hwrm_get_rings(struct bnxt *bp)
hw_resc->resv_rx_rings = rx;
hw_resc->resv_tx_rings = tx;
}
- cp = le16_to_cpu(resp->alloc_msix);
+ hw_resc->resv_irqs = le16_to_cpu(resp->alloc_msix);
hw_resc->resv_hw_ring_grps = rx;
}
hw_resc->resv_cp_rings = cp;
@@ -7055,7 +7056,9 @@ int bnxt_get_avail_msix(struct bnxt *bp, int num)
int total_req = bp->cp_nr_rings + num;
int max_idx, avail_msix;
- max_idx = min_t(int, bp->total_irqs, max_cp);
+ max_idx = bp->total_irqs;
+ if (!(bp->flags & BNXT_FLAG_CHIP_P5))
+ max_idx = min_t(int, bp->total_irqs, max_cp);
avail_msix = max_idx - bp->cp_nr_rings;
if (!BNXT_NEW_RM(bp) || avail_msix >= num)
return avail_msix;
@@ -7801,6 +7804,7 @@ static int bnxt_hwrm_if_change(struct bnxt *bp, bool up)
rc = bnxt_hwrm_func_resc_qcaps(bp, true);
hw_resc->resv_cp_rings = 0;
+ hw_resc->resv_irqs = 0;
hw_resc->resv_tx_rings = 0;
hw_resc->resv_rx_rings = 0;
hw_resc->resv_hw_ring_grps = 0;
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
index 9e99d4a..3030931 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
@@ -928,6 +928,7 @@ struct bnxt_hw_resc {
u16 min_stat_ctxs;
u16 max_stat_ctxs;
u16 max_irqs;
+ u16 resv_irqs;
};
#if defined(CONFIG_BNXT_SRIOV)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
index b59b382..0a3097b 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
@@ -168,7 +168,7 @@ static int bnxt_req_msix_vecs(struct bnxt_en_dev *edev, int ulp_id,
if (BNXT_NEW_RM(bp)) {
struct bnxt_hw_resc *hw_resc = &bp->hw_resc;
- avail_msix = hw_resc->resv_cp_rings - bp->cp_nr_rings;
+ avail_msix = hw_resc->resv_irqs - bp->cp_nr_rings;
edev->ulp_tbl[ulp_id].msix_requested = avail_msix;
}
bnxt_fill_msix_vecs(bp, ent);
--
2.5.1
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH net 3/4] bnxt_en: Fix NQ/CP rings accounting on the new 57500 chips.
2018-12-09 12:00 [PATCH net 0/4] bnxt_en: Bug fixes Michael Chan
2018-12-09 12:00 ` [PATCH net 1/4] bnxt_en: Fix CNP CoS queue regression Michael Chan
2018-12-09 12:01 ` [PATCH net 2/4] bnxt_en: Keep track of reserved IRQs Michael Chan
@ 2018-12-09 12:01 ` Michael Chan
2018-12-09 12:01 ` [PATCH net 4/4] bnxt_en: Fix _bnxt_get_max_rings() for " Michael Chan
2018-12-09 19:47 ` [PATCH net 0/4] bnxt_en: Bug fixes David Miller
4 siblings, 0 replies; 22+ messages in thread
From: Michael Chan @ 2018-12-09 12:01 UTC (permalink / raw)
To: davem; +Cc: netdev
The new 57500 chips have introduced the NQ structure in addition to
the existing CP rings in all chips. We need to introduce a new
bnxt_nq_rings_in_use(). On legacy chips, the 2 functions are the
same and one will just call the other. On the new chips, they
refer to the 2 separate ring structures. The new function is now
called to determine the resource (NQ or CP rings) associated with
MSIX that are in use.
On 57500 chips, the RDMA driver does not use the CP rings so
we don't need to do the subtraction adjustment.
Fixes: 41e8d7983752 ("bnxt_en: Modify the ring reservation functions for 57500 series chips.")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 29 +++++++++++++++++++++++------
1 file changed, 23 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index c39820b..2e90d98 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -5354,7 +5354,7 @@ static int bnxt_hwrm_reserve_rings(struct bnxt *bp, int tx, int rx, int grp,
return bnxt_hwrm_reserve_vf_rings(bp, tx, rx, grp, cp, vnic);
}
-static int bnxt_cp_rings_in_use(struct bnxt *bp)
+static int bnxt_nq_rings_in_use(struct bnxt *bp)
{
int cp = bp->cp_nr_rings;
int ulp_msix, ulp_base;
@@ -5369,10 +5369,22 @@ static int bnxt_cp_rings_in_use(struct bnxt *bp)
return cp;
}
+static int bnxt_cp_rings_in_use(struct bnxt *bp)
+{
+ int cp;
+
+ if (!(bp->flags & BNXT_FLAG_CHIP_P5))
+ return bnxt_nq_rings_in_use(bp);
+
+ cp = bp->tx_nr_rings + bp->rx_nr_rings;
+ return cp;
+}
+
static bool bnxt_need_reserve_rings(struct bnxt *bp)
{
struct bnxt_hw_resc *hw_resc = &bp->hw_resc;
int cp = bnxt_cp_rings_in_use(bp);
+ int nq = bnxt_nq_rings_in_use(bp);
int rx = bp->rx_nr_rings;
int vnic = 1, grp = rx;
@@ -5388,7 +5400,7 @@ static bool bnxt_need_reserve_rings(struct bnxt *bp)
rx <<= 1;
if (BNXT_NEW_RM(bp) &&
(hw_resc->resv_rx_rings != rx || hw_resc->resv_cp_rings != cp ||
- hw_resc->resv_vnics != vnic ||
+ hw_resc->resv_irqs < nq || hw_resc->resv_vnics != vnic ||
(hw_resc->resv_hw_ring_grps != grp &&
!(bp->flags & BNXT_FLAG_CHIP_P5))))
return true;
@@ -5398,7 +5410,7 @@ static bool bnxt_need_reserve_rings(struct bnxt *bp)
static int __bnxt_reserve_rings(struct bnxt *bp)
{
struct bnxt_hw_resc *hw_resc = &bp->hw_resc;
- int cp = bnxt_cp_rings_in_use(bp);
+ int cp = bnxt_nq_rings_in_use(bp);
int tx = bp->tx_nr_rings;
int rx = bp->rx_nr_rings;
int grp, rx_rings, rc;
@@ -5423,7 +5435,7 @@ static int __bnxt_reserve_rings(struct bnxt *bp)
tx = hw_resc->resv_tx_rings;
if (BNXT_NEW_RM(bp)) {
rx = hw_resc->resv_rx_rings;
- cp = hw_resc->resv_cp_rings;
+ cp = hw_resc->resv_irqs;
grp = hw_resc->resv_hw_ring_grps;
vnic = hw_resc->resv_vnics;
}
@@ -7034,7 +7046,12 @@ unsigned int bnxt_get_max_func_cp_rings(struct bnxt *bp)
unsigned int bnxt_get_max_func_cp_rings_for_en(struct bnxt *bp)
{
- return bp->hw_resc.max_cp_rings - bnxt_get_ulp_msix_num(bp);
+ unsigned int cp = bp->hw_resc.max_cp_rings;
+
+ if (!(bp->flags & BNXT_FLAG_CHIP_P5))
+ cp -= bnxt_get_ulp_msix_num(bp);
+
+ return cp;
}
static unsigned int bnxt_get_max_func_irqs(struct bnxt *bp)
@@ -7076,7 +7093,7 @@ static int bnxt_get_num_msix(struct bnxt *bp)
if (!BNXT_NEW_RM(bp))
return bnxt_get_max_func_irqs(bp);
- return bnxt_cp_rings_in_use(bp);
+ return bnxt_nq_rings_in_use(bp);
}
static int bnxt_init_msix(struct bnxt *bp)
--
2.5.1
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH net 4/4] bnxt_en: Fix _bnxt_get_max_rings() for 57500 chips.
2018-12-09 12:00 [PATCH net 0/4] bnxt_en: Bug fixes Michael Chan
` (2 preceding siblings ...)
2018-12-09 12:01 ` [PATCH net 3/4] bnxt_en: Fix NQ/CP rings accounting on the new 57500 chips Michael Chan
@ 2018-12-09 12:01 ` Michael Chan
2018-12-09 19:47 ` [PATCH net 0/4] bnxt_en: Bug fixes David Miller
4 siblings, 0 replies; 22+ messages in thread
From: Michael Chan @ 2018-12-09 12:01 UTC (permalink / raw)
To: davem; +Cc: netdev
The CP rings are accounted differently on the new 57500 chips. There
must be enough CP rings for the sum of RX and TX rings on the new
chips. The current logic may be over-estimating the RX and TX rings.
The output parameter max_cp should be the maximum NQs capped by
MSIX vectors available for networking in the context of 57500 chips.
The existing code which uses CMPL rings capped by the MSIX vectors
works most of the time but is not always correct.
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 2e90d98..5d21c14 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -9827,13 +9827,16 @@ static void _bnxt_get_max_rings(struct bnxt *bp, int *max_rx, int *max_tx,
int *max_cp)
{
struct bnxt_hw_resc *hw_resc = &bp->hw_resc;
- int max_ring_grps = 0;
+ int max_ring_grps = 0, max_irq;
*max_tx = hw_resc->max_tx_rings;
*max_rx = hw_resc->max_rx_rings;
- *max_cp = min_t(int, bnxt_get_max_func_cp_rings_for_en(bp),
- hw_resc->max_irqs - bnxt_get_ulp_msix_num(bp));
- *max_cp = min_t(int, *max_cp, hw_resc->max_stat_ctxs);
+ *max_cp = bnxt_get_max_func_cp_rings_for_en(bp);
+ max_irq = min_t(int, bnxt_get_max_func_irqs(bp) -
+ bnxt_get_ulp_msix_num(bp),
+ bnxt_get_max_func_stat_ctxs(bp));
+ if (!(bp->flags & BNXT_FLAG_CHIP_P5))
+ *max_cp = min_t(int, *max_cp, max_irq);
max_ring_grps = hw_resc->max_hw_ring_grps;
if (BNXT_CHIP_TYPE_NITRO_A0(bp) && BNXT_PF(bp)) {
*max_cp -= 1;
@@ -9841,6 +9844,11 @@ static void _bnxt_get_max_rings(struct bnxt *bp, int *max_rx, int *max_tx,
}
if (bp->flags & BNXT_FLAG_AGG_RINGS)
*max_rx >>= 1;
+ if (bp->flags & BNXT_FLAG_CHIP_P5) {
+ bnxt_trim_rings(bp, max_rx, max_tx, *max_cp, false);
+ /* On P5 chips, max_cp output param should be available NQs */
+ *max_cp = max_irq;
+ }
*max_rx = min_t(int, *max_rx, max_ring_grps);
}
--
2.5.1
^ permalink raw reply related [flat|nested] 22+ messages in thread* Re: [PATCH net 0/4] bnxt_en: Bug fixes.
2018-12-09 12:00 [PATCH net 0/4] bnxt_en: Bug fixes Michael Chan
` (3 preceding siblings ...)
2018-12-09 12:01 ` [PATCH net 4/4] bnxt_en: Fix _bnxt_get_max_rings() for " Michael Chan
@ 2018-12-09 19:47 ` David Miller
4 siblings, 0 replies; 22+ messages in thread
From: David Miller @ 2018-12-09 19:47 UTC (permalink / raw)
To: michael.chan; +Cc: netdev
From: Michael Chan <michael.chan@broadcom.com>
Date: Sun, 9 Dec 2018 07:00:58 -0500
> The first patch fixes a regression on CoS queue setup, introduced
> recently by the 57500 new chip support patches. The rest are
> fixes related to ring and resource accounting on the new 57500 chips.
Series applied.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH net 0/4] bnxt_en: Bug fixes.
@ 2019-05-22 23:12 Michael Chan
2019-05-23 1:03 ` David Miller
0 siblings, 1 reply; 22+ messages in thread
From: Michael Chan @ 2019-05-22 23:12 UTC (permalink / raw)
To: davem; +Cc: netdev
There are 4 driver fixes in this series:
1. Fix RX buffer leak during OOM condition.
2. Call pci_disable_msix() under correct conditions to prevent hitting BUG.
3. Reduce unneeded mmeory allocation in kdump kernel to prevent OOM.
4. Don't read device serial number on VFs because it is not supported.
Please queue #1, #2, #3 for -stable as well. Thanks.
Michael Chan (3):
bnxt_en: Fix aggregation buffer leak under OOM condition.
bnxt_en: Fix possible BUG() condition when calling pci_disable_msix().
bnxt_en: Reduce memory usage when running in kdump kernel.
Vasundhara Volam (1):
bnxt_en: Device serial number is supported only for PFs.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 30 +++++++++++++----------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 6 +++--
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 2 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 2 +-
4 files changed, 23 insertions(+), 17 deletions(-)
--
2.5.1
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH net 0/4] bnxt_en: Bug fixes.
2019-05-22 23:12 Michael Chan
@ 2019-05-23 1:03 ` David Miller
0 siblings, 0 replies; 22+ messages in thread
From: David Miller @ 2019-05-23 1:03 UTC (permalink / raw)
To: michael.chan; +Cc: netdev
From: Michael Chan <michael.chan@broadcom.com>
Date: Wed, 22 May 2019 19:12:53 -0400
> There are 4 driver fixes in this series:
>
> 1. Fix RX buffer leak during OOM condition.
> 2. Call pci_disable_msix() under correct conditions to prevent hitting BUG.
> 3. Reduce unneeded mmeory allocation in kdump kernel to prevent OOM.
> 4. Don't read device serial number on VFs because it is not supported.
Series applied.
> Please queue #1, #2, #3 for -stable as well. Thanks.
Queued up, thank you.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH net 0/4] bnxt_en: Bug fixes.
@ 2020-02-02 7:41 Michael Chan
2020-02-03 23:22 ` Jakub Kicinski
0 siblings, 1 reply; 22+ messages in thread
From: Michael Chan @ 2020-02-02 7:41 UTC (permalink / raw)
To: davem; +Cc: netdev
3 patches that fix some issues in the firmware reset logic, starting
with a small patch to refactor the code that re-enables SRIOV. The
last patch fixes a TC queue mapping issue.
Michael Chan (3):
bnxt_en: Refactor logic to re-enable SRIOV after firmware reset
detected.
bnxt_en: Fix RDMA driver failure with SRIOV after firmware reset.
bnxt_en: Fix TC queue mapping.
Vasundhara Volam (1):
bnxt_en: Fix logic that disables Bus Master during firmware reset.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 37 ++++++++++++++++++++-----------
1 file changed, 24 insertions(+), 13 deletions(-)
--
2.5.1
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [PATCH net 0/4] bnxt_en: Bug fixes.
2020-02-02 7:41 Michael Chan
@ 2020-02-03 23:22 ` Jakub Kicinski
0 siblings, 0 replies; 22+ messages in thread
From: Jakub Kicinski @ 2020-02-03 23:22 UTC (permalink / raw)
To: Michael Chan; +Cc: davem, netdev
On Sun, 2 Feb 2020 02:41:34 -0500, Michael Chan wrote:
> 3 patches that fix some issues in the firmware reset logic, starting
> with a small patch to refactor the code that re-enables SRIOV. The
> last patch fixes a TC queue mapping issue.
>
> Michael Chan (3):
> bnxt_en: Refactor logic to re-enable SRIOV after firmware reset
> detected.
> bnxt_en: Fix RDMA driver failure with SRIOV after firmware reset.
> bnxt_en: Fix TC queue mapping.
>
> Vasundhara Volam (1):
> bnxt_en: Fix logic that disables Bus Master during firmware reset.
Applied and added to stable queued, thank you!
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH net 0/4] bnxt_en: Bug fixes.
@ 2020-06-14 23:57 Michael Chan
2020-06-15 20:29 ` David Miller
0 siblings, 1 reply; 22+ messages in thread
From: Michael Chan @ 2020-06-14 23:57 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba
Four fixes related to the bnxt_en driver's resume path, AER reset, and
the timer function.
Michael Chan (3):
bnxt_en: Simplify bnxt_resume().
bnxt_en: Re-enable SRIOV during resume.
bnxt_en: Fix AER reset logic on 57500 chips.
Vasundhara Volam (1):
bnxt_en: Return from timer if interface is not in open state.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 35 +++++++++++++++----------------
1 file changed, 17 insertions(+), 18 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH net 0/4] bnxt_en: Bug fixes.
@ 2020-06-23 23:01 Michael Chan
2020-06-23 23:45 ` Jakub Kicinski
2020-06-24 3:15 ` David Miller
0 siblings, 2 replies; 22+ messages in thread
From: Michael Chan @ 2020-06-23 23:01 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba
The first patch stores the firmware version code which is needed by the
next 2 patches to determine some worarounds based on the firmware version.
The workarounds are to disable legacy TX push mode and to clear the
hardware statistics during ifdown. The last patch checks that it is
a PF before reading the VPD.
Please also queue these for -stable. Thanks.
Michael Chan (3):
bnxt_en: Store the running firmware version code.
bnxt_en: Do not enable legacy TX push on older firmware.
bnxt_en: Fix statistics counters issue during ifdown with older
firmware.
Vasundhara Volam (1):
bnxt_en: Read VPD info only for PFs
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 36 +++++++++++++++++++++++++------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 5 +++++
2 files changed, 34 insertions(+), 7 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [PATCH net 0/4] bnxt_en: Bug fixes.
2020-06-23 23:01 Michael Chan
@ 2020-06-23 23:45 ` Jakub Kicinski
2020-06-24 3:15 ` David Miller
1 sibling, 0 replies; 22+ messages in thread
From: Jakub Kicinski @ 2020-06-23 23:45 UTC (permalink / raw)
To: Michael Chan; +Cc: davem, netdev
On Tue, 23 Jun 2020 19:01:34 -0400 Michael Chan wrote:
> The first patch stores the firmware version code which is needed by the
> next 2 patches to determine some worarounds based on the firmware version.
> The workarounds are to disable legacy TX push mode and to clear the
> hardware statistics during ifdown. The last patch checks that it is
> a PF before reading the VPD.
>
> Please also queue these for -stable. Thanks.
FWIW looks good to me:
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH net 0/4] bnxt_en: Bug fixes.
2020-06-23 23:01 Michael Chan
2020-06-23 23:45 ` Jakub Kicinski
@ 2020-06-24 3:15 ` David Miller
1 sibling, 0 replies; 22+ messages in thread
From: David Miller @ 2020-06-24 3:15 UTC (permalink / raw)
To: michael.chan; +Cc: netdev, kuba
From: Michael Chan <michael.chan@broadcom.com>
Date: Tue, 23 Jun 2020 19:01:34 -0400
> The first patch stores the firmware version code which is needed by the
> next 2 patches to determine some worarounds based on the firmware version.
> The workarounds are to disable legacy TX push mode and to clear the
> hardware statistics during ifdown. The last patch checks that it is
> a PF before reading the VPD.
Series applied.
> Please also queue these for -stable. Thanks.
Queued up, thanks.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH net 0/4] bnxt_en: Bug fixes.
@ 2020-11-16 0:27 Michael Chan
2020-11-17 1:44 ` Jakub Kicinski
0 siblings, 1 reply; 22+ messages in thread
From: Michael Chan @ 2020-11-16 0:27 UTC (permalink / raw)
To: kuba; +Cc: netdev, gospo
[-- Attachment #1: Type: text/plain, Size: 695 bytes --]
This first patch fixes a module eeprom A2h addressing issue. The next
2 patches fix counter related issues. The last one skips an
unsupported firmware call on the VF to avoid the error log.
Please queue the 1st 3 patches for -stable. Thanks.
Edwin Peer (1):
bnxt_en: read EEPROM A2h address using page 0
Michael Chan (2):
bnxt_en: Free port stats during firmware reset.
bnxt_en: Fix counter overflow logic.
Vasundhara Volam (1):
bnxt_en: Avoid unnecessary NVM_GET_DEV_INFO cmd error log on VFs.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 +++-
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 5 ++++-
2 files changed, 7 insertions(+), 2 deletions(-)
--
2.18.1
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4166 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH net 0/4] bnxt_en: Bug fixes.
2020-11-16 0:27 Michael Chan
@ 2020-11-17 1:44 ` Jakub Kicinski
0 siblings, 0 replies; 22+ messages in thread
From: Jakub Kicinski @ 2020-11-17 1:44 UTC (permalink / raw)
To: Michael Chan; +Cc: netdev, gospo
On Sun, 15 Nov 2020 19:27:48 -0500 Michael Chan wrote:
> This first patch fixes a module eeprom A2h addressing issue. The next
> 2 patches fix counter related issues. The last one skips an
> unsupported firmware call on the VF to avoid the error log.
>
> Please queue the 1st 3 patches for -stable. Thanks.
Applied, thanks!
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH net 0/4] bnxt_en: Bug fixes
@ 2022-08-22 15:06 Michael Chan
2022-08-23 3:04 ` Jakub Kicinski
2022-08-23 22:40 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 22+ messages in thread
From: Michael Chan @ 2022-08-22 15:06 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba, edumazet, pabeni, gospo
[-- Attachment #1: Type: text/plain, Size: 833 bytes --]
This series includes 2 fixes for regressions introduced by the XDP
multi-buffer feature, 1 devlink reload bug fix, and 1 SRIOV resource
accounting bug fix.
Pavan Chebbi (1):
bnxt_en: Use PAGE_SIZE to init buffer when multi buffer XDP is not in
use
Vikas Gupta (3):
bnxt_en: set missing reload flag in devlink features
bnxt_en: fix NQ resource accounting during vf creation on 57500 chips
bnxt_en: fix LRO/GRO_HW features in ndo_fix_features callback
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 5 +----
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 1 +
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 2 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 10 ++++++++--
5 files changed, 12 insertions(+), 7 deletions(-)
--
2.18.1
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [PATCH net 0/4] bnxt_en: Bug fixes
2022-08-22 15:06 Michael Chan
@ 2022-08-23 3:04 ` Jakub Kicinski
2022-08-23 22:40 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 22+ messages in thread
From: Jakub Kicinski @ 2022-08-23 3:04 UTC (permalink / raw)
To: Michael Chan; +Cc: davem, netdev, edumazet, pabeni, gospo
On Mon, 22 Aug 2022 11:06:50 -0400 Michael Chan wrote:
> This series includes 2 fixes for regressions introduced by the XDP
> multi-buffer feature, 1 devlink reload bug fix, and 1 SRIOV resource
> accounting bug fix.
Acked-by: Jakub Kicinski <kuba@kernel.org>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH net 0/4] bnxt_en: Bug fixes
2022-08-22 15:06 Michael Chan
2022-08-23 3:04 ` Jakub Kicinski
@ 2022-08-23 22:40 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 22+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-08-23 22:40 UTC (permalink / raw)
To: Michael Chan; +Cc: davem, netdev, kuba, edumazet, pabeni, gospo
Hello:
This series was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@kernel.org>:
On Mon, 22 Aug 2022 11:06:50 -0400 you wrote:
> This series includes 2 fixes for regressions introduced by the XDP
> multi-buffer feature, 1 devlink reload bug fix, and 1 SRIOV resource
> accounting bug fix.
>
> Pavan Chebbi (1):
> bnxt_en: Use PAGE_SIZE to init buffer when multi buffer XDP is not in
> use
>
> [...]
Here is the summary with links:
- [net,1/4] bnxt_en: Use PAGE_SIZE to init buffer when multi buffer XDP is not in use
https://git.kernel.org/netdev/net/c/7dd3de7cb1d6
- [net,2/4] bnxt_en: set missing reload flag in devlink features
https://git.kernel.org/netdev/net/c/574b2bb9692f
- [net,3/4] bnxt_en: fix NQ resource accounting during vf creation on 57500 chips
https://git.kernel.org/netdev/net/c/09a89cc59ad6
- [net,4/4] bnxt_en: fix LRO/GRO_HW features in ndo_fix_features callback
https://git.kernel.org/netdev/net/c/366c30474172
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH net 0/4] bnxt_en: Bug fixes
@ 2022-11-03 23:33 Michael Chan
2022-11-05 2:40 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 22+ messages in thread
From: Michael Chan @ 2022-11-03 23:33 UTC (permalink / raw)
To: davem; +Cc: netdev, kuba, edumazet, pabeni, gospo
[-- Attachment #1: Type: text/plain, Size: 706 bytes --]
This bug fix series includes fixes for PCIE AER, a crash that may occur
when doing ethtool -C in the middle of error recovery, and aRFS.
Alex Barba (1):
bnxt_en: fix potentially incorrect return value for ndo_rx_flow_steer
Michael Chan (1):
bnxt_en: Fix possible crash in bnxt_hwrm_set_coal()
Vikas Gupta (2):
bnxt_en: refactor bnxt_cancel_reservations()
bnxt_en: fix the handling of PCIE-AER
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 54 +++++++++++++++----
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
.../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 2 +-
.../net/ethernet/broadcom/bnxt/bnxt_hwrm.c | 3 +-
4 files changed, 49 insertions(+), 11 deletions(-)
--
2.18.1
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH net 0/4] bnxt_en: Bug fixes
2022-11-03 23:33 Michael Chan
@ 2022-11-05 2:40 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 22+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-11-05 2:40 UTC (permalink / raw)
To: Michael Chan; +Cc: davem, netdev, kuba, edumazet, pabeni, gospo
Hello:
This series was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@kernel.org>:
On Thu, 3 Nov 2022 19:33:23 -0400 you wrote:
> This bug fix series includes fixes for PCIE AER, a crash that may occur
> when doing ethtool -C in the middle of error recovery, and aRFS.
>
> Alex Barba (1):
> bnxt_en: fix potentially incorrect return value for ndo_rx_flow_steer
>
> Michael Chan (1):
> bnxt_en: Fix possible crash in bnxt_hwrm_set_coal()
>
> [...]
Here is the summary with links:
- [net,1/4] bnxt_en: refactor bnxt_cancel_reservations()
https://git.kernel.org/netdev/net/c/b4c66425771d
- [net,2/4] bnxt_en: fix the handling of PCIE-AER
https://git.kernel.org/netdev/net/c/0cf736a18a1e
- [net,3/4] bnxt_en: Fix possible crash in bnxt_hwrm_set_coal()
https://git.kernel.org/netdev/net/c/6d81ea3765df
- [net,4/4] bnxt_en: fix potentially incorrect return value for ndo_rx_flow_steer
https://git.kernel.org/netdev/net/c/02597d39145b
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2022-11-05 2:40 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-09 12:00 [PATCH net 0/4] bnxt_en: Bug fixes Michael Chan
2018-12-09 12:00 ` [PATCH net 1/4] bnxt_en: Fix CNP CoS queue regression Michael Chan
2018-12-09 12:01 ` [PATCH net 2/4] bnxt_en: Keep track of reserved IRQs Michael Chan
2018-12-09 12:01 ` [PATCH net 3/4] bnxt_en: Fix NQ/CP rings accounting on the new 57500 chips Michael Chan
2018-12-09 12:01 ` [PATCH net 4/4] bnxt_en: Fix _bnxt_get_max_rings() for " Michael Chan
2018-12-09 19:47 ` [PATCH net 0/4] bnxt_en: Bug fixes David Miller
-- strict thread matches above, loose matches on Subject: below --
2019-05-22 23:12 Michael Chan
2019-05-23 1:03 ` David Miller
2020-02-02 7:41 Michael Chan
2020-02-03 23:22 ` Jakub Kicinski
2020-06-14 23:57 Michael Chan
2020-06-15 20:29 ` David Miller
2020-06-23 23:01 Michael Chan
2020-06-23 23:45 ` Jakub Kicinski
2020-06-24 3:15 ` David Miller
2020-11-16 0:27 Michael Chan
2020-11-17 1:44 ` Jakub Kicinski
2022-08-22 15:06 Michael Chan
2022-08-23 3:04 ` Jakub Kicinski
2022-08-23 22:40 ` patchwork-bot+netdevbpf
2022-11-03 23:33 Michael Chan
2022-11-05 2:40 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).