e1000 driver update

Signed-off-by: Jeff Kirsher <[EMAIL PROTECTED]>
Signed-off-by: John Ronciak <[EMAIL PROTECTED]>
Signed-off-by: Jesse Brandeburg <[EMAIL PROTECTED]>


6. Comments/Doc/Driver Version

diff -up linux-2.6/drivers/net/e1000/e1000_hw.c 
linux-2.6.new/drivers/net/e1000/e1000_hw.c
--- linux-2.6/drivers/net/e1000/e1000_hw.c      2005-11-14 16:20:34.000000000 
-0800
+++ linux-2.6.new/drivers/net/e1000/e1000_hw.c  2005-11-04 01:23:40.000000000 
-0800
@@ -318,6 +318,7 @@ e1000_set_mac_type(struct e1000_hw *hw)
     case E1000_DEV_ID_82546GB_FIBER:
     case E1000_DEV_ID_82546GB_SERDES:
     case E1000_DEV_ID_82546GB_PCIE:
+    case E1000_DEV_ID_82546GB_QUAD_COPPER:
         hw->mac_type = e1000_82546_rev_3;
         break;
     case E1000_DEV_ID_82541EI:
diff -up linux-2.6/drivers/net/e1000/e1000_main.c 
linux-2.6.new/drivers/net/e1000/e1000_main.c
--- linux-2.6/drivers/net/e1000/e1000_main.c    2005-11-14 16:20:34.000000000 
-0800
+++ linux-2.6.new/drivers/net/e1000/e1000_main.c        2005-11-04 
01:23:40.000000000 -0800
@@ -29,10 +29,85 @@
 #include "e1000.h"
 
 /* Change Log
+ * 6.2.15      9/20/05
+ *   o For all AMT enabled configurations, set/reset DRV_LOAD bit on 
+ *     interface open/close. The DRV_LOAD bit must not be set if the 
+ *     driver is loaded but the interface is not open
+ * 6.2.14      9/15/05
+ *   o In AMT enabled configurations, set/reset DRV_LOAD bit on interface 
+ *     open/close 
+ * 6.2.13       9/14/05
+ *   o Invoke e1000_check_mng_mode only for 8257x controllers since it 
+ *     accesses the FWSM that is not supported in other controllers
+ * 6.2.12       9/9/05
+ *   o Add support for device id E1000_DEV_ID_82546GB_QUAD_COPPER
+ *   o set RCTL:SECRC only for controllers newer than 82543. 
+ *   o When the n/w interface comes down reset DRV_LOAD bit to notify f/w.
+ *     This code was moved from e1000_remove to e1000_close
+ * 6.2.10       9/6/05
+ *   o Fix error in updating RDT in el1000_alloc_rx_buffers[_ps] -- one off.
+ *   o Enable fc by default on 82573 controllers (do not read eeprom)
+ *   o Fix rx_errors statistic not to include missed_packet_count
+ *   o Fix rx_dropped statistic not to include missed_packet_count 
+       (Padraig Brady)
+ * 6.2.9        8/30/05
+ *   o Remove call to update statistics from the controller ib e1000_get_stats
+ * 6.2.8        8/30/05
+ *   o Improved algorithm for rx buffer allocation/rdt update
+ *   o Flow control watermarks relative to rx PBA size
+ *   o Simplified 'Tx Hung' detect logic
+ * 6.2.7       8/17/05
+ *   o Report rx buffer allocation failures and tx timeout counts in stats
+ * 6.2.6       8/16/05
+ *   o Implement workaround for controller erratum -- linear non-tso packet
+ *     following a TSO gets written back prematurely
+ * 6.2.5       8/15/05
+ *   o Set netdev->tx_queue_len based on link speed/duplex settings.
+ *   o Fix net_stats.rx_fifo_errors <[EMAIL PROTECTED]>
+ *   o Do not power off PHY if SoL/IDER session is active
+ * 6.2.4       8/10/05
+ *   o Fix loopback test setup/cleanup for 82571/3 controllers
+ *   o Fix parsing of outgoing packets (e1000_transfer_dhcp_info) to treat
+ *     all packets as raw
+ *   o Prevent operations that will cause the PHY to be reset if SoL/IDER
+ *     sessions are active and log a message
+ * 6.2.2       7/21/05
+ *   o used fixed size descriptors for all MTU sizes, reduces memory load
+ * 6.2.1       7/21/05
+ *   o Performance tweaks, including copybreak and prefetch
+ * 6.1.2       4/13/05
+ *   o Fixed ethtool diagnostics
+ *   o Enabled flow control to take default eeprom settings
+ *   o Added stats_lock around e1000_read_phy_reg commands to avoid concurrent
+ *     calls, one from mii_ioctl and other from within update_stats while 
processing
+ *     MIIREG ioctl.
  * 6.0.58       4/20/05
- *   o Accepted ethtool cleanup patch from Stephen Hemminger 
+ *   o e1000_set_spd_dplx tests for compatible speed/duplex specification
+ *     for fiber adapters
+ * 6.0.57      4/19/05
+ *   o Added code to fix register test failure for devices >= 82571
+ * 6.0.55       3/23/05
+ *   o Support for MODULE_VERSION
+ *   o Fix APM setting for 82544 based adapters
+ * 6.0.54      3/26/05
+ *   o Added a timer to expire packets that were deferred for cleanup
+ * 6.0.52      3/15/05
+ *   o Added stats_lock around e1000_read_phy_reg commands to avoid concurrent
+ *     calls, one from mii_ioctl and other from within update_stats while
+ *     processing MIIREG ioctl.
+ * 6.0.47      3/2/05
+ *   o Added enhanced functionality to the loopback diags to wrap the
+ *     descriptor rings
+ *   o Added manageability vlan filtering workaround.
  * 6.0.44+     2/15/05
- *   o applied Anton's patch to resolve tx hang in hardware
+ *   o Added code to handle raw packet based DHCP packets
+ *   o Added code to fix the errata 10 buffer overflow issue
+ *   o Sync up with WR01-05
+ *     o applied Anton's patch to resolve tx hang in hardware
+ *     o e1000 timeouts with early writeback patch
+ *   o Removed Queensport IDs
+ *   o fixed driver panic if MAC receives a bad large packets when packet
+ *     split is enabled
  *   o Applied Andrew Mortons patch - e1000 stops working after resume
  */
 
@@ -43,7 +43,7 @@ 
 #else
 #define DRIVERNAPI "-NAPI"
 #endif
-#define DRV_VERSION "6.1.16-k2"DRIVERNAPI
+#define DRV_VERSION "6.2.15-k2"DRIVERNAPI
 char e1000_driver_version[] = DRV_VERSION;
 static char e1000_copyright[] = "Copyright (c) 1999-2005 Intel Corporation.";
 
@@ -3228,16 +3138,16 @@ e1000_intr(int irq, void *data, struct p
 
 #else /* if !CONFIG_E1000_NAPI */
        /* Writing IMC and IMS is needed for 82547.
-          Due to Hub Link bus being occupied, an interrupt
-          de-assertion message is not able to be sent.
-          When an interrupt assertion message is generated later,
-          two messages are re-ordered and sent out.
-          That causes APIC to think 82547 is in de-assertion
-          state, while 82547 is in assertion state, resulting
-          in dead lock. Writing IMC forces 82547 into
-          de-assertion state.
-       */
        if(hw->mac_type == e1000_82547 || hw->mac_type == e1000_82547_rev_2){
+        * Due to Hub Link bus being occupied, an interrupt
+        * de-assertion message is not able to be sent.
+        * When an interrupt assertion message is generated later,
+        * two messages are re-ordered and sent out.
+        * That causes APIC to think 82547 is in de-assertion
+        * state, while 82547 is in assertion state, resulting
+        * in dead lock. Writing IMC forces 82547 into
+        * de-assertion state.
+        */
                atomic_inc(&adapter->irq_sem);
                E1000_WRITE_REG(hw, IMC, ~0);
        }


Cheers,
Jeff
diff -up linux-2.6/drivers/net/e1000/e1000_hw.c 
linux-2.6.new/drivers/net/e1000/e1000_hw.c
--- linux-2.6/drivers/net/e1000/e1000_hw.c      2005-11-14 16:20:34.000000000 
-0800
+++ linux-2.6.new/drivers/net/e1000/e1000_hw.c  2005-11-04 01:23:40.000000000 
-0800
@@ -318,6 +318,7 @@ e1000_set_mac_type(struct e1000_hw *hw)
     case E1000_DEV_ID_82546GB_FIBER:
     case E1000_DEV_ID_82546GB_SERDES:
     case E1000_DEV_ID_82546GB_PCIE:
+    case E1000_DEV_ID_82546GB_QUAD_COPPER:
         hw->mac_type = e1000_82546_rev_3;
         break;
     case E1000_DEV_ID_82541EI:
diff -up linux-2.6/drivers/net/e1000/e1000_main.c 
linux-2.6.new/drivers/net/e1000/e1000_main.c
--- linux-2.6/drivers/net/e1000/e1000_main.c    2005-11-14 16:20:34.000000000 
-0800
+++ linux-2.6.new/drivers/net/e1000/e1000_main.c        2005-11-04 
01:23:40.000000000 -0800
@@ -29,10 +29,85 @@
 #include "e1000.h"
 
 /* Change Log
+ * 6.2.15      9/20/05
+ *   o For all AMT enabled configurations, set/reset DRV_LOAD bit on 
+ *     interface open/close. The DRV_LOAD bit must not be set if the 
+ *     driver is loaded but the interface is not open
+ * 6.2.14      9/15/05
+ *   o In AMT enabled configurations, set/reset DRV_LOAD bit on interface 
+ *     open/close 
+ * 6.2.13       9/14/05
+ *   o Invoke e1000_check_mng_mode only for 8257x controllers since it 
+ *     accesses the FWSM that is not supported in other controllers
+ * 6.2.12       9/9/05
+ *   o Add support for device id E1000_DEV_ID_82546GB_QUAD_COPPER
+ *   o set RCTL:SECRC only for controllers newer than 82543. 
+ *   o When the n/w interface comes down reset DRV_LOAD bit to notify f/w.
+ *     This code was moved from e1000_remove to e1000_close
+ * 6.2.10       9/6/05
+ *   o Fix error in updating RDT in el1000_alloc_rx_buffers[_ps] -- one off.
+ *   o Enable fc by default on 82573 controllers (do not read eeprom)
+ *   o Fix rx_errors statistic not to include missed_packet_count
+ *   o Fix rx_dropped statistic not to include missed_packet_count 
+       (Padraig Brady)
+ * 6.2.9        8/30/05
+ *   o Remove call to update statistics from the controller ib e1000_get_stats
+ * 6.2.8        8/30/05
+ *   o Improved algorithm for rx buffer allocation/rdt update
+ *   o Flow control watermarks relative to rx PBA size
+ *   o Simplified 'Tx Hung' detect logic
+ * 6.2.7       8/17/05
+ *   o Report rx buffer allocation failures and tx timeout counts in stats
+ * 6.2.6       8/16/05
+ *   o Implement workaround for controller erratum -- linear non-tso packet
+ *     following a TSO gets written back prematurely
+ * 6.2.5       8/15/05
+ *   o Set netdev->tx_queue_len based on link speed/duplex settings.
+ *   o Fix net_stats.rx_fifo_errors <[EMAIL PROTECTED]>
+ *   o Do not power off PHY if SoL/IDER session is active
+ * 6.2.4       8/10/05
+ *   o Fix loopback test setup/cleanup for 82571/3 controllers
+ *   o Fix parsing of outgoing packets (e1000_transfer_dhcp_info) to treat
+ *     all packets as raw
+ *   o Prevent operations that will cause the PHY to be reset if SoL/IDER
+ *     sessions are active and log a message
+ * 6.2.2       7/21/05
+ *   o used fixed size descriptors for all MTU sizes, reduces memory load
+ * 6.2.1       7/21/05
+ *   o Performance tweaks, including copybreak and prefetch
+ * 6.1.2       4/13/05
+ *   o Fixed ethtool diagnostics
+ *   o Enabled flow control to take default eeprom settings
+ *   o Added stats_lock around e1000_read_phy_reg commands to avoid concurrent
+ *     calls, one from mii_ioctl and other from within update_stats while 
processing
+ *     MIIREG ioctl.
  * 6.0.58       4/20/05
- *   o Accepted ethtool cleanup patch from Stephen Hemminger 
+ *   o e1000_set_spd_dplx tests for compatible speed/duplex specification
+ *     for fiber adapters
+ * 6.0.57      4/19/05
+ *   o Added code to fix register test failure for devices >= 82571
+ * 6.0.55       3/23/05
+ *   o Support for MODULE_VERSION
+ *   o Fix APM setting for 82544 based adapters
+ * 6.0.54      3/26/05
+ *   o Added a timer to expire packets that were deferred for cleanup
+ * 6.0.52      3/15/05
+ *   o Added stats_lock around e1000_read_phy_reg commands to avoid concurrent
+ *     calls, one from mii_ioctl and other from within update_stats while
+ *     processing MIIREG ioctl.
+ * 6.0.47      3/2/05
+ *   o Added enhanced functionality to the loopback diags to wrap the
+ *     descriptor rings
+ *   o Added manageability vlan filtering workaround.
  * 6.0.44+     2/15/05
- *   o applied Anton's patch to resolve tx hang in hardware
+ *   o Added code to handle raw packet based DHCP packets
+ *   o Added code to fix the errata 10 buffer overflow issue
+ *   o Sync up with WR01-05
+ *     o applied Anton's patch to resolve tx hang in hardware
+ *     o e1000 timeouts with early writeback patch
+ *   o Removed Queensport IDs
+ *   o fixed driver panic if MAC receives a bad large packets when packet
+ *     split is enabled
  *   o Applied Andrew Mortons patch - e1000 stops working after resume
  */
 
@@ -43,7 +43,7 @@ 
 #else
 #define DRIVERNAPI "-NAPI"
 #endif
-#define DRV_VERSION "6.1.16-k2"DRIVERNAPI
+#define DRV_VERSION "6.2.15-k2"DRIVERNAPI
 char e1000_driver_version[] = DRV_VERSION;
 static char e1000_copyright[] = "Copyright (c) 1999-2005 Intel Corporation.";
 
@@ -3228,16 +3138,16 @@ e1000_intr(int irq, void *data, struct p
 
 #else /* if !CONFIG_E1000_NAPI */
        /* Writing IMC and IMS is needed for 82547.
-          Due to Hub Link bus being occupied, an interrupt
-          de-assertion message is not able to be sent.
-          When an interrupt assertion message is generated later,
-          two messages are re-ordered and sent out.
-          That causes APIC to think 82547 is in de-assertion
-          state, while 82547 is in assertion state, resulting
-          in dead lock. Writing IMC forces 82547 into
-          de-assertion state.
-       */
        if(hw->mac_type == e1000_82547 || hw->mac_type == e1000_82547_rev_2){
+        * Due to Hub Link bus being occupied, an interrupt
+        * de-assertion message is not able to be sent.
+        * When an interrupt assertion message is generated later,
+        * two messages are re-ordered and sent out.
+        * That causes APIC to think 82547 is in de-assertion
+        * state, while 82547 is in assertion state, resulting
+        * in dead lock. Writing IMC forces 82547 into
+        * de-assertion state.
+        */
                atomic_inc(&adapter->irq_sem);
                E1000_WRITE_REG(hw, IMC, ~0);
        }

Reply via email to