linux/drivers/net/ethernet/broadcom/bnxt
Michael Chan 98fdbe73bf bnxt_en: Improve tx ring reservation logic.
When the number of TX rings is changed (e.g. ethtool -L, enabling XDP TX
rings, etc), the current code tries to reserve the new number of TX rings
before closing and re-opening the NIC.  If we are unable to reserve the
new TX rings, we abort the operation and keep the current TX rings.

The problem is that the firmware will disable the current TX rings even
when it cannot reserve the new set of TX rings.  We fix it as follows:

1. Instead of reserving the new set of TX rings, just ask the firmware
to check if the new set of TX rings is available.  There is a flag in
the firmware message to do that.  If not available, abort and the
current TX rings will not be disabled.

2. Do the actual TX ring reservation in the path that opens the NIC.
We keep the number of TX rings currently successfully reserved.  If the
number of TX rings is different than the reserved TX rings, we call
firmware and reserve again.

Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-08-28 16:57:09 -07:00
..
bnxt_dcb.c bnxt_en: Set ETS min_bw parameter for older firmware. 2017-07-24 17:29:58 -07:00
bnxt_dcb.h bnxt_en: Set ETS min_bw parameter for older firmware. 2017-07-24 17:29:58 -07:00
bnxt_ethtool.c bnxt_en: Improve tx ring reservation logic. 2017-08-28 16:57:09 -07:00
bnxt_ethtool.h bnxt_en: Add basic ethtool -t selftest support. 2017-04-05 06:24:26 -07:00
bnxt_fw_hdr.h bnxt_en: Added support for Secure Firmware Update 2016-09-19 21:32:24 -04:00
bnxt_hsi.h bnxt_en: Update firmware interface spec. to 1.8.1.4. 2017-08-28 16:57:09 -07:00
bnxt_nvm_defs.h bnxt_en: Add support for updating flash more securely 2016-07-02 14:52:35 -04:00
bnxt_sriov.c bnxt_en: add support to enable VF-representors 2017-07-24 17:29:58 -07:00
bnxt_sriov.h bnxt_en: Update firmware interface spec to 1.7.6.2. 2017-04-05 06:24:26 -07:00
bnxt_ulp.c bnxt_en: Add a callback to inform RDMA driver during PCI shutdown. 2017-05-30 18:14:07 -04:00
bnxt_ulp.h bnxt_en: Add a callback to inform RDMA driver during PCI shutdown. 2017-05-30 18:14:07 -04:00
bnxt_vfr.c bnxt_en: fix spelling mistake: "swtichdev" -> "switchdev" 2017-08-19 21:31:35 -07:00
bnxt_vfr.h bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch 2017-07-25 12:48:19 -07:00
bnxt_xdp.c bnxt_en: Improve tx ring reservation logic. 2017-08-28 16:57:09 -07:00
bnxt_xdp.h bnxt_en: Add ethtool mac loopback self test. 2017-04-05 06:24:26 -07:00
bnxt.c bnxt_en: Improve tx ring reservation logic. 2017-08-28 16:57:09 -07:00
bnxt.h bnxt_en: Improve tx ring reservation logic. 2017-08-28 16:57:09 -07:00
Makefile bnxt_en: add support to enable VF-representors 2017-07-24 17:29:58 -07:00