From patchwork Wed Dec 10 02:41:57 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kirsher, Jeffrey T" X-Patchwork-Id: 13124 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 153BADDF5D for ; Wed, 10 Dec 2008 13:42:23 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754532AbYLJCmR (ORCPT ); Tue, 9 Dec 2008 21:42:17 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754428AbYLJCmR (ORCPT ); Tue, 9 Dec 2008 21:42:17 -0500 Received: from qmta07.westchester.pa.mail.comcast.net ([76.96.62.64]:52215 "EHLO QMTA07.westchester.pa.mail.comcast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754255AbYLJCmQ (ORCPT ); Tue, 9 Dec 2008 21:42:16 -0500 Received: from OMTA12.westchester.pa.mail.comcast.net ([76.96.62.44]) by QMTA07.westchester.pa.mail.comcast.net with comcast id pDz61a0080xGWP857EgzzU; Wed, 10 Dec 2008 02:40:59 +0000 Received: from lost.foo-projects.org ([63.64.152.142]) by OMTA12.westchester.pa.mail.comcast.net with comcast id pEhx1a00e34bfcX3YEi05t; Wed, 10 Dec 2008 02:42:13 +0000 From: Jeff Kirsher Subject: [NET-NEXT PATCH 1/2] igb: update handling of RCTL for smaller buffer sizes To: davem@davemloft.net Cc: netdev@vger.kernel.org, jeff@garzik.org, Alexander Duyck , Jeff Kirsher Date: Tue, 09 Dec 2008 18:41:57 -0800 Message-ID: <20081210024156.27280.78618.stgit@lost.foo-projects.org> User-Agent: StGIT/0.14.3 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Alexander Duyck 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 Signed-off-by: Jeff Kirsher --- drivers/net/igb/igb_main.c | 32 ++++++++++++++------------------ 1 files changed, 14 insertions(+), 18 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html 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