All of lore.kernel.org
 help / color / mirror / Atom feed
* [NET-NEXT PATCH 1/2] igb: update handling of RCTL for smaller buffer sizes
@ 2008-12-10  2:41 Jeff Kirsher
  2008-12-10  2:42 ` [NET-NEXT PATCH 2/2] igb: Correctly determine pci-e function number in virtual environment Jeff Kirsher
  2008-12-10  9:09 ` [NET-NEXT PATCH 1/2] igb: update handling of RCTL for smaller buffer sizes David Miller
  0 siblings, 2 replies; 4+ messages in thread
From: Jeff Kirsher @ 2008-12-10  2:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, jeff, Alexander Duyck, Jeff Kirsher

From: Alexander Duyck <alexander.h.duyck@intel.com>

As we begin to move into virtualization the use of a global value for
buffer sizes becomes undesirable.  This change makes it so only 256 and 512
byte buffers require use of the RCTL register.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/igb/igb_main.c |   32 ++++++++++++++------------------
 1 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index c49b8d8..dad742f 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -1801,25 +1801,21 @@ static void igb_setup_rctl(struct igb_adapter *adapter)
 	 */
 	rctl &= ~(E1000_RCTL_SBP | E1000_RCTL_LPE | E1000_RCTL_SZ_256);
 
-	if (adapter->netdev->mtu <= ETH_DATA_LEN) {
-		/* Setup buffer sizes */
-		switch (adapter->rx_buffer_len) {
-		case IGB_RXBUFFER_256:
-			rctl |= E1000_RCTL_SZ_256;
-			break;
-		case IGB_RXBUFFER_512:
-			rctl |= E1000_RCTL_SZ_512;
-			break;
-		case IGB_RXBUFFER_1024:
-			rctl |= E1000_RCTL_SZ_1024;
-			break;
-		default:
-			rctl |= E1000_RCTL_SZ_2048;
-			break;
-		}
-	} else {
+	if (adapter->netdev->mtu > ETH_DATA_LEN)
 		rctl |= E1000_RCTL_LPE;
-		srrctl = adapter->rx_buffer_len >> E1000_SRRCTL_BSIZEPKT_SHIFT;
+
+	/* Setup buffer sizes */
+	switch (adapter->rx_buffer_len) {
+	case IGB_RXBUFFER_256:
+		rctl |= E1000_RCTL_SZ_256;
+		break;
+	case IGB_RXBUFFER_512:
+		rctl |= E1000_RCTL_SZ_512;
+		break;
+	default:
+		srrctl = ALIGN(adapter->rx_buffer_len, 1024)
+		         >> E1000_SRRCTL_BSIZEPKT_SHIFT;
+		break;
 	}
 
 	/* 82575 and greater support packet-split where the protocol


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-12-10  9:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-10  2:41 [NET-NEXT PATCH 1/2] igb: update handling of RCTL for smaller buffer sizes Jeff Kirsher
2008-12-10  2:42 ` [NET-NEXT PATCH 2/2] igb: Correctly determine pci-e function number in virtual environment Jeff Kirsher
2008-12-10  9:11   ` David Miller
2008-12-10  9:09 ` [NET-NEXT PATCH 1/2] igb: update handling of RCTL for smaller buffer sizes David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.