[U-Boot] [RFC][PATCH 2/3] e1000: Intel 82571EB: Don't wait for MNG cycle on unmanaged chips
Ben Warren
biggerbadderben at gmail.com
Mon Sep 13 06:18:13 CEST 2010
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<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;
Applied to net/next after fixing typo in prologue (see if you can find it)
regards,
Ben
More information about the U-Boot
mailing list