]> git.hungrycats.org Git - linux/commitdiff
[e1000] Add PHY master/slave #define override
authorScott Feldman <scott.feldman@intel.com>
Thu, 11 Sep 2003 11:11:32 +0000 (07:11 -0400)
committerStephen Hemminger <shemminger@osdl.org>
Thu, 11 Sep 2003 11:11:32 +0000 (07:11 -0400)
* Add PHY master/slave #define override to address link issues
  with 82541/7 (rev2) against some low-end switches.  Forcing
  master will improve the time-to-link against these switches.

drivers/net/e1000/e1000.h
drivers/net/e1000/e1000_main.c

index 837f93d4cc3ab235f46aa250a59e4faf1dc1e154..0d356091478520b5a1e4afe34ca18815395562a9 100644 (file)
@@ -124,6 +124,11 @@ struct e1000_adapter;
 #define AUTO_ALL_MODES       0
 #define E1000_EEPROM_APME    0x0400
 
+#ifndef E1000_MASTER_SLAVE
+/* Switch to override PHY master/slave setting */
+#define E1000_MASTER_SLAVE     e1000_ms_hw_default
+#endif
+
 /* only works for sizes that are powers of 2 */
 #define E1000_ROUNDUP(i, size) ((i) = (((i) + (size) - 1) & ~((size) - 1)))
 
index 228a462ac4e47168db215114856b4b784b2272eb..22a735274966c03afbd919ccf834a0bd7147500f 100644 (file)
@@ -641,6 +641,7 @@ e1000_sw_init(struct e1000_adapter *adapter)
        if(hw->media_type == e1000_media_type_copper) {
                hw->mdix = AUTO_ALL_MODES;
                hw->disable_polarity_correction = FALSE;
+               hw->master_slave = E1000_MASTER_SLAVE;
        }
 
        atomic_set(&adapter->irq_sem, 1);