From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Sun, 12 Sep 2010 21:18:13 -0700 Subject: [U-Boot] [RFC][PATCH 2/3] e1000: Intel 82571EB: Don't wait for MNG cycle on unmanaged chips In-Reply-To: <1283192693-7328-3-git-send-email-Kyle.D.Moffett@boeing.com> References: <1283192693-7328-1-git-send-email-Kyle.D.Moffett@boeing.com> <1283192693-7328-3-git-send-email-Kyle.D.Moffett@boeing.com> Message-ID: <4C8DA605.2050707@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Kyle, On 8/30/2010 11:24 AM, Kyle Moffett wrote: > 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 > --- > Jeff Kirsher 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; Applied to net/next after fixing typo in prologue (see if you can find it) regards, Ben