From 95625b88932863e896bdb70e1b6374ad02f5c0ab Mon Sep 17 00:00:00 2001 From: Scott Feldman Date: Thu, 11 Sep 2003 07:11:32 -0400 Subject: [PATCH] [e1000] Add PHY master/slave #define override * 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 | 5 +++++ drivers/net/e1000/e1000_main.c | 1 + 2 files changed, 6 insertions(+) diff --git a/drivers/net/e1000/e1000.h b/drivers/net/e1000/e1000.h index 837f93d4cc3ab..0d35609147852 100644 --- a/drivers/net/e1000/e1000.h +++ b/drivers/net/e1000/e1000.h @@ -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))) diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 228a462ac4e47..22a735274966c 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c @@ -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); -- 2.53.0