igb: Change RXPBSIZE size when setting Qav mode
authorJesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
Sat, 17 Nov 2018 00:19:23 +0000 (16:19 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 20 Dec 2018 19:45:10 +0000 (11:45 -0800)
Section 4.5.9 of the datasheet says that the total size of all packet
buffers combined (TxPB 0 + 1 + 2 + 3 + RxPB + BMC2OS + OS2BMC) must not
exceed 60KB. Today we are configuring a total of 62KB, so reduce the
RxPB from 32KB to 30KB in order to respect that.

The choice of changing RxPBSIZE here is mainly because it seems more
correct to give more priority to the transmit packet buffers over the
receiver ones when running in Qav mode. Also, the BMC2OS and OS2BMC
sizes are already too short.

Signed-off-by: Jesus Sanchez-Palencia <jesus.s.palencia@gmail.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/e1000_defines.h
drivers/net/ethernet/intel/igb/igb_main.c

index 8a28f3388f699bf30df581af4f9aa08ed5f2b567..01fcfc6f341519c1d8a67b5c8695ec9c04842b0c 100644 (file)
 
 #define I210_RXPBSIZE_DEFAULT          0x000000A2 /* RXPBSIZE default */
 #define I210_RXPBSIZE_MASK             0x0000003F
+#define I210_RXPBSIZE_PB_30KB          0x0000001E
 #define I210_RXPBSIZE_PB_32KB          0x00000020
 #define I210_TXPBSIZE_DEFAULT          0x04000014 /* TXPBSIZE default */
 #define I210_TXPBSIZE_MASK             0xC0FFFFFF
index bb4f3f64fbf011133c2bc5a734d68afc2646e9e0..e135adf46980baa43e7bce06ef982b285e25816a 100644 (file)
@@ -1934,7 +1934,7 @@ static void igb_setup_tx_mode(struct igb_adapter *adapter)
 
                val = rd32(E1000_RXPBS);
                val &= ~I210_RXPBSIZE_MASK;
-               val |= I210_RXPBSIZE_PB_32KB;
+               val |= I210_RXPBSIZE_PB_30KB;
                wr32(E1000_RXPBS, val);
 
                /* Section 8.12.9 states that MAX_TPKT_SIZE from DTXMXPKTSZ