Commit ae10ae740ad2 ("bnxt_en: Add new hardware RFS mode.") has added
code to allow NTUPLE to be enabled on VFs. So we now remove the
BNXT_VF() check in rfs_capable() to allow NTUPLE on VFs.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +-
1 file
Add proper puctuation to make the message more clear.
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/net/ethernet/broadcom/bnxt/bnxt.c
index
Kshitij Soni (1):
bnxt_en: Retry failed NVM_INSTALL_UPDATE with defragmentation flag.
Michael Chan (7):
bnxt_en: Update to firmware interface spec 1.7.0.
bnxt_en: Fix ethtool -l pre-set max combined channel.
bnxt_en: Allow NETIF_F_NTUPLE to be enabled on VFs.
bnxt_en: Add hardware NTUPLE
To support XDP_TX, we need the RX buffer's DMA address to transmit the
packet. Convert the DMA address field to a permanent field in
bnxt_sw_rx_bd.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 21 +
drivers/net/ethernet/broadcom/bnxt/b
Convert the global constants BNXT_RX_OFFSET and BNXT_RX_DMA_OFFSET to
device parameters. This will make it easier to support XDP with
headroom support which requires different RX buffer offsets.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 15
trace_xdp_exception().
Add dma_sync.
Signed-off-by: Michael Chan
Tested-by: Andy Gospodarek
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 36 ++--
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 19 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 83 +++
drivers
This mode is to support XDP. In this mode, each rx ring is configured
with page sized buffers for linear placement of each packet. MTU will be
restricted to what the page sized buffers can support.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 135
XDP_TX requires a different function to handle completion. Add a
function pointer to handle tx completion logic. Regular TX rings
will be assigned the current bnxt_tx_int() for the ->tx_int()
function pointer.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c
can retrieve the netdev txq when handling TX completions.
In this patch, before we introduce XDP_TX, the mapping is 1:1.
v2: Fixed a bug in bnxt_tx_int().
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 15 ---
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 ++
ring checking logic in bnxt_setup_msix() can be removed.
The rings have been reserved before hand.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 68 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 +-
drivers/net/ethernet
.
Added XDP headroom support.
Signed-off-by: Michael Chan
Tested-by: Andy Gospodarek
---
drivers/net/ethernet/broadcom/bnxt/Makefile | 2 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 36 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 9 +-
drivers/net/ethernet/broadcom/bnxt
bp->tx_nr_rings_xdp.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 21 +
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 16
3 files changed, 27 insertions(+), 13 del
: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 30 +++---
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 +++
2 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
.
- Added XDP headroom support.
- Added tracing in exception path.
- Clarified a parameter change.
Michael Chan (12):
bnxt_en: Refactor rx SKB function.
bnxt_en: Don't use DEFINE_DMA_UNMAP_ADDR to store DMA address in RX
path.
bnxt_en: Add bp->rx_dir fiel
Changed the name of the last parameter to offset_and_len to make the
code more clear.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 49 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 11 +--
2 files changed, 44 insertions(+), 1
When driver is running in XDP mode, rx buffers are DMA mapped as
DMA_BIDIRECTIONAL. Add a field so the code will map/unmap rx buffers
according to this field.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 27 ---
drivers/net/ethernet
On Fri, Feb 3, 2017 at 4:33 PM, Jakub Kicinski wrote:
> On Fri, 03 Feb 2017 16:50:54 -0500 (EST), David Miller wrote:
>> We don't set precedence by one driver saying "hey it's better to do
>> things this way, forget what all the other drivers are doing." Rather
>> we have a "discussion" about wha
On Fri, Feb 3, 2017 at 12:49 PM, David Miller wrote:
>
> Please _DO NOT_ guard XDP support with an ifdef the user
> can modify.
>
> Treat it like any other common netdev feature a driver might
> support such as checksum offloading or GRO.
>
David, I want to make sure I understand completely. Are
On Thu, Feb 2, 2017 at 4:22 PM, Jakub Kicinski wrote:
> On Thu, 2 Feb 2017 15:40:19 -0800, Michael Chan wrote:
>> On Thu, Feb 2, 2017 at 2:56 PM, Jakub Kicinski wrote:
>> > (b) why
>> > do you encode the two parameters in a single u32? It's the seventh
>>
On Thu, Feb 2, 2017 at 2:56 PM, Jakub Kicinski wrote:
> On Thu, 2 Feb 2017 11:55:29 -0500, Michael Chan wrote:
>> @@ -755,8 +757,8 @@ static void bnxt_reuse_rx_agg_bufs(struct bnxt_napi
>> *bnapi, u16 cp_cons,
>>
>> static struct sk_buff *
On Thu, Feb 2, 2017 at 9:18 AM, Mintz, Yuval wrote:
>> +config BNXT_XDP
>> + bool "Xpress Data Path (XDP) driver support"
>> + default n
>> + depends on BNXT && BPF
>> + ---help---
>> + Say Y here if you want to enable XDP in the driver to support
>> + eBPF programs in
r 16 bit.
The offset is needed to support the rx page mode and is not used in
this existing function.
v2: Changed the name of the last parameter to offset_and_len to make the
code more clear.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnx
uncovering some bugs.
v2: Addressed review comments from Alexei Starovoitov, Jakub Kicinski,
and David Miller:
- Added missing dma syncs.
- Added XDP headroom support.
- Added tracing in exception path.
- Clarified a parameter change.
Michael Chan (12):
bnxt_en: Refactor
To support XDP_TX, we need the RX buffer's DMA address to transmit the
packet. Convert the DMA address field to a permanent field in
bnxt_sw_rx_bd.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 21 +
drivers/net/ethernet/broadcom/bnxt/b
uct bnxt_sw_tx_bd. XDP TX rings will use the struct page
pointer.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 5 -
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 10 +-
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ether
: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 28 +---
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 +++
2 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
Convert the global constants BNXT_RX_OFFSET and BNXT_RX_DMA_OFFSET to
device parameters. This will make it easier to support XDP with
headroom support which requires different RX buffer offsets.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 15
can retrieve the netdev txq when handling TX completions.
In this patch, before we introduce XDP_TX, the mapping is 1:1.
v2: Fixed a bug in bnxt_tx_int().
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 15 ---
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 ++
: Michael Chan
Tested-by: Andy Gospodarek
---
drivers/net/ethernet/broadcom/Kconfig | 8 ++
drivers/net/ethernet/broadcom/bnxt/Makefile | 2 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 33 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 9 +-
drivers/net/ethernet
This mode is to support XDP. In this mode, each rx ring is configured
with page sized buffers for linear placement of each packet. MTU will be
restricted to what the page sized buffers can support.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 133
Add dedicated transmit function and transmit completion handler for
XDP which are a lot simpler than the original functions for SKB.
v2: Add trace_xdp_exception().
Add dma_sync.
Signed-off-by: Michael Chan
Tested-by: Andy Gospodarek
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 35
ring checking logic in bnxt_setup_msix() can be removed.
The rings have been reserved before hand.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 68 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 +-
drivers/net/ethernet
bp->tx_nr_rings_xdp.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 21 +
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 16
3 files changed, 27 insertions(+), 13 del
When driver is running in XDP mode, rx buffers are DMA mapped as
DMA_BIDIRECTIONAL. Add a field so the code will map/unmap rx buffers
according to this field.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 27 ---
drivers/net/ethernet
On Mon, Jan 30, 2017 at 9:13 PM, Jakub Kicinski wrote:
> On Mon, 30 Jan 2017 20:47:47 -0800, Alexei Starovoitov wrote:
>> On Mon, Jan 30, 2017 at 08:49:25PM -0500, Michael Chan wrote:
>> > The first 8 patches refactor the code (rx/tx code paths and ring logic)
>
On Mon, Jan 30, 2017 at 9:04 PM, Jakub Kicinski wrote:
>
>
>> + if (netif_running(dev))
>> + bnxt_close_nic(bp, true, false);
>> +
>> + old = xchg(&bp->xdp_prog, prog);
>> + if (old)
>> + bpf_prog_put(old);
>> +
>> + if (prog) {
>> + bnxt_set_rx_
On Mon, Jan 30, 2017 at 9:27 PM, Jakub Kicinski wrote:
> On Mon, 30 Jan 2017 20:49:35 -0500, Michael Chan wrote:
>> +static int bnxt_xmit_xdp(struct bnxt *bp, struct bnxt_napi *bnapi,
>> + struct page *page, dma_addr_t mapping, u32 offset,
>> +
uct bnxt_sw_tx_bd. XDP TX rings will use the struct page
pointer.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 5 -
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 10 +-
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ether
bp->tx_nr_rings_xdp.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 17 ++---
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 16
3 files changed, 24 insertions(+), 12 del
ket data in the
bnxt_sw_rx_bd structure. The original data field is changed to void
pointer so that it can either hold the kmalloc'ed data or a page
pointer.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 42 ++-
drivers/net/ethernet/
: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 28 +---
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 +++
2 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
Add dedicated transmit function and transmit completion handler for
XDP which are a lot simpler than the original functions for SKB.
Signed-off-by: Michael Chan
Tested-by: Andy Gospodarek
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 34 +-
drivers/net/ethernet/broadcom/bnxt
-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 11 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index cb30
Add basic ndo_xdp support to setup and query program, configure the NIC
to run in rx page mode, and support XDP_PASS, XDP_DROP, XDP_ABORTED
actions only. Use Kconfig option to enable XDP support.
Signed-off-by: Michael Chan
Tested-by: Andy Gospodarek
---
drivers/net/ethernet/broadcom/Kconfig
This mode is to support XDP. In this mode, each rx ring is configured with
page sized buffers for linear placement of each packet. MTU will be
restricted to what the page sized buffers can support.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 121
ring checking logic in bnxt_setup_msix() can be removed.
The rings have been reserved before hand.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 68 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 +-
drivers/net/ethernet
The first 8 patches refactor the code (rx/tx code paths and ring logic)
and add the basic infrastructure to support XDP. The 9th patch adds
basic ndo_xdp to support XDP_DROP and XDP_PASS only. The 10th patch
completes the series with XDP_TX.
Michael Chan (10):
bnxt_en: Refactor rx SKB
When driver is running in XDP mode, rx buffers are DMA mapped as
DMA_BIDIRECTIONAL. Add a field so the code will map/unmap rx buffers
according to this field.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 22 ++
drivers/net/ethernet/broadcom
BNXT_STATE_IN_SP_TASK must be the
last functions to be called in bnxt_sp_task(). The common scheme will
handle the condition properly.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 38 ---
1 file changed, 25 insertions(+), 13 deletions(-)
diff
bnxt_sp_task() which does not automatically
take RTNL, we add a common scheme for bnxt_sp_task() to call these
functions properly under RTNL.
Michael Chan (3):
bnxt_en: Fix bnxt_reset() in the slow path task.
bnxt_en: Fix RTNL lock usage on bnxt_update_link().
bnxt_en: Fix RTNL lock usage on
bnxt_get_port_module_status() calls bnxt_update_link() which expects
RTNL to be held. In bnxt_sp_task() that does not hold RTNL, we need to
call it with a prior call to bnxt_rtnl_lock_sp() and the call needs to
be moved to the end of bnxt_sp_task().
Signed-off-by: Michael Chan
---
drivers/net
caller to always hold RTNL.
In bnxt_sp_task(), call bnxt_rtnl_lock_sp() before calling
bnxt_update_link(). We also need to move the call to the end of
bnxt_sp_task() since it will be clearing the BNXT_STATE_IN_SP_TASK bit.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c
Gospodarek
Acked-by: Andy Gospodarek
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/net/ethernet/broadcom/bnxt/bnxt.c
index 9608cb4..53e686f 100644
Add LED blinking code to support ethtool -p on the PF.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 40 +
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 17 +
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 44
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 261 +++---
1 file changed, 237 insertions(+), 24 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h
b/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h
index d0d49ed..5df32ab
Miscellaneous updates including firmware spec update, ethtool -p blinking
LED support, RDMA SRIOV config callback, and minor fixes.
v2: Dropped the DCBX RoCE app TLV patch until the ETH_P_IBOE RDMA patch
is merged.
Michael Chan (5):
bnxt_en: Fix compiler warnings when CONFIG_RFS_ACCEL is not
Commit bdbd1eb59c56 ("bnxt_en: Handle no aggregation ring gracefully.")
introduced the BNXT_FLAG_NO_AGG_RINGS flag. For consistency,
bnxt_set_tpa_flags() should also clear TPA flags when there are no
aggregation rings.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/b
/ethernet/broadcom/bnxt/bnxt.o
drivers/net/ethernet/broadcom/bnxt/bnxt.c:4956:21: warning:
‘bnxt_get_max_func_vnics’ defined but not used [-Wunused-function]
static unsigned int bnxt_get_max_func_vnics(struct bnxt *bp)
^
Signed-off-by: Michael Chan
---
drivers/net/ethernet
Add the ulp_sriov_cfg callbacks when the number of VFs is changing. This
allows the RDMA driver to provision RDMA resources for the VFs.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet
On Wed, Jan 11, 2017 at 10:34 AM, Doug Ledford wrote:
> On Wed, 2017-01-11 at 09:17 -0800, Michael Chan wrote:
>> On Wed, Jan 11, 2017 at 7:46 AM, David Miller
>> wrote:
>> >
>> > From: Michael Chan
>> > Date: Tue, 10 Jan 2017 20:12:38 -0500
>> &
On Wed, Jan 11, 2017 at 7:46 AM, David Miller wrote:
> From: Michael Chan
> Date: Tue, 10 Jan 2017 20:12:38 -0500
>
>> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h
>> b/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h
>> index 35a0d28..f2630cc 100644
&g
Commit bdbd1eb59c56 ("bnxt_en: Handle no aggregation ring gracefully.")
introduced the BNXT_FLAG_NO_AGG_RINGS flag. For consistency,
bnxt_set_tpa_flags() should also clear TPA flags when there are no
aggregation rings.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/b
Add LED blinking code to support ethtool -p on the PF.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 40 +
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 17 +
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 44
Add the ulp_sriov_cfg callbacks when the number of VFs is changing. This
allows the RDMA driver to provision RDMA resources for the VFs.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet
/ethernet/broadcom/bnxt/bnxt.o
drivers/net/ethernet/broadcom/bnxt/bnxt.c:4956:21: warning:
‘bnxt_get_max_func_vnics’ defined but not used [-Wunused-function]
static unsigned int bnxt_get_max_func_vnics(struct bnxt *bp)
^
Signed-off-by: Michael Chan
---
drivers/net/ethernet
When the driver gets the RoCE app priority set/delete call through DCBNL,
the driver will send the information to the firmware.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c | 106 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h | 3
Miscellaneous updates including firmware spec update, ethtool -p blinking
LED support, RDMA SRIOV and app TLV support, and minor fixes.
Michael Chan (6):
bnxt_en: Fix compiler warnings when CONFIG_RFS_ACCEL is not defined.
bnxt_en: Clear TPA flags when BNXT_FLAG_NO_AGG_RINGS is set.
bnxt_en
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 261 +++---
1 file changed, 237 insertions(+), 24 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h
b/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h
index d0d49ed..5df32ab
y taking tp->lock.
Reported-by: Wang Yufen
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/tg3.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/ethernet/broadcom/tg3.c
b/drivers/net/ethernet/broadcom/tg3.c
index 185e9e0..ae42de4 100644
--- a/drivers/net/ethernet/
On Fri, Jan 6, 2017 at 10:01 AM, David Miller wrote:
> From: Eric Dumazet
> Date: Fri, 06 Jan 2017 09:32:56 -0800
>
>> This makes no sense to me.
>>
>> RTNL is absolutely not needed to get device stats.
>>
>> We try to not add RTNL, especially when not required.
>>
>> Sure, RTNETLINK dumps curren
ginal dev_get_stats() as __dev_get_stats() and add a new
dev_get_stats() that takes rtnl_lock() before calling __dev_get_stats().
Modify all callers that already take rtnl_lock() to call __dev_get_stats().
Signed-off-by: Michael Chan
---
drivers/net/bonding/bond_main.c
On Thu, Jan 5, 2017 at 12:17 PM, David Miller wrote:
> From: Michael Chan
> Date: Thu, 5 Jan 2017 12:04:13 -0800
>
>> But it looks like ndo_get_stats() can be called without rtnl lock from
>> net-procfs.c. So it is possible that we'll read tp->hw_stats after it
&g
On Thu, Jan 5, 2017 at 9:33 AM, David Miller wrote:
> From: Wang Yufen
> Date: Thu, 5 Jan 2017 22:13:21 +0800
>
>> From: Yufen Wang
>>
>> A possible NULL pointer dereference in tg3_get_stats64 while doing
>> tg3_free_consistent.
> ...
>> This patch avoids the NULL pointer dereference by using !
handle it, we need to properly set up only 1 ring without aggregation.
Set a new flag BNXT_FLAG_NO_AGG_RINGS for this condition and add logic to
set up the chip to place RX data linearly into a single buffer per packet.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 25
bnxt_en allocates the completion rings.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 30 ++
1 file changed, 30 insertions(+)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 338dbd0
The new vnic RSS capability will enhance NTUPLE support, to be added
in subsequent patches.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 22 +
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h
from the firmware yet.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 4 ++--
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 5 +++--
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a
use the new scheme when the firmware interface spec is
1.6.1 or newer.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 59 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 +
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 15
Add function bnxt_rfs_supported() that determines if the chip supports
RFS. Refactor the existing function bnxt_rfs_capable() that determines
if run-time conditions support RFS.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 38 +++
1
Assign additional vnics to VFs whenever possible so that NTUPLE can be
supported on the VFs.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c
b
Signed-off-by: Michael Chan
---
MAINTAINERS | 6 ++
1 file changed, 6 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index cfff2c9..11904a9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2605,6 +2605,12 @@ L: netdev@vger.kernel.org
S: Supported
F: drivers/net/ethernet
. Rearrange the code to avoid forward declaration.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 89 ---
1 file changed, 46 insertions(+), 43 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
b/drivers/net/ethernet
.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 27 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
b/drivers/net/ethernet/broadcom
Use native NAPI polling instead. The next patch will complete the work
by switching to use napi_complete_done()
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 53 +
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 99 ---
2
For better busy polling and GRO support. Do not re-arm IRQ if
napi_complete_done() returns false.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
b
Accept ipv6 flows in .ndo_rx_flow_steer() and support ETHTOOL_GRXCLSRULE
ipv6 flows.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 32 +++---
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 53 +--
2 files changed, 66
the firmware is implemented for newer chips and firmware. Plus
some misc. cleanups, minor fixes, and to add the maintainer entry. Please
review.
Michael Chan (14):
bnxt_en: Remove busy poll logic in the driver.
bnxt_en: Use napi_complete_done()
bnxt_en: Improve the IRQ disable sequence
Call tcp_gro_complete() in the common code path instead of the chip-
specific method. The newer 5731x method is missing the call.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet
On Mon, Dec 12, 2016 at 8:52 PM, Selvin Xavier
wrote:
>> CHECK drivers/infiniband/hw/bnxtre/bnxt_qplib_rcfw.c
>> CHECK drivers/infiniband/hw/bnxtre/bnxt_qplib_sp.c
>> CHECK drivers/infiniband/hw/bnxtre/bnxt_qplib_fp.c
>> drivers/infiniband/hw/bnxtre/bnxt_qplib_fp.c:1015:22: warning: c
On Wed, Dec 7, 2016 at 7:20 AM, Billy Shuman wrote:
> After resume on 4.9.0-rc8 tg3 is dead.
>
> In logs I see:
> kernel: tg3 :44:00.0: phy probe failed, err -19
> kernel: tg3 :44:00.0: Problem fetching invariants of chip, aborting
-19 is -ENODEV which means tg3 cannot read the PHY ID.
I
bnxt_restore_pf_fw_resources()
to restore FW resources. Later on we need to add some logic to account
for RDMA resources.
Signed-off-by: Somnath Kotur
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 +++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2
for the RDMA driver.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 34 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 ++
2 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
b
.
v2: Fix compile warning when BNXT_CONFIG_SRIOV is not set.
Signed-off-by: Somnath Kotur
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 58 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 9 +
2 files changed, 66 insertions(+), 1 deletio
the RDMA driver calls
bnxt_request_msix() function pointer.
6. When the RDMA driver calls bnxt_unregister_device(), all RDMA resources
will be cleaned up.
v2: Fixed 2 uninitialized variable warnings.
Signed-off-by: Somnath Kotur
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 183 +++---
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
2 files changed, 115 insertions(+), 69 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
b/drivers/net/ethernet/broadcom
27;ll do function reset as well.
Signed-off-by: Somnath Kotur
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 25 ++---
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 -
2 files changed, 6 insertions(+), 20 deletions(-)
diff --git a/drivers/net/eth
By refactoring existing code into this new function. The new function
will be used in subsequent patches.
v2: Fixed compile warning when CONFIG_BNXT_SRIOV is not set.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 17 +++--
drivers/net/ethernet
messages, and
receive some notifications.
v2: Fixed kbuild test robot warnings.
David, please consider this series for net-next. Thanks.
Michael Chan (7):
bnxt_en: Add bnxt_set_max_func_irqs().
bnxt_en: Enable MSIX early in bnxt_init_one().
bnxt_en: Move function reset to bnxt_init_one
bnxt_restore_pf_fw_resources()
to restore FW resources. Later on we need to add some logic to account
for RDMA resources.
Signed-off-by: Somnath Kotur
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 +++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2
for the RDMA driver.
Signed-off-by: Michael Chan
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 34 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 ++
2 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
b
901 - 1000 of 1880 matches
Mail list logo