Re: [PATCH net-next RFC 7/7] bnxt_en: Add bnxt_en initial port params table and register it

2018-12-06 Thread Michael Chan
On Thu, Dec 6, 2018 at 2:37 AM Jakub Kicinski wrote: > > On Thu, 6 Dec 2018 00:57:05 -0800, Michael Chan wrote: > > On Wed, Dec 5, 2018 at 11:11 PM Jakub Kicinski wrote: > > > > > > On Wed, 5 Dec 2018 22:41:43 -0800, Michael Chan wrote: > > > > > &

Re: [PATCH net-next RFC 7/7] bnxt_en: Add bnxt_en initial port params table and register it

2018-12-06 Thread Michael Chan
On Wed, Dec 5, 2018 at 11:11 PM Jakub Kicinski wrote: > > On Wed, 5 Dec 2018 22:41:43 -0800, Michael Chan wrote: > > > > It will be in the BIOS only for a LOM, I think. For a NIC, it should > > be in the NIC's NVRAM. > > This is all vague. Could you please clea

Re: [PATCH net-next RFC 7/7] bnxt_en: Add bnxt_en initial port params table and register it

2018-12-05 Thread Michael Chan
On Wed, Dec 5, 2018 at 10:00 PM Jakub Kicinski wrote: > > On Wed, 5 Dec 2018 17:18:52 -0800, Michael Chan wrote: > > On Wed, Dec 5, 2018 at 4:42 PM Jakub Kicinski wrote: > > > On Wed, 5 Dec 2018 16:01:08 -0800, Michael Chan wrote: > > > > On Wed, Dec 5, 201

Re: [PATCH net-next RFC 7/7] bnxt_en: Add bnxt_en initial port params table and register it

2018-12-05 Thread Michael Chan
On Wed, Dec 5, 2018 at 4:42 PM Jakub Kicinski wrote: > > On Wed, 5 Dec 2018 16:01:08 -0800, Michael Chan wrote: > > On Wed, Dec 5, 2018 at 3:33 PM Jakub Kicinski > > wrote: > > > > > > On Wed, 5 Dec 2018 11:27:00 +0530, Vasundhara Volam wrote: > &

Re: [PATCH net-next RFC 7/7] bnxt_en: Add bnxt_en initial port params table and register it

2018-12-05 Thread Michael Chan
stry specification for the efficient handling of power > > consumption in desktop and mobile computers. > > > > Cc: Michael Chan > > Signed-off-by: Vasundhara Volam > > Why do we need a WoL as a devlink parameter (rather than ethtool -s)? I believe ethtool -s for

[PATCH net 2/6] bnxt_en: Fix rx_l4_csum_errors counter on 57500 devices.

2018-11-15 Thread Michael Chan
counters are contained in the NQ ring's structure, it makes more sense to count rx_l4_csum_errors in the NQ. Fixes: 50e3ab7836b5 ("bnxt_en: Allocate completion ring structures for 57500 series chips.") Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2

[PATCH net 0/6] bnxt_en: Bug fixes.

2018-11-15 Thread Michael Chan
Most of the bug fixes are related to the new 57500 chips, including some initialization and counter fixes, disabling RDMA support, and a workaround for occasional missing interrupts. The last patch from Vasundhara fixes the year/month parameters for firmware coredump. Michael Chan (5): bnxt_en

[PATCH net 4/6] bnxt_en: Workaround occasional TX timeout on 57500 A0.

2018-11-15 Thread Michael Chan
to read the context of the CP ring will flush out the NQ entry and MSIX. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 65 +++ drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 ++ 2 files changed, 68 insertions(+) diff --git a/drivers/net

[PATCH net 1/6] bnxt_en: Fix RSS context allocation.

2018-11-15 Thread Michael Chan
that too many RSS contexts are being reserved and causing resource shortage when enabling many VFs. Fix it by calling bnxt_hwrm_vnic_qcaps() earlier. Fixes: 41e8d7983752 ("bnxt_en: Modify the ring reservation functions for 57500 series chips.") Signed-off-by: Michael Chan --- drivers/ne

[PATCH net 3/6] bnxt_en: Disable RDMA support on the 57500 chips.

2018-11-15 Thread Michael Chan
There is no RDMA support on 57500 chips yet, so prevent bnxt_re from registering on these chips. There is intermittent failure if bnxt_re is allowed to register and proceed with RDMA operations. Fixes: 1ab968d2f1d6 ("bnxt_en: Add PCI ID for BCM57508 device.") Signed-off-by: Mi

