All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerry Van Baren <gerald.vanbaren@ge.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] tsec: Wait for auto-negotiation to complete without link
Date: Fri, 06 Feb 2009 08:32:14 -0500	[thread overview]
Message-ID: <498C3BDE.3020102@ge.com> (raw)
In-Reply-To: <1233851271.6434.2066.camel@localhost.localdomain>

Peter Tyser wrote:
> On Wed, 2009-02-04 at 17:07 -0600, Andy Fleming wrote:
>> On Wed, Feb 4, 2009 at 3:26 PM, Wolfgang Denk <wd@denx.de> wrote:
>>> Dear Andy Fleming,
>>>
>>> In message <2acbd3e40902041320l3bce93c1p989c4c33ca8e7ae@mail.gmail.com> you wrote:
>>>> Hmmm....I made that change for a reason.  Waiting for autonegotiation
>>>> to finish on a tsec with no link was quite tiresome.  If you've hooked
>>>> up the 4th tsec, and try to boot, you end up waiting for *three* tsecs
>>>> to timeout.  If dhcp fails because the link isn't up you can always
>>>> try again, or add a delay before dhcp starts so that the link is up.
>>> Why that? Don't you always enable only the interface you are trying to
>>> use?
>> The problem is that you don't always know which interface you have
>> hooked up.  So u-boot tries the one set in ethact, and then the next,
>> etc.  With the old method, the penalty for being wrong was quite high.
>>  I hadn't run into an issue with the link not being up.  Why don't we
>> look up the spec, and find out the maximum time we'd have to wait for
>> that to happen.  That way we get the best of both worlds.  My sense is
>> that the link comes up fast, but autonegotiation potentially takes a
>> while.

2 seconds minimum, it is written in the autonegotiation spec.  If you 
add the spec-required minimum times for each step of the dance, it is 2 
seconds.  It could take longer, but I've never seen anything but 2 seconds.

> My understanding was that link was was never achieved until
> autonegotiation was finished.  How could link be up before
> autonegotiation was complete?
> 
> With the original code I always saw 1 of 2 situations with a variety of
> Broadcom PHYs:
> 1. Autonegotiation completed and link was detected
> 2. Autonegotiation was in process and link was not detected
> 
> I never saw the case that the code referenced:
> 3. Autonegotiation was in process and link was detected
> 
> Do others see #3?
> 
> Thanks,
> Peter

I never tried #3 personally, but my understanding of the link and 
autonegotiation dance is that #3 is not possible.

You may see what appears to be #3 *if* your PHY is strapped to start 
autonegotiation on application of power (typically true) and *if* you 
don't do a software reset on the PHY as part of your power up sequence 
(see also my previous email on this thread).  This really isn't #3, it is...
4. Strap the PHY to autonegotiate on application of power and use the
      results from that rather than resetting the PHY and re-starting
      auto-negotiation in software.

Best regards,
gvb

  reply	other threads:[~2009-02-06 13:32 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-04 21:14 [U-Boot] [PATCH] tsec: Wait for auto-negotiation to complete without link Peter Tyser
2009-02-04 21:20 ` Andy Fleming
2009-02-04 21:26   ` Wolfgang Denk
2009-02-04 21:45     ` Peter Tyser
2009-02-04 23:07     ` Andy Fleming
2009-02-05 16:27       ` Peter Tyser
2009-02-06 13:32         ` Jerry Van Baren [this message]
2009-02-06 18:49           ` Andy Fleming
2009-02-06 19:30             ` Jerry Van Baren
2009-02-10  0:56               ` Andy Fleming
2009-02-10 13:59                 ` Jerry Van Baren
2009-02-10 17:31                   ` Scott Wood
2009-02-25 20:30                     ` Peter Tyser
2009-02-04 21:49   ` Scott Wood
2009-02-04 21:58     ` Wolfgang Denk
2009-02-04 22:00       ` Scott Wood
2009-02-04 22:19         ` Wolfgang Denk
2009-02-06 13:16       ` Jerry Van Baren
2009-02-06 17:16         ` Ben Warren
2009-07-19 20:14 ` Peter Tyser
2009-08-04 22:50   ` Peter Tyser
2009-08-21 17:04     ` Peter Tyser
2009-08-21 17:35 ` Ben Warren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=498C3BDE.3020102@ge.com \
    --to=gerald.vanbaren@ge.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.