Skip to content

Commit 425d8d9

Browse files
Faizal Rahimanguy11
authored andcommitted
igc: use FIELD_PREP and GENMASK for existing TX packet buffer size
In preparation for an upcoming patch that will modify the TX buffer size in TSN mode, replace IGC_TXPBSIZE_TSN and IGC_TXPBSIZE_DEFAULT implementation with new macros that utilizes FIELD_PREP and GENMASK for clarity. The newly introduced macros follow the naming from the i226 SW User Manual for easy reference. I've tested IGC_TXPBSIZE_TSN and IGC_TXPBSIZE_DEFAULT before and after the refactoring, and their values remain unchanged. Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: Faizal Rahim <faizal.abdul.rahim@linux.intel.com> Tested-by: Mor Bar-Gabay <morx.bar.gabay@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
1 parent 67287d6 commit 425d8d9

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

drivers/net/ethernet/intel/igc/igc_defines.h

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -398,10 +398,29 @@
398398

399399
/* RXPBSIZE default value for Express and BMC buffer */
400400
#define IGC_RXPBSIZE_EXP_BMC_DEFAULT 0x000000A2
401-
#define IGC_TXPBSIZE_DEFAULT 0x04000014 /* TXPBSIZE default */
402401
#define IGC_RXPBS_CFG_TS_EN 0x80000000 /* Timestamp in Rx buffer */
403402

404-
#define IGC_TXPBSIZE_TSN 0x04145145 /* 5k bytes buffer for each queue */
403+
/* Mask for TX packet buffer size */
404+
#define IGC_TXPB0SIZE_MASK GENMASK(5, 0)
405+
#define IGC_TXPB1SIZE_MASK GENMASK(11, 6)
406+
#define IGC_TXPB2SIZE_MASK GENMASK(17, 12)
407+
#define IGC_TXPB3SIZE_MASK GENMASK(23, 18)
408+
/* Mask for OS to BMC packet buffer size */
409+
#define IGC_OS2BMCPBSIZE_MASK GENMASK(29, 24)
410+
/* TX Packet buffer size in KB */
411+
#define IGC_TXPB0SIZE(x) FIELD_PREP(IGC_TXPB0SIZE_MASK, (x))
412+
#define IGC_TXPB1SIZE(x) FIELD_PREP(IGC_TXPB1SIZE_MASK, (x))
413+
#define IGC_TXPB2SIZE(x) FIELD_PREP(IGC_TXPB2SIZE_MASK, (x))
414+
#define IGC_TXPB3SIZE(x) FIELD_PREP(IGC_TXPB3SIZE_MASK, (x))
415+
/* OS to BMC packet buffer size in KB */
416+
#define IGC_OS2BMCPBSIZE(x) FIELD_PREP(IGC_OS2BMCPBSIZE_MASK, (x))
417+
/* Default value following I225/I226 SW User Manual Section 8.3.2 */
418+
#define IGC_TXPBSIZE_DEFAULT ( \
419+
IGC_TXPB0SIZE(20) | IGC_TXPB1SIZE(0) | IGC_TXPB2SIZE(0) | \
420+
IGC_TXPB3SIZE(0) | IGC_OS2BMCPBSIZE(4))
421+
#define IGC_TXPBSIZE_TSN ( \
422+
IGC_TXPB0SIZE(5) | IGC_TXPB1SIZE(5) | IGC_TXPB2SIZE(5) | \
423+
IGC_TXPB3SIZE(5) | IGC_OS2BMCPBSIZE(4))
405424

406425
#define IGC_DTXMXPKTSZ_TSN 0x19 /* 1600 bytes of max TX DMA packet size */
407426
#define IGC_DTXMXPKTSZ_DEFAULT 0x98 /* 9728-byte Jumbo frames */

0 commit comments

Comments
 (0)