From: Zhang Tengfei <zhtfdev@gmail.com>
To: anatoly.burakov@intel.com, vladimir.medvedkin@intel.com
Cc: dev@dpdk.org, Zhang Tengfei <zhtfdev@gmail.com>, stable@dpdk.org
Subject: [PATCH] net/ixgbe: fix DCB Rx buffer size on X540 and E610
Date: Sun, 27 Sep 2026 12:59:43 +0800 [thread overview]
Message-ID: <20260927045943.58541-1-zhtfdev@gmail.com> (raw)
DCB programs RXPBSIZE from a hardcoded total, 384 KB for X550
and 512 KB for every other MAC. The base driver records 384 KB
in hw->mac.rx_pb_size for X540, and E610 inherits that through
the X540 init ops. X540 and E610 reset also write 384 KB.
Use hw->mac.rx_pb_size for the split, including the PFC
watermarks derived from it. 82598, 82599 and X550 are unchanged.
Fixes: b7fcd13c90a3 ("ixgbe: fix X550 DCB")
Fixes: 316637762a5f ("net/ixgbe/base: enable E610 device")
Cc: stable@dpdk.org
Signed-off-by: Zhang Tengfei <zhtfdev@gmail.com>
---
drivers/net/intel/ixgbe/ixgbe_rxtx.c | 27 ++++-----------------------
1 file changed, 4 insertions(+), 23 deletions(-)
diff --git a/drivers/net/intel/ixgbe/ixgbe_rxtx.c b/drivers/net/intel/ixgbe/ixgbe_rxtx.c
index 60222693fe..890289f27f 100644
--- a/drivers/net/intel/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/intel/ixgbe/ixgbe_rxtx.c
@@ -3835,8 +3835,6 @@ ixgbe_rss_configure(struct rte_eth_dev *dev)
}
#define NUM_VFTA_REGISTERS 128
-#define NIC_RX_BUFFER_SIZE 0x200
-#define X550_RX_BUFFER_SIZE 0x180
static void
ixgbe_vmdq_dcb_configure(struct rte_eth_dev *dev)
@@ -3863,18 +3861,10 @@ ixgbe_vmdq_dcb_configure(struct rte_eth_dev *dev)
/*
* RXPBSIZE
- * split rx buffer up into sections, each for 1 traffic class
+ * Split the MAC Rx packet buffer equally across traffic classes.
+ * hw->mac.rx_pb_size is the total size in KB.
*/
- switch (hw->mac.type) {
- case ixgbe_mac_X550:
- case ixgbe_mac_X550EM_x:
- case ixgbe_mac_X550EM_a:
- pbsize = (uint16_t)(X550_RX_BUFFER_SIZE / nb_tcs);
- break;
- default:
- pbsize = (uint16_t)(NIC_RX_BUFFER_SIZE / nb_tcs);
- break;
- }
+ pbsize = (uint16_t)(hw->mac.rx_pb_size / nb_tcs);
for (i = 0; i < nb_tcs; i++) {
uint32_t rxpbsize = IXGBE_READ_REG(hw, IXGBE_RXPBSIZE(i));
@@ -4394,16 +4384,7 @@ ixgbe_dcb_hw_configure(struct rte_eth_dev *dev,
}
}
- switch (hw->mac.type) {
- case ixgbe_mac_X550:
- case ixgbe_mac_X550EM_x:
- case ixgbe_mac_X550EM_a:
- rx_buffer_size = X550_RX_BUFFER_SIZE;
- break;
- default:
- rx_buffer_size = NIC_RX_BUFFER_SIZE;
- break;
- }
+ rx_buffer_size = (uint16_t)hw->mac.rx_pb_size;
if (config_dcb_rx) {
/* Set RX buffer size */
--
2.53.0
next reply other threads:[~2026-09-27 5:00 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-27 4:59 Zhang Tengfei [this message]
2026-10-05 16:44 ` [PATCH] net/ixgbe: fix DCB Rx buffer size on X540 and E610 Bruce Richardson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260927045943.58541-1-zhtfdev@gmail.com \
--to=zhtfdev@gmail.com \
--cc=anatoly.burakov@intel.com \
--cc=dev@dpdk.org \
--cc=stable@dpdk.org \
--cc=vladimir.medvedkin@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.