Update bnxt_en with bug fixes and support for Broadcom 5760X network adapters
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Confirmed
|
Medium
|
Jeff Lane | ||
Mantic |
Fix Released
|
Medium
|
Jeff Lane | ||
Noble |
Confirmed
|
Medium
|
Jeff Lane |
Bug Description
[IMPACT]
This is requested by one of our larger server hardware partners and Broadcom to to update the bnxt_en network driver code to add some bug fixes and support for the newer 5760X adapters into Mantic. The goal is to have these land in 22.04.4 HWE and the installer environment via the HWE kernel.
Missing these patches will mean customers running this hardware will not be able to use it with Ubuntu Server 22.04 LTS until the much later 22.04.5 point release, setting up a months-long gap in support for these adapters.
[FIXES]
These are all in mainline at 6.6-6.7 and linux-next queued for 6.8 and pick cleanly with the exception of the two noted at the end of this section. For Mantic all are picked. For Noble, only the subset currently in linux-next will be picked, depending on what happens in our Noble tree during the cycle.
d007caaaf052 net: bnxt: fix a potential use-after-free in bnxt_init_tc
2012a6abc876 bnxt_en: Add 5760X (P7) PCI IDs
047a2d38e40c bnxt_en: Report the new ethtool link modes in the new
firmware interface
7b60cf2b641a bnxt_en: Support force speed using the new HWRM fields
30c0bb63c2ea bnxt_en: Support new firmware link parameters
cf47fa5ca5bb bnxt_en: Refactor ethtool speeds logic
a7445d69809f bnxt_en: Add support for new RX and TPA_START completion
types for P7
39b2e62be370 bnxt_en: Refactor and refine bnxt_tpa_start() and bnxt_tpa_end().
c2f8063309da bnxt_en: Refactor RX VLAN acceleration logic.
13d2d3d381ee bnxt_en: Add new P7 hardware interface definitions
8243345bfaec bnxt_en: Refactor RSS capability fields
d846992e6387 bnxt_en: Implement the new toggle bit doorbell mechanism
on P7 chips
d3c16475dc06 bnxt_en: Consolidate DB offset calculation
a432a45bdba4 bnxt_en: Define basic P7 macros
397d44bf1721 bnxt_en: Update firmware interface to 1.10.3.15
08b386b132c6 bnxt_en: Fix backing store V2 logic
1c7fd6ee2fe4 bnxt_en: Rename some macros for the P5 chips
f94471f3ce74 bnxt_en: Modify the NAPI logic for the new P7 chips
c09d22674b94 bnxt_en: Modify RX ring indexing logic.
6d1add95536b bnxt_en: Modify TX ring indexing logic.
b9e0c47ee2ec bnxt_en: Add db_ring_mask and related macro to bnxt_db_info struct.
236e237f8ffe bnxt_en: Add support for HWRM_FUNC_
firmware calls
6a4d0774f02d bnxt_en: Add support for new backing store query firmware API
b098dc5a3357 bnxt_en: Add bnxt_setup_
2ad67aea11f2 bnxt_en: Use the pg_info field in bnxt_ctx_mem_type struct
035c57615982 bnxt_en: Add page info to struct bnxt_ctx_mem_type
76087d997a84 bnxt_en: Restructure context memory data structures
e50dc4c2206e bnxt_en: Free bp->ctx inside bnxt_free_ctx_mem()
aa8460bacf49 bnxt_en: The caller of bnxt_alloc_
free bp->ctx
c1056a59aee1 bnxt_en: Optimize xmit_more TX path
ba098017791e bnxt_en: Use existing MSIX vectors for all mqprio TX rings
f07b58801bef bnxt_en: Add macros related to TC and TX rings
f5b29c6afe36 bnxt_en: Add helper to get the number of CP rings
required for TX rings
0589a1ed4d33 bnxt_en: Support up to 8 TX rings per MSIX
877edb347323 bnxt_en: Refactor bnxt_hwrm_
5a3c585fa83f bnxt_en: New encoding for the TX opaque field
ebf72319cef6 bnxt_en: Refactor bnxt_tx_int()
9c0b06de6fb6 bnxt_en: Remove BNXT_RX_HDL and BNXT_TX_HDL
7845b8dfc713 bnxt_en: Add completion ring pointer in TX and RX ring structures
d1eec614100c bnxt_en: Restructure cp_ring_arr in struct bnxt_cp_ring_info
7f0a168b0441 bnxt_en: Add completion ring pointer in TX and RX ring structures
34eec1f29a59 bnxt_en: Put the TX producer information in the TX BD opaque field
9cfe8cf5027b bnxt_en: Fix 2 stray ethtool -S counters
5d4e1bf60664 bnxt_en: extend media types to supported and autoneg modes
64d20aea6e4b bnxt_en: convert to linkmode_set_bit() API
5802e30317d9 bnxt_en: Refactor NRZ/PAM4 link speed related logic
94c89e73d377 bnxt_en: refactor speed independent ethtool modes
d6263677bb1b bnxt_en: support lane configuration via ethtool
ecdad2a69214 bnxt_en: add infrastructure to lookup ethtool link mode
fd78ec3fbc47 bnxt_en: Fix invoking hwmon_notify_event
55862094a9d0 bnxt_en: Do not call sleeping hwmon_notify_
73b24e7ce8f1 eth: bnxt: fix backward compatibility with older devices
c27153682eac Revert "bnxt_en: Support QOS and TPID settings for the SRIOV VLAN"
cbdbf0aa41ba bnxt_en: Update VNIC resource calculation for VFs
e76d44fe7227 bnxt_en: Support QOS and TPID settings for the SRIOV VLAN
a19b4801457b bnxt_en: Event handler for Thermal event
3d9cf962067b bnxt_en: Use non-standard attribute to expose shutdown temperature
cd13244f19eb bnxt_en: Expose threshold temperatures through hwmon
847da8b1178c bnxt_en: Modify the driver to use hwmon_device_
(*)a47f3b3992aa bnxt_en: Move hwmon functions into a dedicated file
6ad71984aa6b bnxt_en: Enhance hwmon temperature reporting
754fbf604ff6 bnxt_en: Update firmware interface to 1.10.2.171
e3b3a87967ce bnxt: use the NAPI skb allocation cache
8becd1961c73 bnxt_en: Add tx_resets ring counter
a080b47a04c5 bnxt_en: Display the ring error counters under ethtool -S
4c70dbe3c008 bnxt_en: Save ring error counters across reset
d38c19b13b10 bnxt_en: Increment rx_resets counter in bnxt_disable_napi()
578fcfd26e2a bnxt_en: Let the page pool manage the DMA mapping
86b05508f775 bnxt_en: Use the unified RX page pool buffers for XDP and non-XDP
3d5ecada049f bnxt_en: Fix W=stringop-overflow warning in bnxt_dcb.c
ac1b8c978a7a bnxt_en: Fix W=1 warning in bnxt_dcb.c from fortify memcpy()
9f49db62f58e eth: bnxt: fix warning for define in struct_group
833c4a8105ac eth: bnxt: fix one of the W=1 warnings about fortified memcpy()
(*)2b56b3d99241 eth: bnxt: handle invalid Tx completions more gracefully
9b1a00fda61e eth: bnxt: take the bit to set as argument of bnxt_queue_
fea2993aecd7 eth: bnxt: move and rename reset helpers
47b7acfb016b bnxt_en: use dev_consume_
These two requried backporting. The backport work was done by Michael Chan @ Broadcom as noted by comments in the commit messages. This was to resolve issues due to some missing prerequisite patches from upstream that were not part of the bnxt code.
a47f3b3992aa bnxt_en: Move hwmon functions into a dedicated file
2b56b3d99241 eth: bnxt: handle invalid Tx completions more gracefully
[TEST]
The changes added by these patches should have no negative impact on Broadcom 574XX and 575XX adapters. All tests that passed on those adapters before adding these changes should continue to pass.
When a user runs 'modinfo bnxt_en' on this new driver entries for the PCI IDs that represent this hardware should be found with the VID 0x14e4 and DIDs 0x1760, 0x1761, 0x1762, and 0x1763.
$ modinfo bnxt_en | grep 176
alias: pci:v000014E4d0
alias: pci:v000014E4d0
alias: pci:v000014E4d0
alias: pci:v000014E4d0
A test kernel based on these changes has been tested at Broadcom to ensure the 5760X hardware functions as expected with this driver.
[Where Problems Might Occur]
Much of the code added in these patches is specific to 5760X. These have been tested extensively in out-of-box form for quite a while and the upstream versions have also been tested extensively by Broadcom's QA team prior and after acceptance upstream. Areas of concern are centered around non-standard/
description: | updated |
summary: |
- Add Support for Broadcom 5760X Adapters to 24.04 (patches in 6.8) + Add Support for Broadcom 5760X Network adapters to 24.04 (patches in + 6.8) |
Changed in linux (Ubuntu Noble): | |
assignee: | nobody → Jeff Lane (bladernr) |
Changed in linux (Ubuntu Mantic): | |
assignee: | nobody → Jeff Lane (bladernr) |
status: | New → In Progress |
Changed in linux (Ubuntu Mantic): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Noble): | |
importance: | Undecided → Medium |
summary: |
- Add Support for Broadcom 5760X Network adapters to 24.04 (patches in - 6.8) + Add Support for Broadcom 5760X Network Controllers |
summary: |
- Add Support for Broadcom 5760X Network Controllers + Add Support for Broadcom 5760X Network adapters and some bug fixes. |
summary: |
- Add Support for Broadcom 5760X Network adapters and some bug fixes. + Add Support for Broadcom 5760X Network adapters and some bug fixes |
summary: |
- Add Support for Broadcom 5760X Network adapters and some bug fixes + Update bnxt with bug fixes and support for Broadcom 5760X network + adapters |
description: | updated |
description: | updated |
description: | updated |
summary: |
- Update bnxt with bug fixes and support for Broadcom 5760X network + Update bnxt_en with bug fixes and support for Broadcom 5760X network adapters |
description: | updated |
Changed in linux (Ubuntu Mantic): | |
status: | In Progress → Fix Committed |
Is there any chance of these being backported upstream into 6.7?