[PATCH net 5/6] bnxt_en: Add software "missed_irqs" counter.

2018-11-15 Thread Michael Chan
To keep track of the number of times the workaround code for 57500 A0 has been triggered. This is a per NQ counter. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 1 + drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 + drivers/net/ethernet/broadcom

[PATCH net 6/6] bnxt_en: Fix filling time in bnxt_fill_coredump_record()

2018-11-15 Thread Michael Chan
From: Vasundhara Volam Fix the year and month offset while storing it in bnxt_fill_coredump_record(). Fixes: 6c5657d085ae ("bnxt_en: Add support for ethtool get dump.") Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_eth

Re: [PATCH net-next] bnxt_en: Copy and paste bug in extended tx_stats

2018-10-18 Thread Michael Chan
36e53349b60b ("bnxt_en: Add additional extended port statistics.") > Signed-off-by: Dan Carpenter Thanks. Luckily, we did not use sizeof(*bp->hw_tx_port_stats_ext) to allocate the memory, so there is no run-time issue. Acked-by: Michael Chan

[PATCH net-next 22/23] bnxt_en: Add new NAPI poll function for 57500 chips.

2018-10-14 Thread Michael Chan
. __bnxt_poll_cqs_done() is called to update or ARM the CP rings if budget has not been reached or not. If budget has been reached, the next bnxt_poll_p5() call will continue to poll from the CQ rings directly. Otherwise, the NQ will be ARMed for the next IRQ. Signed-off-by: Michael Chan --- drivers

[PATCH net-next 20/23] bnxt_en: Add coalescing setup for 57500 chips.

2018-10-14 Thread Michael Chan
parameter applies to the NQ on the new chips and a separate firmware call needs to be made to set it up. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 46 +++ 1 file changed, 46 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnxt

[PATCH net-next 17/23] bnxt_en: Increase RSS context array count and skip ring groups on 57500 chips.

2018-10-14 Thread Michael Chan
that the software ring group structure is still maintained in the driver to keep track of the rings associated with the vnic. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 30 +- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 +- 2 files

[PATCH net-next 23/23] bnxt_en: Add PCI ID for BCM57508 device.

2018-10-14 Thread Michael Chan
Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index f518119..de987cc 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c

[PATCH net-next 21/23] bnxt_en: Refactor bnxt_poll_work().

2018-10-14 Thread Michael Chan
had_work_done field to struct bnxt_cp_ring_info to indicate whether some work was performed on the CP ring. This is needed to better support the 57500 chips. We need to poll up to 2 separate CP rings before we update or ARM the CP rings on the 57500 chips. Signed-off-by: Michael Chan --- drivers

[PATCH net-next 16/23] bnxt_en: Allocate/Free CP rings for 57500 series chips.

2018-10-14 Thread Michael Chan
On the new 57500 chips, we allocate/free one CP ring for each RX ring or TX ring separately. Using separate CP rings for RX/TX is an improvement as TX events will no longer be stuck behind RX events. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 71

[PATCH net-next 03/23] bnxt_en: Add maximum extended request length fw message support.

2018-10-14 Thread Michael Chan
-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 34 --- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 + 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c

[PATCH net-next 04/23] bnxt_en: Update interrupt coalescing logic.

2018-10-14 Thread Michael Chan
with these parameters. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 107 -- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 39 ++- 2 files changed, 125 insertions(+), 21 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c

[PATCH net-next 01/23] bnxt_en: Update firmware interface spec. to 1.10.0.3.

2018-10-14 Thread Michael Chan
Among the new changes are trusted VF support, 200Gbps support, and new API to dump ring information on the new chips. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 6 +- drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 310 ++ 2 files

[PATCH net-next 19/23] bnxt_en: Use bnxt_cp_ring_info struct pointer as parameter for RX path.

2018-10-14 Thread Michael Chan
In the RX code path, we current use the bnxt_napi struct pointer to identify the associated RX/CP rings. Change it to use the struct bnxt_cp_ring_info pointer instead since there are now up to 2 CP rings per MSIX. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c

[PATCH net-next 09/23] bnxt_en: Add 57500 new chip ID and basic structures.

2018-10-14 Thread Michael Chan
for RX and TX. The same bnxt_cp_ring_info struct will be used for the NQ. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 48 --- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 55 +-- 2 files changed, 88 insertions

