1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/broadcom/bnxt
Michael Chan a86b313e18 bnxt_en: Enable batch mode when using HWRM_NVM_MODIFY to flash packages.
The current scheme allocates a DMA buffer as big as the requested
firmware package file and DMAs the contents to firmware in one
operation.  The buffer size can be several hundred kilo bytes and
the driver may not be able to allocate the memory.  This will cause
firmware upgrade to fail.

Improve the scheme by using smaller DMA blocks and calling firmware to
DMA each block in a batch mode.  Older firmware can cause excessive
NVRAM erases if the block size is too small so we try to allocate a
256K buffer to begin with and size it down successively if we cannot
allocate the memory.

Reviewed-by: Edwin Peer <edwin.peer@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-12-14 18:52:44 -08:00
..
bnxt.c Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2020-12-04 07:48:12 -08:00
bnxt.h net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
bnxt_coredump.h bnxt_en: Add support for ethtool get dump. 2018-08-05 17:08:26 -07:00
bnxt_dcb.c bnxt_en: Refactor statistics code and structures. 2020-07-27 11:47:33 -07:00
bnxt_dcb.h bnxt_en: Do not use the CNP CoS queue for networking traffic. 2018-08-05 17:08:26 -07:00
bnxt_debugfs.c bnxt: no need to check return value of debugfs_create functions 2019-08-10 15:25:47 -07:00
bnxt_debugfs.h bnxt_en: add debugfs support for DIM 2018-04-27 14:47:30 -04:00
bnxt_devlink.c devlink: move flash end and begin to core devlink 2020-11-19 21:41:02 -08:00
bnxt_devlink.h bnxt_en: Refactor bnxt_dl_info_get(). 2020-10-12 14:27:03 -07:00
bnxt_dim.c linux/dim: Move implementation to .c files 2019-06-25 13:46:39 -07:00
bnxt_ethtool.c bnxt_en: Enable batch mode when using HWRM_NVM_MODIFY to flash packages. 2020-12-14 18:52:44 -08:00
bnxt_ethtool.h devlink: move request_firmware out of driver 2020-11-19 21:40:57 -08: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.10.1.68. 2020-10-04 14:41:05 -07:00
bnxt_nvm_defs.h bnxt_en: Fix memory fault in bnxt_ethtool_init() 2018-04-19 16:35:09 -04:00
bnxt_sriov.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
bnxt_sriov.h bnxt_en: Retain user settings on a VF after RESET_NOTIFY event. 2019-08-30 14:02:19 -07:00
bnxt_tc.c net: bnxt: don't complain if TC flower can't be supported 2020-07-17 18:26:20 -07:00
bnxt_tc.h bnxt_en: Fix array overrun in bnxt_fill_l2_rewrite_fields(). 2019-11-13 14:28:30 -08:00
bnxt_ulp.c bnxt_en: Add doorbell information to bnxt_en_dev struct. 2020-05-04 10:44:11 -07:00
bnxt_ulp.h bnxt_en: Add doorbell information to bnxt_en_dev struct. 2020-05-04 10:44:11 -07:00
bnxt_vfr.c net/broadcom: Clean broadcom code from driver versions 2020-03-03 17:54:53 -08:00
bnxt_vfr.h devlink: Add extack for eswitch operations 2018-10-03 16:17:58 -07:00
bnxt_xdp.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bnxt_xdp.h bnxt_en: optimized XDP_REDIRECT support 2019-07-08 15:15:24 -07:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00