diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2009-10-27 15:50:08 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-28 01:20:18 -0700 |
commit | 7d95b7170eca3f95bad939fc9eb365b823c05e39 (patch) | |
tree | b9b56b1e8c0fed6f961fb48ff31242fa6ca42666 | |
parent | 094919a4b0c56d6afbfb5ea14567fbb2f8d47554 (diff) |
igb: increase minimum rx buffer size to 1K
This update increases the minimum rx buffer size to 1K. The reason for this
change is to support SR-IOV and avoid any conflicts with the rings being able
to set their own MTU sizes.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/igb/igb.h | 2 | ||||
-rw-r--r-- | drivers/net/igb/igb_main.c | 25 |
2 files changed, 3 insertions, 24 deletions
diff --git a/drivers/net/igb/igb.h b/drivers/net/igb/igb.h index d27dcd1289c..044ba02211c 100644 --- a/drivers/net/igb/igb.h +++ b/drivers/net/igb/igb.h @@ -96,8 +96,6 @@ struct vf_data_storage { /* Supported Rx Buffer Sizes */ #define IGB_RXBUFFER_128 128 /* Used for packet split */ -#define IGB_RXBUFFER_256 256 /* Used for packet split */ -#define IGB_RXBUFFER_512 512 #define IGB_RXBUFFER_1024 1024 #define IGB_RXBUFFER_2048 2048 #define IGB_RXBUFFER_16384 16384 diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index e1d1c0c984b..6146f5db987 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c @@ -2233,18 +2233,8 @@ static void igb_setup_rctl(struct igb_adapter *adapter) rctl |= E1000_RCTL_LPE; /* 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; - } + srrctl = ALIGN(adapter->rx_buffer_len, 1024) + >> E1000_SRRCTL_BSIZEPKT_SHIFT; /* 82575 and greater support packet-split where the protocol * header is placed in skb->data and the packet data is @@ -3755,11 +3745,7 @@ static int igb_change_mtu(struct net_device *netdev, int new_mtu) * i.e. RXBUFFER_2048 --> size-4096 slab */ - if (max_frame <= IGB_RXBUFFER_256) - adapter->rx_buffer_len = IGB_RXBUFFER_256; - else if (max_frame <= IGB_RXBUFFER_512) - adapter->rx_buffer_len = IGB_RXBUFFER_512; - else if (max_frame <= IGB_RXBUFFER_1024) + if (max_frame <= IGB_RXBUFFER_1024) adapter->rx_buffer_len = IGB_RXBUFFER_1024; else if (max_frame <= IGB_RXBUFFER_2048) adapter->rx_buffer_len = IGB_RXBUFFER_2048; @@ -3770,11 +3756,6 @@ static int igb_change_mtu(struct net_device *netdev, int new_mtu) adapter->rx_buffer_len = PAGE_SIZE / 2; #endif - /* if sr-iov is enabled we need to force buffer size to 1K or larger */ - if (adapter->vfs_allocated_count && - (adapter->rx_buffer_len < IGB_RXBUFFER_1024)) - adapter->rx_buffer_len = IGB_RXBUFFER_1024; - /* adjust allocation if LPE protects us, and we aren't using SBP */ if ((max_frame == ETH_FRAME_LEN + ETH_FCS_LEN) || (max_frame == MAXIMUM_ETHERNET_VLAN_SIZE)) |