[PATCH net-next 13/23] bnxt_en: Allocate completion ring structures for 57500 series chips.

2018-10-14 Thread Michael Chan
CP rings per NAPI, we need to add a pointer in bnxt_cp_ring_info struct to point back to the bnxt_napi struct. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 64 +++ drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 ++ 2 files changed,

[PATCH net-next 14/23] bnxt_en: Add helper functions to get firmware CP ring ID.

2018-10-14 Thread Michael Chan
the MSIX. Use these helper functions at appropriate places to get the CP ring ID. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 67 ++- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c

[PATCH net-next 02/23] bnxt_en: Add additional extended port statistics.

2018-10-14 Thread Michael Chan
-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 30 +++- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 7 ++ drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 91 +-- 3 files changed, 121 insertions(+), 7 deletions(-) diff --git

[PATCH net-next 05/23] bnxt_en: Refactor bnxt_ring_struct.

2018-10-14 Thread Michael Chan
Move the DMA page table and vmem fields in bnxt_ring_struct to a new bnxt_ring_mem_info struct. This will allow context memory management for a new device to re-use some of the existing infrastructure. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 138

[PATCH net-next 18/23] bnxt_en: Add RSS support for 57500 chips.

2018-10-14 Thread Michael Chan
of RX rings. Each indirection table entry is also different on the new chip since ring groups are no longer used. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 113 -- 1 file changed, 109 insertions(+), 4 deletions(-) diff --git a/drivers

[PATCH net-next 07/23] bnxt_en: Check context memory requirements from firmware.

2018-10-14 Thread Michael Chan
are known before checking and allocating context memory. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 208 -- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 48 +++ 2 files changed, 248 insertions(+), 8 deletions(-) diff --git a/drivers

[PATCH net-next 08/23] bnxt_en: Configure context memory on new devices.

2018-10-14 Thread Michael Chan
Call firmware to configure the DMA addresses of all context memory pages on new devices requiring context memory. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 123 +- 1 file changed, 120 insertions(+), 3 deletions(-) diff --git

[PATCH net-next 00/23] bnxt_en: Add support for new 57500 chips.

2018-10-14 Thread Michael Chan
includes the usual firmware spec. update, some refactoring and restructuring, and adding the new code to add basic support for the new class of devices. Michael Chan (23): bnxt_en: Update firmware interface spec. to 1.10.0.3. bnxt_en: Add additional extended port statistics. bnxt_en: Add maximum

[PATCH net-next 15/23] bnxt_en: Modify bnxt_ring_alloc_send_msg() to support 57500 chips.

2018-10-14 Thread Michael Chan
Firmware ring allocation semantics are slightly different for most ring types on 57500 chips. Allocation/deallocation for NQ rings are also added for the new chips. A CP ring handle is also added so that from the NQ interrupt event, we can locate the CP ring. Signed-off-by: Michael Chan

[PATCH net-next 10/23] bnxt_en: Re-structure doorbells.

2018-10-14 Thread Michael Chan
and unify the old and new doorbells. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 164 +++--- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 65 +++-- drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 2 +- drivers/net/ethernet

[PATCH net-next 12/23] bnxt_en: Modify the ring reservation functions for 57500 series chips.

2018-10-14 Thread Michael Chan
rings. - RFS currently not supported. Also, RX AGG rings are only used for jumbo frames, so we need to unconditionally call bnxt_reserve_rings() in __bnxt_open_nic() to see if we need to reserve AGG rings in case MTU has changed. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt

[PATCH net-next 11/23] bnxt_en: Adjust MSIX and ring groups for 57500 series chips.

2018-10-14 Thread Michael Chan
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 --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 9

[PATCH net-next 06/23] bnxt_en: Add new flags to setup new page table PTE bits on newer devices.

2018-10-14 Thread Michael Chan
the pages tables as needed. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 17 +++-- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 8 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net

[PATCH net 2/4] bnxt_en: Fix enables field in HWRM_QUEUE_COS2BW_CFG request

2018-10-04 Thread Michael Chan
("bnxt_en: Add TC to hardware QoS queue mapping logic.") Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c

[PATCH net 1/4] bnxt_en: Fix VNIC reservations on the PF.

2018-10-04 Thread Michael Chan
as a result. Fixes: 674f50a5b026 ("bnxt_en: Implement new method to reserve rings.") Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/ne

[PATCH net 3/4] bnxt_en: free hwrm resources, if driver probe fails.

