All of lore.kernel.org
 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 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.