netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] e100, e1000, ixgb fixes
@ 2006-08-16 21:53 Kok, Auke
  2006-08-16 21:56 ` [PATCH 01/13] e100: Fix MDIO/MDIO-X Kok, Auke
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:53 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Hi,

Here are updates targeted to branch #upstream-fixes from netdev-2.6, including
fixes to e100, e1000 and ixgb.

Summary:
---

Manasi Deval
    ixgb: Add CX4 PHY type detection and subdevice ID.

Jesse Brandeburg
    e1000: Explicitly power up the PHY during loopback testing.
    e1000: Explicit locking for two ethtool path functions
    ixgb:  Fix cache miss due to miscalculation

Jeff Kirsher
    e1000: Remove 0x1000 as supported device
    e1000: Allow NVM to setup LPLU for IGP2 and IGP3
    e1000: Force full DMA clocking for 10/100 speed
    e1000: Disable aggressive clocking on esb2 with SERDES port
    e100:  Remove auto-MDIO/MDIO-X workaround

Auke Kok
    e1000: Same ntohs/htons cosmetic fix as for ipv6
    e1000: Increment driver version to 7.1.9-k6
    e100:  Increment version to 3.5.10-k4
    ixgb:  Increment version to 1.0.109-k4

---

These changes are available through git.

git pull git://lost.foo-projects.org/~ahkok/git/netdev-2.6 upstream-fixes

these patches are against
 netdev-2.6#upstream-fixes 09e590e5d5a93f2eaa748a89c623258e6bad1648


Cheers,

Auke

---
 drivers/net/e100.c                |   22 ++++++++------------
 drivers/net/e1000/e1000_ethtool.c |   40 ++++++++++++++++++++++++++++----------
 drivers/net/e1000/e1000_hw.c      |   24 ++++++++++++++++++----
 drivers/net/e1000/e1000_main.c    |    9 ++------
 drivers/net/ixgb/ixgb_hw.c        |   11 ++++++++++
 drivers/net/ixgb/ixgb_ids.h       |    1 
 drivers/net/ixgb/ixgb_main.c      |   14 ++++++-------
 7 files changed, 80 insertions(+), 41 deletions(-)

--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 01/13] e100: Fix MDIO/MDIO-X
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 02/13] e100: increment version to 3.5.10-k4 Kok, Auke
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


MDIO/MDIO-X was broken due to a wrong errata. Removing the workaround
code fixes for affected NICs.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/e100.c |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index 91ef5f2..5de9843 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -1391,15 +1391,11 @@ static int e100_phy_init(struct nic *nic
 	}
 
 	if((nic->mac >= mac_82550_D102) || ((nic->flags & ich) &&
-	   (mdio_read(netdev, nic->mii.phy_id, MII_TPISTATUS) & 0x8000))) {
-		/* enable/disable MDI/MDI-X auto-switching.
-		   MDI/MDI-X auto-switching is disabled for 82551ER/QM chips */
-		if((nic->mac == mac_82551_E) || (nic->mac == mac_82551_F) ||
-		   (nic->mac == mac_82551_10) || (nic->mii.force_media) ||
-		   !(nic->eeprom[eeprom_cnfg_mdix] & eeprom_mdix_enabled))
-			mdio_write(netdev, nic->mii.phy_id, MII_NCONFIG, 0);
-		else
-			mdio_write(netdev, nic->mii.phy_id, MII_NCONFIG, NCONFIG_AUTO_SWITCH);
+	   (mdio_read(netdev, nic->mii.phy_id, MII_TPISTATUS) & 0x8000) &&
+		!(nic->eeprom[eeprom_cnfg_mdix] & eeprom_mdix_enabled))) {
+		/* enable/disable MDI/MDI-X auto-switching. */
+		mdio_write(netdev, nic->mii.phy_id, MII_NCONFIG,
+				nic->mii.force_media ? 0 : NCONFIG_AUTO_SWITCH);
 	}
 
 	return 0;



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 02/13] e100: increment version to 3.5.10-k4
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
  2006-08-16 21:56 ` [PATCH 01/13] e100: Fix MDIO/MDIO-X Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 03/13] e1000: Same cosmetic fix as earlier sent out for IPV4 Kok, Auke
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Increment the version of e100 to 3.5.10-k4, increment dates.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/e100.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index 5de9843..e208c09 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -1,7 +1,7 @@
 /*******************************************************************************
 
 
-  Copyright(c) 1999 - 2005 Intel Corporation. All rights reserved.
+  Copyright(c) 1999 - 2006 Intel Corporation. All rights reserved.
 
   This program is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published by the Free
@@ -158,10 +158,10 @@
 
 
 #define DRV_NAME		"e100"
-#define DRV_EXT		"-NAPI"
-#define DRV_VERSION		"3.5.10-k2"DRV_EXT
+#define DRV_EXT			"-NAPI"
+#define DRV_VERSION		"3.5.10-k4"DRV_EXT
 #define DRV_DESCRIPTION		"Intel(R) PRO/100 Network Driver"
-#define DRV_COPYRIGHT		"Copyright(c) 1999-2005 Intel Corporation"
+#define DRV_COPYRIGHT		"Copyright(c) 1999-2006 Intel Corporation"
 #define PFX			DRV_NAME ": "
 
 #define E100_WATCHDOG_PERIOD	(2 * HZ)



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 03/13] e1000: Same cosmetic fix as earlier sent out for IPV4.
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
  2006-08-16 21:56 ` [PATCH 01/13] e100: Fix MDIO/MDIO-X Kok, Auke
  2006-08-16 21:56 ` [PATCH 02/13] e100: increment version to 3.5.10-k4 Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 04/13] e1000: Remove 0x1000 as supported device Kok, Auke
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/e1000/e1000_main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 627f224..ea3d504 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -2545,7 +2545,7 @@ e1000_tso(struct e1000_adapter *adapter,
 			cmd_length = E1000_TXD_CMD_IP;
 			ipcse = skb->h.raw - skb->data - 1;
 #ifdef NETIF_F_TSO_IPV6
-		} else if (skb->protocol == ntohs(ETH_P_IPV6)) {
+		} else if (skb->protocol == htons(ETH_P_IPV6)) {
 			skb->nh.ipv6h->payload_len = 0;
 			skb->h.th->check =
 				~csum_ipv6_magic(&skb->nh.ipv6h->saddr,



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 04/13] e1000: Remove 0x1000 as supported device
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
                   ` (2 preceding siblings ...)
  2006-08-16 21:56 ` [PATCH 03/13] e1000: Same cosmetic fix as earlier sent out for IPV4 Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 05/13] e1000: Explicitly power up the PHY during loopback testing Kok, Auke
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Remove pci ID 8086:1000 from the list fo supported devices. This device
has not functioned with the driver for very long (since v. 5.2.4!)
and we lack the resources to come with a substantial fix. There are only
few cards of this type out there.

Signed-off-by: Jeff Kirsher <Jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/e1000/e1000_main.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index ea3d504..bd7770f 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -48,7 +48,6 @@ static char e1000_copyright[] = "Copyrig
  *   {PCI_DEVICE(PCI_VENDOR_ID_INTEL, device_id)}
  */
 static struct pci_device_id e1000_pci_tbl[] = {
-	INTEL_E1000_ETHERNET_DEVICE(0x1000),
 	INTEL_E1000_ETHERNET_DEVICE(0x1001),
 	INTEL_E1000_ETHERNET_DEVICE(0x1004),
 	INTEL_E1000_ETHERNET_DEVICE(0x1008),



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 05/13] e1000: Explicitly power up the PHY during loopback testing.
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
                   ` (3 preceding siblings ...)
  2006-08-16 21:56 ` [PATCH 04/13] e1000: Remove 0x1000 as supported device Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 06/13] e1000: explicit locking for two ethtool path functions Kok, Auke
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/e1000/e1000_ethtool.c |    7 +++++++
 drivers/net/e1000/e1000_main.c    |    2 +-
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c
index 88a82ba..8edbc6b 100644
--- a/drivers/net/e1000/e1000_ethtool.c
+++ b/drivers/net/e1000/e1000_ethtool.c
@@ -1590,6 +1590,8 @@ e1000_diag_test_count(struct net_device 
 	return E1000_TEST_LEN;
 }
 
+extern void e1000_power_up_phy(struct e1000_adapter *);
+
 static void
 e1000_diag_test(struct net_device *netdev,
 		   struct ethtool_test *eth_test, uint64_t *data)
@@ -1606,6 +1608,8 @@ e1000_diag_test(struct net_device *netde
 		uint8_t forced_speed_duplex = adapter->hw.forced_speed_duplex;
 		uint8_t autoneg = adapter->hw.autoneg;
 
+		DPRINTK(HW, INFO, "offline testing starting\n");
+
 		/* Link test performed before hardware reset so autoneg doesn't
 		 * interfere with test result */
 		if (e1000_link_test(adapter, &data[4]))
@@ -1629,6 +1633,8 @@ e1000_diag_test(struct net_device *netde
 			eth_test->flags |= ETH_TEST_FL_FAILED;
 
 		e1000_reset(adapter);
+		/* make sure the phy is powered up */
+		e1000_power_up_phy(adapter);
 		if (e1000_loopback_test(adapter, &data[3]))
 			eth_test->flags |= ETH_TEST_FL_FAILED;
 
@@ -1642,6 +1648,7 @@ e1000_diag_test(struct net_device *netde
 		if (if_running)
 			dev_open(netdev);
 	} else {
+		DPRINTK(HW, INFO, "online testing starting\n");
 		/* Online tests */
 		if (e1000_link_test(adapter, &data[4]))
 			eth_test->flags |= ETH_TEST_FL_FAILED;
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index bd7770f..b2caaa2 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -484,7 +484,7 @@ e1000_up(struct e1000_adapter *adapter)
  *
  **/
 
-static void e1000_power_up_phy(struct e1000_adapter *adapter)
+void e1000_power_up_phy(struct e1000_adapter *adapter)
 {
 	uint16_t mii_reg = 0;
 



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 06/13] e1000: explicit locking for two ethtool path functions
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
                   ` (4 preceding siblings ...)
  2006-08-16 21:56 ` [PATCH 05/13] e1000: Explicitly power up the PHY during loopback testing Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 07/13] e1000: Allow NVM to setup LPLU for IGP2 and IGP3 Kok, Auke
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Explicitly lock two more ethtool entry points completely instead
of the hardware reset only to prevent a race condition.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/e1000/e1000_ethtool.c |   33 +++++++++++++++++++++++----------
 1 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c
index 8edbc6b..2baccf8 100644
--- a/drivers/net/e1000/e1000_ethtool.c
+++ b/drivers/net/e1000/e1000_ethtool.c
@@ -183,6 +183,9 @@ e1000_set_settings(struct net_device *ne
 		return -EINVAL;
 	}
 
+	while (test_and_set_bit(__E1000_RESETTING, &adapter->flags))
+		msleep(1);
+
 	if (ecmd->autoneg == AUTONEG_ENABLE) {
 		hw->autoneg = 1;
 		if (hw->media_type == e1000_media_type_fiber)
@@ -199,16 +202,20 @@ e1000_set_settings(struct net_device *ne
 						  ADVERTISED_TP;
 		ecmd->advertising = hw->autoneg_advertised;
 	} else
-		if (e1000_set_spd_dplx(adapter, ecmd->speed + ecmd->duplex))
+		if (e1000_set_spd_dplx(adapter, ecmd->speed + ecmd->duplex)) {
+			clear_bit(__E1000_RESETTING, &adapter->flags);
 			return -EINVAL;
+		}
 
 	/* reset the link */
 
-	if (netif_running(adapter->netdev))
-		e1000_reinit_locked(adapter);
-	else
+	if (netif_running(adapter->netdev)) {
+		e1000_down(adapter);
+		e1000_up(adapter);
+	} else
 		e1000_reset(adapter);
 
+	clear_bit(__E1000_RESETTING, &adapter->flags);
 	return 0;
 }
 
@@ -238,9 +245,13 @@ e1000_set_pauseparam(struct net_device *
 {
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_hw *hw = &adapter->hw;
+	int retval = 0;
 
 	adapter->fc_autoneg = pause->autoneg;
 
+	while (test_and_set_bit(__E1000_RESETTING, &adapter->flags))
+		msleep(1);
+
 	if (pause->rx_pause && pause->tx_pause)
 		hw->fc = e1000_fc_full;
 	else if (pause->rx_pause && !pause->tx_pause)
@@ -253,15 +264,17 @@ e1000_set_pauseparam(struct net_device *
 	hw->original_fc = hw->fc;
 
 	if (adapter->fc_autoneg == AUTONEG_ENABLE) {
-		if (netif_running(adapter->netdev))
-			e1000_reinit_locked(adapter);
-		else
+		if (netif_running(adapter->netdev)) {
+			e1000_down(adapter);
+			e1000_up(adapter);
+		} else
 			e1000_reset(adapter);
 	} else
-		return ((hw->media_type == e1000_media_type_fiber) ?
-			e1000_setup_link(hw) : e1000_force_mac_fc(hw));
+		retval = ((hw->media_type == e1000_media_type_fiber) ?
+			   e1000_setup_link(hw) : e1000_force_mac_fc(hw));
 
-	return 0;
+	clear_bit(__E1000_RESETTING, &adapter->flags);
+	return retval;
 }
 
 static uint32_t



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 07/13] e1000: Allow NVM to setup LPLU for IGP2 and IGP3
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
                   ` (5 preceding siblings ...)
  2006-08-16 21:56 ` [PATCH 06/13] e1000: explicit locking for two ethtool path functions Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 08/13] e1000: Force full DMA clocking for 10/100 speed Kok, Auke
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Allow NVM to setup LPLU for IGP2 and IGP3. Only IGP needs LPLU D3
disabled during init here.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/e1000/e1000_hw.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c
index 583518a..3728f33 100644
--- a/drivers/net/e1000/e1000_hw.c
+++ b/drivers/net/e1000/e1000_hw.c
@@ -1324,11 +1324,14 @@ e1000_copper_link_igp_setup(struct e1000
     E1000_WRITE_REG(hw, LEDCTL, led_ctrl);
     }
 
-    /* disable lplu d3 during driver init */
-    ret_val = e1000_set_d3_lplu_state(hw, FALSE);
-    if (ret_val) {
-        DEBUGOUT("Error Disabling LPLU D3\n");
-        return ret_val;
+    /* The NVM settings will configure LPLU in D3 for IGP2 and IGP3 PHYs */
+    if (hw->phy_type == e1000_phy_igp) {
+        /* disable lplu d3 during driver init */
+        ret_val = e1000_set_d3_lplu_state(hw, FALSE);
+        if (ret_val) {
+            DEBUGOUT("Error Disabling LPLU D3\n");
+            return ret_val;
+        }
     }
 
     /* disable lplu d0 during driver init */



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 08/13] e1000: Force full DMA clocking for 10/100 speed
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
                   ` (6 preceding siblings ...)
  2006-08-16 21:56 ` [PATCH 07/13] e1000: Allow NVM to setup LPLU for IGP2 and IGP3 Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 09/13] e1000: Disable aggressive clocking on esb2 with SERDES port Kok, Auke
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/e1000/e1000_hw.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c
index 3728f33..8eddfdf 100644
--- a/drivers/net/e1000/e1000_hw.c
+++ b/drivers/net/e1000/e1000_hw.c
@@ -718,6 +718,17 @@ e1000_init_hw(struct e1000_hw *hw)
 
     DEBUGFUNC("e1000_init_hw");
 
+    /* force full DMA clock frequency for 10/100 on ICH8 A0-B0 */
+    if (hw->mac_type == e1000_ich8lan) {
+        reg_data = E1000_READ_REG(hw, TARC0);
+        reg_data |= 0x30000000;
+        E1000_WRITE_REG(hw, TARC0, reg_data);
+
+        reg_data = E1000_READ_REG(hw, STATUS);
+        reg_data &= ~0x80000000;
+        E1000_WRITE_REG(hw, STATUS, reg_data);
+    }
+
     /* Initialize Identification LED */
     ret_val = e1000_id_led_init(hw);
     if(ret_val) {



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 09/13] e1000: Disable aggressive clocking on esb2 with SERDES port
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
                   ` (7 preceding siblings ...)
  2006-08-16 21:56 ` [PATCH 08/13] e1000: Force full DMA clocking for 10/100 speed Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 10/13] e1000: Increment driver version to 7.1.9-k6 Kok, Auke
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Disable aggressive clocking on esb2 with SERDES port as it causes
hardware problems.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/e1000/e1000_main.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index b2caaa2..978e3b7 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -1498,8 +1498,6 @@ e1000_configure_tx(struct e1000_adapter 
 	} else if (hw->mac_type == e1000_80003es2lan) {
 		tarc = E1000_READ_REG(hw, TARC0);
 		tarc |= 1;
-		if (hw->media_type == e1000_media_type_internal_serdes)
-			tarc |= (1 << 20);
 		E1000_WRITE_REG(hw, TARC0, tarc);
 		tarc = E1000_READ_REG(hw, TARC1);
 		tarc |= 1;



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 10/13] e1000: Increment driver version to 7.1.9-k6
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
                   ` (8 preceding siblings ...)
  2006-08-16 21:56 ` [PATCH 09/13] e1000: Disable aggressive clocking on esb2 with SERDES port Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 11/13] ixgb: Add CX4 PHY type detection and subdevice ID Kok, Auke
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/e1000/e1000_main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 978e3b7..815abe5 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -36,7 +36,7 @@ static char e1000_driver_string[] = "Int
 #else
 #define DRIVERNAPI "-NAPI"
 #endif
