Re: TG3 network data corruption regression 2.6.24/2.6.23.4

2008-02-19 Thread Matt Carlson
On Tue, Feb 19, 2008 at 05:14:26PM -0500, Tony Battersby wrote: Michael Chan wrote: On Tue, 2008-02-19 at 11:16 -0500, Tony Battersby wrote: iSCSI performance drops to 6 - 15 MB/s when the 3Com NIC is doing heavy rx with light tx, That's strange. The patch should only

[PATCH 0/8] tg3: Flow Control Modifications

2007-12-20 Thread Matt Carlson
This patchset modifies the driver to accept changes in flow control settings via ethtool. -- Matt Carlson 5300 California Ave Senior Software Engineer

[PATCH 1/8] tg3: Separate requested and actual flow control parameters

2007-12-20 Thread Matt Carlson
This patch removes the TX and RX flow control flags from tg3_flags and adds two new flow control variables, flowctrl and active_flowctrl. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 4942f7d

[PATCH 2/8] tg3: Add 1000T 1000X flowctrl resolvers

2007-12-20 Thread Matt Carlson
This patch adds two new utility functions to resolve flow control. One function resolves flow control based on 1000-BaseT register definitions. The other resolves flow control based on 1000-Base X register definitions. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan

[PATCH 4/8] tg3: Replace some magic 5704S constants

2007-12-20 Thread Matt Carlson
This patch replaces magic values with preprocessor definitions for the sg_dig_ctrl and sg_dig_status registers. This is preparatory work for the next patch. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net

[PATCH 3/8] tg3: Add 1000T 1000X flowctl adv helpers

2007-12-20 Thread Matt Carlson
based on administrator dictated preferences. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 0cb0a6a..9e51457 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -1612,6 +1612,38 @@ static

[PATCH 7/8] tg3: Fix supporting flowctrl code

