[U-Boot] [RFC][PATCH 2/3] e1000: Intel 82571EB: Don't wait for MNG cycle on unmanaged chips
Kyle Moffett
Kyle.D.Moffett at boeing.com
Mon Aug 30 20:24:52 CEST 2010
The Intel 82571EB chipset can be used in an unmanaged configuration as a
fast dual-port Gig-E controller. Unfortunately a board consturcted that
way would fail to correctly come up because the driver polls for the
completion of a management cycle that will never occur.
To resolve this problem, we disable the poll and error return on chips
whose EEPROMS indicate no management. As a protection against
misconfigured chipsets, we still delay for the entire management poll
timeout.
Signed-off-by: Kyle Moffett <Kyle.D.Moffett at boeing.com>
---
Jeff Kirsher <jeffrey.t.kirsher at intel.com> has already accepted a similar
patch to the Linux kernel into his e1000e patch queue.
drivers/net/e1000.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index 2825342..c9677b4 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -4266,6 +4266,13 @@ e1000_get_phy_cfg_done(struct e1000_hw *hw)
/* Fall Through */
case e1000_82571:
case e1000_82572:
+ /* Don't bother polling the management regs if unmanaged */
+ if (!e1000_check_mng_mode(hw)) {
+ DEBUGOUT("Unmanaged chip... skipping MNG polling\n");
+ mdelay(timeout);
+ return 0;
+ }
+
while (timeout) {
if (E1000_READ_REG(hw, EEMNGCTL) & cfg_mask)
break;
--
1.7.1
More information about the U-Boot
mailing list