-#define DRV_VERSION "7.1.9-k4"DRIVERNAPI
+#define DRV_VERSION "7.1.9-k6"DRIVERNAPI
 char e1000_driver_version[] = DRV_VERSION;
 static char e1000_copyright[] = "Copyright (c) 1999-2006 Intel Corporation.";
 



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 11/13] ixgb: Add CX4 PHY type detection and subdevice ID.
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
                   ` (9 preceding siblings ...)
  2006-08-16 21:56 ` [PATCH 10/13] e1000: Increment driver version to 7.1.9-k6 Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 12/13] ixgb: fix cache miss due to miscalculation Kok, Auke
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Signed-off-by: Manasi Deval <manasi.deval@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/ixgb/ixgb_hw.c  |   11 +++++++++++
 drivers/net/ixgb/ixgb_ids.h |    1 +
 2 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ixgb/ixgb_hw.c b/drivers/net/ixgb/ixgb_hw.c
index f7fa10e..2b15155 100644
--- a/drivers/net/ixgb/ixgb_hw.c
+++ b/drivers/net/ixgb/ixgb_hw.c
@@ -236,6 +236,17 @@ ixgb_identify_phy(struct ixgb_hw *hw)
 		DEBUGOUT("Identified G6104 optics\n");
 		phy_type = ixgb_phy_type_g6104;
 		break;
