]> git.ipfire.org Git - thirdparty/linux.git/commit
bnxt_en: Do not set EOP on RX AGG BDs on 5760X chips
authorMichael Chan <michael.chan@broadcom.com>
Wed, 26 Nov 2025 21:56:46 +0000 (13:56 -0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 28 Nov 2025 02:59:28 +0000 (18:59 -0800)
commit30f253f8d9a01d532fdb7ec6c8a9d4c15fe29241
treed95e6615d9cf5f10220efa3b3d9a39050ff6bc41
parentb1e7f9566f322b53e81f7bfb6b4361e52e44b287
bnxt_en: Do not set EOP on RX AGG BDs on 5760X chips

With End-of-Packet padding (EOP) set, the chip will disable Relaxed
Ordering (RO) of TPA data packets.  A TPA segment with EOP set will be
padded to the next cache boundary and can potentially overwrite the
beginning bytes of the next TPA segment when RO is enabled on 5760X.
To prevent that, the chip disables RO for TPA when EOP is set.

To take advantge of RO and higher performance, do not set EOP on
5760X chips when TPA is enabled.  Define a proper RX_BD_FLAGS_AGG_EOP
constant to make it clear that we are setting EOP.

Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20251126215648.1885936-6-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h