Skip to content

Commit e59bc32

Browse files
WeiFang-NXPkuba-moo
authored andcommitted
net: enetc: correct the value of ENETC_RXB_TRUESIZE
The ENETC RX ring uses the page halves flipping mechanism, each page is split into two halves for the RX ring to use. And ENETC_RXB_TRUESIZE is defined to 2048 to indicate the size of half a page. However, the page size is configurable, for ARM64 platform, PAGE_SIZE is default to 4K, but it could be configured to 16K or 64K. When PAGE_SIZE is set to 16K or 64K, ENETC_RXB_TRUESIZE is not correct, and the RX ring will always use the first half of the page. This is not consistent with the description in the relevant kernel doc and commit messages. This issue is invisible in most cases, but if users want to increase PAGE_SIZE to receive a Jumbo frame with a single buffer for some use cases, it will not work as expected, because the buffer size of each RX BD is fixed to 2048 bytes. Based on the above two points, we expect to correct ENETC_RXB_TRUESIZE to (PAGE_SIZE >> 1), as described in the comment. Fixes: d4fd040 ("enetc: Introduce basic PF and VF ENETC ethernet drivers") Signed-off-by: Wei Fang <wei.fang@nxp.com> Reviewed-by: Claudiu Manoil <claudiu.manoil@nxp.com> Link: https://patch.msgid.link/20251016080131.3127122-1-wei.fang@nxp.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 50bd33f commit e59bc32

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

  • drivers/net/ethernet/freescale/enetc

drivers/net/ethernet/freescale/enetc/enetc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ struct enetc_lso_t {
7676
#define ENETC_LSO_MAX_DATA_LEN SZ_256K
7777

7878
#define ENETC_RX_MAXFRM_SIZE ENETC_MAC_MAXFRM_SIZE
79-
#define ENETC_RXB_TRUESIZE 2048 /* PAGE_SIZE >> 1 */
79+
#define ENETC_RXB_TRUESIZE (PAGE_SIZE >> 1)
8080
#define ENETC_RXB_PAD NET_SKB_PAD /* add extra space if needed */
8181
#define ENETC_RXB_DMA_SIZE \
8282
(SKB_WITH_OVERHEAD(ENETC_RXB_TRUESIZE) - ENETC_RXB_PAD)

0 commit comments

Comments
 (0)