Commit 425d8d9c authored by Faizal Rahim's avatar Faizal Rahim Committed by Tony Nguyen
Browse files

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: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: default avatarFaizal Rahim <faizal.abdul.rahim@linux.intel.com>
Tested-by: default avatarMor Bar-Gabay <morx.bar.gabay@intel.com>
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent 67287d67
Loading
Loading
Loading
Loading
+21 −2
Original line number Diff line number Diff line
@@ -398,10 +398,29 @@

/* RXPBSIZE default value for Express and BMC buffer */
#define IGC_RXPBSIZE_EXP_BMC_DEFAULT	0x000000A2
#define IGC_TXPBSIZE_DEFAULT		0x04000014 /* TXPBSIZE default */
#define IGC_RXPBS_CFG_TS_EN		0x80000000 /* Timestamp in Rx buffer */

#define IGC_TXPBSIZE_TSN	0x04145145 /* 5k bytes buffer for each queue */
/* Mask for TX packet buffer size */
#define IGC_TXPB0SIZE_MASK		GENMASK(5, 0)
#define IGC_TXPB1SIZE_MASK		GENMASK(11, 6)
#define IGC_TXPB2SIZE_MASK		GENMASK(17, 12)
#define IGC_TXPB3SIZE_MASK		GENMASK(23, 18)
/* Mask for OS to BMC packet buffer size */
#define IGC_OS2BMCPBSIZE_MASK		GENMASK(29, 24)
/* TX Packet buffer size in KB */
#define IGC_TXPB0SIZE(x)		FIELD_PREP(IGC_TXPB0SIZE_MASK, (x))
#define IGC_TXPB1SIZE(x)		FIELD_PREP(IGC_TXPB1SIZE_MASK, (x))
#define IGC_TXPB2SIZE(x)		FIELD_PREP(IGC_TXPB2SIZE_MASK, (x))
#define IGC_TXPB3SIZE(x)		FIELD_PREP(IGC_TXPB3SIZE_MASK, (x))
/* OS to BMC packet buffer size in KB */
#define IGC_OS2BMCPBSIZE(x)		FIELD_PREP(IGC_OS2BMCPBSIZE_MASK, (x))
/* Default value following I225/I226 SW User Manual Section 8.3.2 */
#define IGC_TXPBSIZE_DEFAULT ( \
	IGC_TXPB0SIZE(20) | IGC_TXPB1SIZE(0) | IGC_TXPB2SIZE(0) | \
	IGC_TXPB3SIZE(0) | IGC_OS2BMCPBSIZE(4))
#define IGC_TXPBSIZE_TSN ( \
	IGC_TXPB0SIZE(5) | IGC_TXPB1SIZE(5) | IGC_TXPB2SIZE(5) | \
	IGC_TXPB3SIZE(5) | IGC_OS2BMCPBSIZE(4))

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