2018-10-04 Thread Michael Chan
river.") Signed-off-by: Venkat Duvvuru Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 2564a92..3718

[PATCH net 0/4] bnxt_en: Misc. bug fixes.

2018-10-04 Thread Michael Chan
4 small bug fixes related to setting firmware message enables bits, possible memory leak when probe fails, and ring accouting when RDMA driver is loaded. Please queue these for -stable as well. Thanks. Michael Chan (1): bnxt_en: Fix VNIC reservations on the PF. Vasundhara Volam (2

[PATCH net 4/4] bnxt_en: get the reduced max_irqs by the ones used by RDMA

2018-10-04 Thread Michael Chan
. Fixes: 30f529473ec9 ("bnxt_en: Do not modify max IRQ count after RDMA driver requests/frees IRQs.") Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/ne

Re: [PATCH net 01/11] netpoll: do not test NAPI_STATE_SCHED in poll_one_napi()

2018-09-27 Thread Michael Chan
ke ndo_poll_controller() optional") > Signed-off-by: Eric Dumazet > Tested-by: Song Liu > Cc: Michael Chan Reviewed-and-tested-by: Michael Chan

[PATCH net v2] bnxt_en: Fix TX timeout during netpoll.

2018-09-25 Thread Michael Chan
et. Also, the logic to ACK the completion ring in case it is almost filled with TX completions need to be adjusted to take care of the 0 budget case, as discussed with Eric Dumazet Reported-by: Song Liu Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 13 ++--

Re: [PATCH net RFT] bnxt_en: Fix TX timeout during netpoll.

2018-09-25 Thread Michael Chan
On Tue, Sep 25, 2018 at 7:25 PM Eric Dumazet wrote: > > On Tue, Sep 25, 2018 at 7:15 PM Michael Chan > wrote: > > > > On Tue, Sep 25, 2018 at 4:11 PM Michael Chan > > wrote: > > > > > > On Tue, Sep 25, 2018 at 3:15 PM Eric Dumazet > > >

Re: [PATCH net RFT] bnxt_en: Fix TX timeout during netpoll.

2018-09-25 Thread Michael Chan
On Tue, Sep 25, 2018 at 4:11 PM Michael Chan wrote: > > On Tue, Sep 25, 2018 at 3:15 PM Eric Dumazet wrote: > > > > > It seems bnx2 should have a similar issue ? > > > > Yes, I think so. The MSIX mode in bnx2 is also auto-masking, meaning > that MSIX wil

Re: [PATCH net RFT] bnxt_en: Fix TX timeout during netpoll.

2018-09-25 Thread Michael Chan
On Tue, Sep 25, 2018 at 3:15 PM Eric Dumazet wrote: > > It seems bnx2 should have a similar issue ? > Yes, I think so. The MSIX mode in bnx2 is also auto-masking, meaning that MSIX will only assert once after it is ARMed. If we return from ->poll() when budget of 0 is reached without ARMing,

[PATCH net RFT] bnxt_en: Fix TX timeout during netpoll.

2018-09-25 Thread Michael Chan
Reported-by: Song Liu Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 61957b0..c981b53 100644 --- a/dr

Re: [PATCH net 00/15] netpoll: avoid capture effects for NAPI drivers

2018-09-25 Thread Michael Chan
On Tue, Sep 25, 2018 at 11:25 AM Song Liu wrote: > > Hi Michael, > > This may not be related. But I am looking at this: > > bnxt_poll_work() { > > while (1) { > > if (rx_pkts == budget) > return > } > } > > With budget

Re: [PATCH net 00/15] netpoll: avoid capture effects for NAPI drivers

2018-09-25 Thread Michael Chan
On Tue, Sep 25, 2018 at 7:20 AM Eric Dumazet wrote: > > On Tue, Sep 25, 2018 at 7:02 AM Michael Chan > wrote: > > > > On Mon, Sep 24, 2018 at 2:18 PM Song Liu wrote: > > > > > > > > > > > > > On Sep 24, 2018, at 2:05 PM, Eric Dumazet

Re: [PATCH net 00/15] netpoll: avoid capture effects for NAPI drivers

2018-09-25 Thread Michael Chan
On Mon, Sep 24, 2018 at 2:18 PM Song Liu wrote: > > > > > On Sep 24, 2018, at 2:05 PM, Eric Dumazet wrote: > > > >> > >> Interesting, maybe a bnxt specific issue. > >> > >> It seems their model is to process TX/RX notification in the same queue, > >> they throw away RX events if budget == 0 > >>

[PATCH net] bnxt_en: Fix VF mac address regression.

2018-09-14 Thread Michael Chan
is locally generated by the VF. Fixes: 707e7e966026 ("bnxt_en: Always forward VF MAC address to the PF.") Reported-by: Seth Forshee Reported-by: Siwei Liu Signed-off-by: Michael Chan --- Please queue this for stable as well. Thanks. drivers/net/ethernet/broadcom/bnxt/bnxt.c

Re: [PATCH net 0/3] bnxt_en: Bug fixes.

2018-09-04 Thread Michael Chan
On Mon, Sep 3, 2018 at 10:50 PM, Michael Chan wrote: > On Mon, Sep 3, 2018 at 10:01 PM, David Miller wrote: >> >> From: Michael Chan >> Date: Mon, 3 Sep 2018 04:23:16 -0400 >> >> > This short series fixes resource related logic in the driver, mostly >>

Re: [PATCH net 0/3] bnxt_en: Bug fixes.

2018-09-03 Thread Michael Chan
On Mon, Sep 3, 2018 at 10:01 PM, David Miller wrote: > > From: Michael Chan > Date: Mon, 3 Sep 2018 04:23:16 -0400 > > > This short series fixes resource related logic in the driver, mostly > > affecting the RDMA driver under corner cases. > > Series applied, t

[PATCH net 1/3] bnxt_en: Fix firmware signaled resource change logic in open.

2018-09-03 Thread Michael Chan
to restart if a new set of default rings is successfully reserved. Fixes: 25e1acd6b92b ("bnxt_en: Notify firmware about IF state changes.") Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 13 ++--- 1 file changed, 10 insertions(+), 3 deletions(-)

[PATCH net 3/3] bnxt_en: Do not adjust max_cp_rings by the ones used by RDMA.

2018-09-03 Thread Michael Chan
cp rings is very small. To fix this in a clean way, we don't adjust max_cp_rings anymore. Instead, we add a helper bnxt_get_max_func_cp_rings_for_en() to get the reduced max_cp_rings when appropriate. Fixes: ec86f14ea506 ("bnxt_en: Add ULP calls to stop and restart IRQs.") Signed-of

[PATCH net 0/3] bnxt_en: Bug fixes.

2018-09-03 Thread Michael Chan
This short series fixes resource related logic in the driver, mostly affecting the RDMA driver under corner cases. Michael Chan (3): bnxt_en: Fix firmware signaled resource change logic in open. bnxt_en: Clean up unused functions. bnxt_en: Do not adjust max_cp_rings by the ones used by RDMA

[PATCH net 2/3] bnxt_en: Clean up unused functions.

2018-09-03 Thread Michael Chan
Remove unused bnxt_subtract_ulp_resources(). Change bnxt_get_max_func_irqs() to static since it is only locally used. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 - drivers/net/ethernet/broadcom/bnxt

Re: bnxt: card intermittently hanging and dropping link

2018-08-16 Thread Michael Chan
On Thu, Aug 16, 2018 at 2:09 AM, Daniel Axtens wrote: > Hi Michael, > >> The main issue is the TX timeout. >> . >> >>> [ 2682.911693] bnxt_en :3b:00.0 eth4: TX timeout detected, starting >>> reset task! >>> [ 2683.782496] bnxt_en :3b:00.0 eth4: Resp cmpl intr err msg: 0x51 >>> [

Re: bnxt: card intermittently hanging and dropping link

2018-08-16 Thread Michael Chan
On Wed, Aug 15, 2018 at 10:29 PM, Daniel Axtens wrote: > [ 2682.911295] [ cut here ] > [ 2682.911319] NETDEV WATCHDOG: eth4 (bnxt_en): transmit queue 0 timed out The main issue is the TX timeout. . > [ 2682.911693] bnxt_en :3b:00.0 eth4: TX timeout detected,

[PATCH net-next v2] bnxt_en: Fix strcpy() warnings in bnxt_ethtool.c

2018-08-10 Thread Michael Chan
quot;bnxt_en: Add support for ethtool get dump.") Reported-by: Dan Carpenter Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/b

Re: [PATCH net-next] bnxt_en: Fix strcpy() warnings in bnxt_ethtool.c

2018-08-10 Thread Michael Chan
On Fri, Aug 10, 2018 at 2:37 PM, David Miller wrote: > From: David Miller > Date: Fri, 10 Aug 2018 14:35:45 -0700 (PDT) > >> From: Michael Chan >> Date: Fri, 10 Aug 2018 17:02:12 -0400 >> >>> From: Vasundhara Volam >>> >>> This patc

[PATCH net-next] bnxt_en: Fix strcpy() warnings in bnxt_ethtool.c

2018-08-10 Thread Michael Chan
quot;bnxt_en: Add support for ethtool get dump.") Reported-by: Dan Carpenter Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/b

[PATCH net-next 02/13] bnxt_en: Adjust timer based on ethtool stats-block-usecs settings.

2018-08-05 Thread Michael Chan
to make everything consistent. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c index 3d40e49..1f626af 100644

[PATCH net-next 05/13] bnxt_en: Add new VF resource allocation strategy mode.

2018-08-05 Thread Michael Chan
Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 + drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 23 ++- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/drivers/ne

[PATCH net-next 04/13] bnxt_en: Add PHY retry logic.

2018-08-05 Thread Michael Chan
-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 31 ++- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 4 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom

[PATCH net-next 13/13] bnxt_en: Do not use the CNP CoS queue for networking traffic.

2018-08-05 Thread Michael Chan
sed for a TC. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 22 ++ drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h | 4 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/

[PATCH net-next 10/13] bnxt_en: Notify firmware about IF state changes.

2018-08-05 Thread Michael Chan
Use latest firmware API to notify firmware about IF state changes. Firmware has the option to clean up resources during IF down and to require the driver to reserve resources again during IF up. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 53

[PATCH net-next 06/13] bnxt_en: Update RSS setup and GRO-HW logic according to the latest spec.

2018-08-05 Thread Michael Chan
profile IDs, we check the IP_TYPE flag in TPA_START which is more straight forward than checking a list of profile IDs. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 ++- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 4 2 files changed, 6 insertions(+), 1

[PATCH net-next 07/13] bnxt_en: Add support for ethtool get dump.

2018-08-05 Thread Michael Chan
From: Vasundhara Volam Add support to collect live firmware coredump via ethtool. Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.h | 66 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 333

[PATCH net-next 03/13] bnxt_en: Add external loopback test to ethtool selftest.

2018-08-05 Thread Michael Chan
Add code to detect firmware support for external loopback and the extra test entry for external loopback. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 +++ drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 ++ drivers/net/ethernet/broadcom/bnxt

[PATCH net-next 01/13] bnxt_en: Update firmware interface version to 1.9.2.25.

2018-08-05 Thread Michael Chan
New interface has firmware core dump support, new extended port statistics, and IF state change notifications to the firmware. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.h |4 +- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c |8 +- drivers/net

[PATCH net-next 12/13] bnxt_en: Add DCBNL DSCP application protocol support.

2018-08-05 Thread Michael Chan
-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 + drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c | 83 ++- drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h | 6 ++ 3 files changed, 89 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet

[PATCH net-next 11/13] bnxt_en: Add hwmon sysfs support to read temperature

2018-08-05 Thread Michael Chan
From: Vasundhara Volam Export temperature sensor reading via hwmon sysfs. Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/Kconfig | 8 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 62 +++ drivers/net/ethernet

[PATCH net-next 00/13] bnxt_en: Updates for net-next.

2018-08-05 Thread Michael Chan
has been refined to make sure that the special RDMA Congestion Notification hardware CoS queue will not be used for networking traffic. Michael Chan (11): bnxt_en: Update firmware interface version to 1.9.2.25. bnxt_en: Adjust timer based on ethtool stats-block-usecs settings. bnxt_en: Add

[PATCH net-next 08/13] bnxt_en: Add BNXT_NEW_RM() macro.

2018-08-05 Thread Michael Chan
The BNXT_FLAG_NEW_RM flag is checked a lot in the code to determine if the new resource manager is in effect. Define a macro to perform this check. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 27 +++ drivers/net/ethernet/broadcom/bnxt

[PATCH net-next 09/13] bnxt_en: Move firmware related flags to a new fw_cap field in struct bnxt.

2018-08-05 Thread Michael Chan
The flags field is almost getting full. Move firmware capability flags to a new fw_cap field to better organize these firmware flags. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 12 ++-- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 13

[PATCH net 1/6] bnxt_en: Fix the vlan_tci exact match check.

2018-07-09 Thread Michael Chan
. Fixes: e85a9be93cf1 (bnxt_en: do not allow wildcard matches for L2 flows) Signed-off-by: Venkat Duvvuru Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c | 30 +--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/drivers/net

[PATCH net 6/6] bnxt_en: Fix for system hang if request_irq fails

2018-07-09 Thread Michael Chan
Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 11b21ad..4394c11 100644 --- a/drivers/net/ethernet/broadcom/b

[PATCH net 4/6] bnxt_en: Support clearing of the IFF_BROADCAST flag.

2018-07-09 Thread Michael Chan
Currently, the driver assumes IFF_BROADCAST is always set and always sets the broadcast filter. Modify the code to set or clear the broadcast filter according to the IFF_BROADCAST flag. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 9 +++-- 1 file changed, 7

[PATCH net 3/6] bnxt_en: Always set output parameters in bnxt_get_max_rings().

2018-07-09 Thread Michael Chan
odify bnxt_get_max_rings() to support shared or non shared rings.") Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/b

[PATCH net 0/6] bnxt_en: Bug fixes.

2018-07-09 Thread Michael Chan
These are bug fixes in error code paths, TC Flower VLAN TCI flow checking bug fix, proper filtering of Broadcast packets if IFF_BROADCAST is not set, and a bug fix in bnxt_get_max_rings() to return 0 ring parameters when the return value is -ENOMEM. Michael Chan (4): bnxt_en: Fix inconsistent

[PATCH net 5/6] bnxt_en: Do not modify max IRQ count after RDMA driver requests/frees IRQs.

2018-07-09 Thread Michael Chan
("bnxt_en: Add interface to support RDMA driver.") Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 - drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 2 -- 3 files changed, 1 insertion(+), 4 deletions(-)

[PATCH net 2/6] bnxt_en: Fix inconsistent BNXT_FLAG_AGG_RINGS logic.

2018-07-09 Thread Michael Chan
Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 176fc9f..5d95d78 100644 --- a/drivers/net/ethernet/broadcom/b

Re: [PATCH net-next 1/3] net: Add support to configure SR-IOV VF minimum and maximum queues.

2018-05-30 Thread Michael Chan
On Tue, May 29, 2018 at 11:33 PM, Jakub Kicinski wrote: > > At some points you (Broadcom) were working whole bunch of devlink > configuration options for the PCIe side of the ASIC. The number of > queues relates to things like number of allocated MSI-X vectors, which > if memory serves me was

Re: [PATCH net-next 1/3] net: Add support to configure SR-IOV VF minimum and maximum queues.

2018-05-30 Thread Michael Chan
On Tue, May 29, 2018 at 10:56 PM, Jakub Kicinski wrote: > On Tue, 29 May 2018 20:19:54 -0700, Michael Chan wrote: >> On Tue, May 29, 2018 at 1:46 PM, Samudrala, Sridhar wrote: >> > Isn't ndo_set_vf_xxx() considered a legacy interface and not planned to be >> > extended?

Re: [PATCH net-next 1/3] net: Add support to configure SR-IOV VF minimum and maximum queues.

2018-05-29 Thread Michael Chan
On Tue, May 29, 2018 at 1:46 PM, Samudrala, Sridhar wrote: > > Isn't ndo_set_vf_xxx() considered a legacy interface and not planned to be > extended? I didn't know about that. > Shouldn't we enable this via ethtool on the port representor netdev? > > We discussed about this. ethtool on the

[PATCH net-next 0/3] net: Add support to configure SR-IOV VF queues.

2018-05-29 Thread Michael Chan
t; command will subsequently be patched to support the new operation. v1: - Changed the meaning of the min parameters to be strictly the minimum guaranteed value, suggested by Jakub Kicinsky. - More complete implementation in the bnxt_en driver. Michael Chan (3): net: Add support to configure SR-IOV

[PATCH net-next 2/3] bnxt_en: Store min/max tx/rx rings for individual VFs.

2018-05-29 Thread Michael Chan
With new infrastructure to configure queues differently for each VF, we need to store the current min/max rx/tx rings and other resources for each VF. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 9 + drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c

[PATCH net-next 3/3] bnxt_en: Implement .ndo_set_vf_queues().

2018-05-29 Thread Michael Chan
Implement .ndo_set_vf_queues() on the PF driver to configure the queues parameters for individual VFs. This allows the admin. on the host to increase or decrease queues for individual VFs. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 1 + drivers/net

[PATCH net-next 1/3] net: Add support to configure SR-IOV VF minimum and maximum queues.

2018-05-29 Thread Michael Chan
have to go through IF down/up before the new queues will take effect. Up to the min values are guaranteed. Up to the max values are possible but not guaranteed. Signed-off-by: Michael Chan --- include/linux/if_link.h | 4 include/linux/netdevice.h| 6 ++ include/uapi/linux

Re: [PATCH net-next RFC 1/3] net: Add support to configure SR-IOV VF minimum and maximum queues.

2018-05-09 Thread Michael Chan
On Wed, May 9, 2018 at 6:10 PM, Jakub Kicinski <jakub.kicin...@netronome.com> wrote: > On Wed, 9 May 2018 17:22:50 -0700, Michael Chan wrote: >> On Wed, May 9, 2018 at 4:15 PM, Jakub Kicinski wrote: >> > On Wed, 9 May 2018 07:21:41 -0400, Michael Chan wrote: >> &g

Re: [PATCH net-next RFC 1/3] net: Add support to configure SR-IOV VF minimum and maximum queues.

2018-05-09 Thread Michael Chan
On Wed, May 9, 2018 at 4:15 PM, Jakub Kicinski <jakub.kicin...@netronome.com> wrote: > On Wed, 9 May 2018 07:21:41 -0400, Michael Chan wrote: >> VF Queue resources are always limited and there is currently no >> infrastructure to allow the admin. on the host to add or redu

[PATCH net-next RFC 2/3] bnxt_en: Store min/max tx/rx rings for individual VFs.

2018-05-09 Thread Michael Chan
With new infrastructure to configure queues differently for each VF, we need to store the current min/max rx/tx rings for each VF. Signed-off-by: Michael Chan <michael.c...@broadcom.com> --- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 5 + drivers/net/ethernet/broadco

[PATCH net-next RFC 3/3] bnxt_en: Implement .ndo_set_vf_queues().

2018-05-09 Thread Michael Chan
Implement .ndo_set_vf_queues() on the PF driver to configure the queues parameters for individual VFs. This allows the admin. on the host to increase or decrease queues for individual VFs. Signed-off-by: Michael Chan <michael.c...@broadcom.com> --- drivers/net/ethernet/broadcom/bnxt/

[PATCH net-next RFC 0/3] net: Add support to configure SR-IOV VF queues.

2018-05-09 Thread Michael Chan
t; command will subsequently be patched to support the new operation. Michael Chan (3): net: Add support to configure SR-IOV VF minimum and maximum queues. bnxt_en: Store min/max tx/rx rings for individual VFs. bnxt_en: Implement .ndo_set_vf_queues(). drivers/net/ethernet/broadcom/bnxt/bnxt.c

[PATCH net-next RFC 1/3] net: Add support to configure SR-IOV VF minimum and maximum queues.

2018-05-09 Thread Michael Chan
ethtool -L. Signed-off-by: Michael Chan <michael.c...@broadcom.com> --- include/linux/if_link.h | 4 include/linux/netdevice.h| 6 ++ include/uapi/linux/if_link.h | 9 + net/core/rtnetlink.c | 28 +--- 4 files changed, 44 insertions

[PATCH net-next 0/4] bnxt_en: Fixes for net-next.

2018-05-08 Thread Michael Chan
This series includes a bug fix for a regression in firmware message polling introduced recently on net-next. There are 3 additional minor fixes for unsupported link speed checking, VF MAC address handling, and setting PHY eeprom length. Michael Chan (3): bnxt_en: Fix firmware message delay

[PATCH net-next 1/4] bnxt_en: Fix firmware message delay loop regression.

2018-05-08 Thread Michael Chan
time. Fixes: 9751e8e71487 ("bnxt_en: reduce timeout on initial HWRM calls") Signed-off-by: Michael Chan <michael.c...@broadcom.com> --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 12 drivers/net/ethernet/broadcom/bnxt/bnxt.h | 7 +++ 2 files changed, 15 insertions

[PATCH net-next 4/4] bnxt_en: Always forward VF MAC address to the PF.

2018-05-08 Thread Michael Chan
be the PF assigned MAC address and so we need to make sure we approve it for this case. Signed-off-by: Michael Chan <michael.c...@broadcom.com> --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 3 ++- 2 files changed, 3 insertions

  1   2   3   4   5   6   7   8   9   10   >