summaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/phy.c
diff options
context:
space:
mode:
authorBruce Allan <bruce.w.allan@intel.com>2010-05-10 15:02:32 +0000
committerDavid S. Miller <davem@davemloft.net>2010-05-12 23:31:14 -0700
commite98cac447cc1cc418dff1d610a5c79c4f2bdec7f (patch)
treefbb290c330f7ffdbb574132460f18f9261cacba9 /drivers/net/e1000e/phy.c
parenta305595b127fdbe7ab5ba458f7ee470a82a3b82c (diff)
downloadblackbird-op-linux-e98cac447cc1cc418dff1d610a5c79c4f2bdec7f.tar.gz
blackbird-op-linux-e98cac447cc1cc418dff1d610a5c79c4f2bdec7f.zip
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>
Diffstat (limited to 'drivers/net/e1000e/phy.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud