linux/drivers/net/e1000e
Bruce Allan e98cac447c e1000e: Fix/cleanup PHY reset code for ICHx/PCHx
i) Fixes a bug where e1000_sw_lcd_config_ich8lan() was calling
e1000_lan_init_done_ich8lan() to poll the STATUS.LAN_INIT_DONE bit to
make sure the MAC had completed the PHY configuration.  However,
e1000_lan_init_done_ich8lan() had already been called in one of the two
places where PHY reset occurs for ICHx/PCHx parts, which caused the second
call to busy-wait for 150 msec because the LAN_INIT_DONE bit had already
been checked and cleared.

ii) Cleanup the two separate PHY reset code paths, i.e. the full-chip reset
in e1000_reset_hw_ich8lan() and the PHY-only reset in
e1000_phy_hw_reset_ich8lan().  There was duplicate code in both paths to be
performed post-reset that are now combined into one new function -
e1000_post_phy_reset_ich8lan().  This cleanup also included moving the
clearing of the PHY Reset Asserted bit in the STATUS register (now done for
all ICH/PCH parts) and the check for the indication from h/w that basic
configuration has completed back to where it previously was in
e1000_get_cfg_done_ich8lan().

iii) Corrected a few comments

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-05-12 23:31:14 -07:00
..
82571.c e1000e: fix checks for manageability enabled and management pass-through 2010-05-12 23:31:13 -07:00
defines.h e1000e: fix checks for manageability enabled and management pass-through 2010-05-12 23:31:13 -07:00
e1000.h e1000e: save skb counts in TX to avoid cache misses 2010-05-05 21:11:25 -07:00
es2lan.c e1000e: fix checks for manageability enabled and management pass-through 2010-05-12 23:31:13 -07:00
ethtool.c e1000e: bad state after running ethtool diagnostics with AMT enabled 2010-05-12 23:31:09 -07:00
hw.h e1000e: move settting of flow control refresh timer to link setup code 2010-05-12 23:31:13 -07:00
ich8lan.c e1000e: Fix/cleanup PHY reset code for ICHx/PCHx 2010-05-12 23:31:14 -07:00
lib.c e1000e: fix checks for manageability enabled and management pass-through 2010-05-12 23:31:13 -07:00
Makefile e1000e: reformat comment blocks, cosmetic changes only 2008-03-28 22:14:56 -04:00
netdev.c e1000e: move settting of flow control refresh timer to link setup code 2010-05-12 23:31:13 -07:00
param.c e1000e: use static params to save stack space (part 2) 2010-05-12 23:31:09 -07:00
phy.c e1000e: Incorrect function pointer set for force_speed_duplex on 82577 2010-05-12 23:31:12 -07:00