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 8a28f33..01fcfc6 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 bb4f3f6..e135adf 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