** Changed in: linux (Ubuntu Mantic)
Status: In Progress => Fix Committed
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2045796
Title:
Update bnxt_en with bug fixes and support for Broadcom 5760X network
adapters
Status in linux package in Ubuntu:
Confirmed
Status in linux source package in Mantic:
Fix Committed
Status in linux source package in Noble:
Confirmed
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_BACKING_STORE_CFG_V2
firmware calls
6a4d0774f02d bnxt_en: Add support for new backing store query firmware API
b098dc5a3357 bnxt_en: Add bnxt_setup_ctxm_pg_tbls() helper function
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_ctx_mem() should always
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_set_coal()
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_event() from NAPI
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_register_with_info
(*)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_sp_work()
fea2993aecd7 eth: bnxt: move and rename reset helpers
47b7acfb016b bnxt_en: use dev_consume_skb_any() in bnxt_tx_int
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:v000014E4d00001763sv*sd*bc*sc*i*
alias: pci:v000014E4d00001762sv*sd*bc*sc*i*
alias: pci:v000014E4d00001761sv*sd*bc*sc*i*
alias: pci:v000014E4d00001760sv*sd*bc*sc*i*
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/untested optics and higher link0speeds than were supported on
existing 574XX and 575XX devices.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2045796/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp