|
@@ -836,6 +836,7 @@ static s32 e1000_init_hw_80003es2lan(struct e1000_hw *hw)
|
|
|
struct e1000_mac_info *mac = &hw->mac;
|
|
|
u32 reg_data;
|
|
|
s32 ret_val;
|
|
|
+ u16 kum_reg_data;
|
|
|
u16 i;
|
|
|
|
|
|
e1000_initialize_hw_bits_80003es2lan(hw);
|
|
@@ -861,6 +862,13 @@ static s32 e1000_init_hw_80003es2lan(struct e1000_hw *hw)
|
|
|
/* Setup link and flow control */
|
|
|
ret_val = e1000e_setup_link(hw);
|
|
|
|
|
|
+ /* Disable IBIST slave mode (far-end loopback) */
|
|
|
+ e1000_read_kmrn_reg_80003es2lan(hw, E1000_KMRNCTRLSTA_INBAND_PARAM,
|
|
|
+ &kum_reg_data);
|
|
|
+ kum_reg_data |= E1000_KMRNCTRLSTA_IBIST_DISABLE;
|
|
|
+ e1000_write_kmrn_reg_80003es2lan(hw, E1000_KMRNCTRLSTA_INBAND_PARAM,
|
|
|
+ kum_reg_data);
|
|
|
+
|
|
|
/* Set the transmit descriptor write-back policy */
|
|
|
reg_data = er32(TXDCTL(0));
|
|
|
reg_data = (reg_data & ~E1000_TXDCTL_WTHRESH) |
|