+	case IXGB_DEVICE_ID_82597EX_CX4:
+		DEBUGOUT("Identified CX4\n");
+		xpak_vendor = ixgb_identify_xpak_vendor(hw);
+		if (xpak_vendor == ixgb_xpak_vendor_intel) {
+			DEBUGOUT("Identified TXN17201 optics\n");
+			phy_type = ixgb_phy_type_txn17201;
+		} else {
+			DEBUGOUT("Identified G6005 optics\n");
+			phy_type = ixgb_phy_type_g6005;
+		}
+		break;
 	default:
 		DEBUGOUT("Unknown physical layer module\n");
 		phy_type = ixgb_phy_type_unknown;
diff --git a/drivers/net/ixgb/ixgb_ids.h b/drivers/net/ixgb/ixgb_ids.h
index 40a085f..9fd6118 100644
--- a/drivers/net/ixgb/ixgb_ids.h
+++ b/drivers/net/ixgb/ixgb_ids.h
@@ -45,6 +45,7 @@
 
 #define IXGB_DEVICE_ID_82597EX_CX4   0x109E
 #define IXGB_SUBDEVICE_ID_A00C  0xA00C
+#define IXGB_SUBDEVICE_ID_A01C  0xA01C
 
 #endif /* #ifndef _IXGB_IDS_H_ */
 /* End of File */



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 12/13] ixgb: fix cache miss due to miscalculation
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
                   ` (10 preceding siblings ...)
  2006-08-16 21:56 ` [PATCH 11/13] ixgb: Add CX4 PHY type detection and subdevice ID Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-16 21:56 ` [PATCH 13/13] ixgb: Increment version to 1.0.109-k4 Kok, Auke
  2006-08-24  4:47 ` [PATCH 00/13] e100, e1000, ixgb fixes Jeff Garzik
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Reduce writeback threshold by 1. We were instructing the hardware to
wait until the 17th descriptor which went over the cache line limit.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke.jan.h.kok@intel.com>
---

 drivers/net/ixgb/ixgb_main.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index 7bbd447..770eef2 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -140,12 +140,12 @@ module_param(debug, int, 0);
 MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
 
 /* some defines for controlling descriptor fetches in h/w */
-#define RXDCTL_WTHRESH_DEFAULT 16	/* chip writes back at this many or RXT0 */
-#define RXDCTL_PTHRESH_DEFAULT 0		/* chip considers prefech below
-						 * this */
-#define RXDCTL_HTHRESH_DEFAULT 0		/* chip will only prefetch if tail
-						 * is pushed this many descriptors
-						 * from head */
+#define RXDCTL_WTHRESH_DEFAULT 15  /* chip writes back at this many or RXT0 */
+#define RXDCTL_PTHRESH_DEFAULT 0   /* chip considers prefech below
+                                    * this */
+#define RXDCTL_HTHRESH_DEFAULT 0   /* chip will only prefetch if tail
+                                    * is pushed this many descriptors
+                                    * from head */
 
 /**
  * ixgb_init_module - Driver Registration Routine



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* [PATCH 13/13] ixgb: Increment version to 1.0.109-k4
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
                   ` (11 preceding siblings ...)
  2006-08-16 21:56 ` [PATCH 12/13] ixgb: fix cache miss due to miscalculation Kok, Auke
@ 2006-08-16 21:56 ` Kok, Auke
  2006-08-24  4:47 ` [PATCH 00/13] e100, e1000, ixgb fixes Jeff Garzik
  13 siblings, 0 replies; 15+ messages in thread
From: Kok, Auke @ 2006-08-16 21:56 UTC (permalink / raw)
  To: Garzik, Jeff
  Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Kok, Auke,
	Ronciak, John


Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---

 drivers/net/ixgb/ixgb_main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index 770eef2..b1cf852 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -36,7 +36,7 @@ static char ixgb_driver_string[] = "Inte
 #else
 #define DRIVERNAPI "-NAPI"
 #endif
-#define DRV_VERSION		"1.0.109-k2"DRIVERNAPI
+#define DRV_VERSION		"1.0.109-k4"DRIVERNAPI
 char ixgb_driver_version[] = DRV_VERSION;
 static char ixgb_copyright[] = "Copyright (c) 1999-2006 Intel Corporation.";
 



--
Auke Kok <auke-jan.h.kok@intel.com>

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

* Re: [PATCH 00/13] e100, e1000, ixgb fixes
  2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
                   ` (12 preceding siblings ...)
  2006-08-16 21:56 ` [PATCH 13/13] ixgb: Increment version to 1.0.109-k4 Kok, Auke
@ 2006-08-24  4:47 ` Jeff Garzik
  13 siblings, 0 replies; 15+ messages in thread
From: Jeff Garzik @ 2006-08-24  4:47 UTC (permalink / raw)
  To: Kok, Auke; +Cc: netdev, akpm, Brandeburg, Jesse, Kok, Auke, Ronciak, John

pulled into #upstream


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

end of thread, other threads:[~2006-08-24  4:47 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-16 21:53 [PATCH 00/13] e100, e1000, ixgb fixes Kok, Auke
2006-08-16 21:56 ` [PATCH 01/13] e100: Fix MDIO/MDIO-X Kok, Auke
2006-08-16 21:56 ` [PATCH 02/13] e100: increment version to 3.5.10-k4 Kok, Auke
2006-08-16 21:56 ` [PATCH 03/13] e1000: Same cosmetic fix as earlier sent out for IPV4 Kok, Auke
2006-08-16 21:56 ` [PATCH 04/13] e1000: Remove 0x1000 as supported device Kok, Auke
2006-08-16 21:56 ` [PATCH 05/13] e1000: Explicitly power up the PHY during loopback testing Kok, Auke
2006-08-16 21:56 ` [PATCH 06/13] e1000: explicit locking for two ethtool path functions Kok, Auke
2006-08-16 21:56 ` [PATCH 07/13] e1000: Allow NVM to setup LPLU for IGP2 and IGP3 Kok, Auke
2006-08-16 21:56 ` [PATCH 08/13] e1000: Force full DMA clocking for 10/100 speed Kok, Auke
2006-08-16 21:56 ` [PATCH 09/13] e1000: Disable aggressive clocking on esb2 with SERDES port Kok, Auke
2006-08-16 21:56 ` [PATCH 10/13] e1000: Increment driver version to 7.1.9-k6 Kok, Auke
2006-08-16 21:56 ` [PATCH 11/13] ixgb: Add CX4 PHY type detection and subdevice ID Kok, Auke
2006-08-16 21:56 ` [PATCH 12/13] ixgb: fix cache miss due to miscalculation Kok, Auke
2006-08-16 21:56 ` [PATCH 13/13] ixgb: Increment version to 1.0.109-k4 Kok, Auke
2006-08-24  4:47 ` [PATCH 00/13] e100, e1000, ixgb fixes Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).