2007-12-20 Thread Matt Carlson
advertisements. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 373642c..dd9229c 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -1694,7 +1694,8 @@ static void tg3_setup_flow_control(struct

[PATCH 5/8] tg3: Correct 5704S flowctrl advertisements

2007-12-20 Thread Matt Carlson
enumerations. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 9985166..e30a99f 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -1695,7 +1695,7 @@ static void tg3_setup_flow_control(struct tg3

[PATCH 6/8] tg3: Correct sw autoneg flow control advertisements

2007-12-20 Thread Matt Carlson
enumerations. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index e30a99f..373642c 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -1695,7 +1695,7 @@ static void tg3_setup_flow_control(struct

[PATCH 8/8] tg3: Update version to 3.87

2007-12-20 Thread Matt Carlson
This patch updates the version number to 3.87. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index dd9229c..6264454 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -64,8 +64,8 @@ #define

Re: [PATCH 10/13] tg3: Increase the PCI MRRS

2007-11-15 Thread Matt Carlson
On Mon, 2007-11-12 at 21:21 -0800, David Miller wrote: From: Matt Carlson [EMAIL PROTECTED] Date: Fri, 09 Nov 2007 16:39:01 -0800 Previous devices hardcoded the PCI Maximum Read Request Size to 4K. To better comply with the PCI spec, the hardware now defaults the MRRS to 512 bytes

[PATCH 8/13] tg3: Limit 5784 / 5764 to MAC LED mode

2007-11-09 Thread Matt Carlson
Most 5784 / 5764 LED modes do not work as expected because of a hardware bug. This patch forces the LED mode to be in MAC LED mode. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index b5c4799

[PATCH 3/13] tg3: APE flag fix

2007-11-09 Thread Matt Carlson
This patch corrects a bug where the ENABLE_APE flag was tested against the wrong flag variable. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 82b1cf0..833cb9b 100644 --- a/drivers/net/tg3.c

[PATCH 11/13] tg3: Add A1 revs

2007-11-09 Thread Matt Carlson
This patch adds the A1 revision of 5784, 5764, and 5761, and applies all previous bugfixes. In places where the list of devices gets too long, the patch uses a new TG3_FLG3_5761_5784_AX_FIXES flag instead. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED

[PATCH 12/13] tg3: MII = TP

2007-11-09 Thread Matt Carlson
This patch changes the PHY type reported through ethtool for copper devices from MII to TP. The latter is more accurate. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 8e76092..8d518cc 100644

[PATCH 13/13] tg3: Update version to 3.86

2007-11-09 Thread Matt Carlson
This patch updates the version number to 3.86 Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 8d518cc..4942f7d 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -64,8 +64,8 @@ #define

[PATCH 10/13] tg3: Increase the PCI MRRS

2007-11-09 Thread Matt Carlson
Previous devices hardcoded the PCI Maximum Read Request Size to 4K. To better comply with the PCI spec, the hardware now defaults the MRRS to 512 bytes. This will yield poor driver performance if left untouched. This patch increases the MRRS to 4K on driver initialization. Signed-off-by: Matt

[PATCH 7/13] tg3: Disable GPHY autopowerdown

2007-11-09 Thread Matt Carlson
New CPMU devices contend with the GPHY for power management. The GPHY autopowerdown feature is enabled by default in the PHY and thus needs to be disabled after every PHY reset. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net

[PATCH 4/13] tg3: 5784 / 5764 DMA engine lockup fix

2007-11-09 Thread Matt Carlson
5784 and 5764 devices lock up when the link speed is 10Mbps, the CPMU link speed mode is enabled, and the MAC clock is running at 1.5Mhz. The fix is to run the MAC clock at faster speeds. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git

[PATCH 1/13] tg3: Fix 5761 PXEboot crash

2007-11-09 Thread Matt Carlson
-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index cad5199..ddeaa0c 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -12464,6 +12464,28 @@ static int __devinit tg3_init_one(struct pci_dev *pdev

[PATCH 6/13] tg3: CPMU adjustments for loopback tests

2007-11-09 Thread Matt Carlson
This patch adds the LINK_SPEED mode to the list of CPMU modes that can cause the loopback tests to fail. These bugs are planned to be fixed in future revisions of the chip, so the patch qualifies the fixes as such. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL

[PATCH 2/13] tg3: 5784 / 5764 GPHY power down fix

2007-11-09 Thread Matt Carlson
is to switch the MAC clock to an alternate source before powering down the PHY, and to restore the MAC clock to the PHY source upon device resume. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index

[PATCH 5/13] tg3: Fix nvram selftest failures

2007-11-09 Thread Matt Carlson
the NVRAM test code for that case, and add support for the missing formats. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index b865c5d..ef849b1 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c

[PATCH 9/13] tg3: Prescaler fix

2007-11-09 Thread Matt Carlson
Internal hardware timers become inaccurate after link events. Clock frequency switches performed by the CPMU fail to adjust timer prescalers. The fix is to detect core clock frequency changes during link events and adjust the timer prescalers accordingly. Signed-off-by: Matt Carlson [EMAIL

[PATCH 0/13] tg3: 5761, 5784, and 5764 support fixes

2007-11-09 Thread Matt Carlson
The following patches round out support for 5784, 5764, and 5761 devices, fixing bugs in the process. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

[PATCH 5/7] pci: Export the pci_restore_msi_state() function

2007-10-19 Thread Matt Carlson
This patch exports the pci_restore_msi_state() function. This function is needed to restore the MSI state during PCI error recovery. Signed-off-by: Linas Vepstas [EMAIL PROTECTED] Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers

[PATCH 3/7] tg3: Add management FW version to ethtool report

2007-10-19 Thread Matt Carlson
This patch appends the management firmware version to the bootcode firmware string reported through ethtool. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 66682b8..68472ce 100644 --- a/drivers

[PATCH 0/7] tg3: PCI error recovery and more

2007-10-19 Thread Matt Carlson
This patchset adds PCI error recovery, 5723 support and a few other odds and ends. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

[PATCH 4/7] tg3: PCI command adjustment

2007-10-19 Thread Matt Carlson
This patch changes the way the driver works with the PCI command register. It adjusts the access size from dwords to words. This patch is done both as a PCI configuration space cleanup and as preparatory work for PCI error recovery. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off

[PATCH 2/7] tg3: MII = TP

2007-10-19 Thread Matt Carlson
This patch changes the PHY type reported through ethtool for copper devices from MII to TP. The latter is more accurate. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 253d761..66682b8 100644

[PATCH 6/7] tg3: Add PCI error recovery

2007-10-19 Thread Matt Carlson
This patch adds PCI error recovery support. Signed-off-by: Linas Vepstas [EMAIL PROTECTED] Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 9920751..d866387 100644 --- a/drivers/net/tg3.c +++ b

[PATCH 7/7] tg3: Update version to 3.85

2007-10-19 Thread Matt Carlson
This patch updates the version number to 3.85. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index d866387..e5cf97a 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -64,8 +64,8 @@ #define

[PATCH 1/7] tg3: Add 5723 support

2007-10-19 Thread Matt Carlson
This patch adds support for upcoming 5723 devices. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 014dc2c..253d761 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -200,6 +200,7

[PATCH] tg3: Fix APE induced regression

2007-10-11 Thread Matt Carlson
This patch fixes a bug caused by the recent APE support added for 5761 devices. Signed-off-by: Matt Carlson [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index d2b30fb..e978a79 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -6966,9 +6966,10 @@ static int

[PATCH 3/5] tg3: Add 5761 support

2007-10-10 Thread Matt Carlson
This patch adds rest of the miscellaneous code required to support the 5761. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 5b6c1b2..3af93b5 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3

[PATCH 0/5] tg3: Add 5761 support

2007-10-10 Thread Matt Carlson
The following patchset adds support for the 5761 device and enables WOL by default if out-of-box WOL is enabled in the NVRAM. The 5761 patches were tested against preproduction hardware. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL

[PATCH 5/5] tg3: Update version to 3.83

2007-10-10 Thread Matt Carlson
Update to version 3.83. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 8967bc3..fa8f6c0 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -64,8 +64,8 @@ #define DRV_MODULE_NAME

[PATCH 4/5] tg3: WOL defaults

2007-10-10 Thread Matt Carlson
This patch enables WOL by default if out-of-box WOL is enabled in the NVRAM. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 3af93b5..8967bc3 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3

[PATCH 2/5] tg3: Add 5761 APE support

2007-10-10 Thread Matt Carlson
This patch adds support for the new APE block, present in 5761 chips. APE stands for Application Processing Engine. The primary function of the APE is to process manageability traffic, such as ASF. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff

[PATCH 1/5] tg3: Add new 5761 NVRAM decode routines

2007-10-10 Thread Matt Carlson
This patch adds a new 5761-specific NVRAM strapping decode routine. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 1e0c9e0..3200c9c 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c

[PATCH] tg3: Fix VLAN tag corruption

2007-07-05 Thread Matt Carlson
This patch fixes a VLAN tag corruption bug introduced in the tx batching modifications. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index be03cbd..cef9cbe 100644 --- a/drivers/net/tg3.c +++ b

[PATCH] tg3: Tx availability fix

2007-07-05 Thread Matt Carlson
xmit_win values, as assigned by the transmit queue wake code, will not be drastically larger than the value set during initialization. As a bonus, this patch removes the unused struct tg3_tx_cbdata members. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED

[PATCH v2] tg3: Tx availability fix

2007-07-05 Thread Matt Carlson
the unused struct tg3_tx_cbdata members. Signed-off-by: Matt Carlson [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index cef9cbe..d5d9b82 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -581,7 +581,7 @@ static inline void