[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