[U-Boot-Users] 83xx, FSL_UEC reducing boot latency, printf causing crash

Joakim Tjernlund joakim.tjernlund at transmode.se
Wed Dec 19 09:07:28 CET 2007

On Tue, 2007-12-18 at 19:58 -0800, Russell McGuire wrote:
> Kim,
> I am getting around to helping test out this reduced latency patch.
> Interesting I have found the boot cycle times are MUCH faster, however, is
> it supposed to continuously restart the auto-negotiation each time a
> ethernet access is performed? i.e. a new ping, or tftp download? For example
> if I issue a tftp load three times in a row, the 2nd time it will tear down
> the link and restart it. The third time it will crash, though I believe this
> is to do with the below mentioned printf issue.
> I am looking into ways to optimize this, are there any updates to the patch
> before I start modifying things?
> Another bug?? Not sure this is Ethernet specific but perhaps U-boot generic.
> Is that if I add printf() statements throughout the uec code I get total
> crashes of u-boot, i.e. bad traps that result in a back trace and board
> resets.
> -Russ
> ________________________________


> > +	status = phy_read(mii_info, PHY_BMSR);
> > +	if ((status & PHY_BMSR_LS) && (status & PHY_BMSR_AUTN_ABLE)
> > +	    && !(status & PHY_BMSR_AUTN_COMP)) {
> > +		int i = 0;
> > +
> > +		puts("Waiting for PHY auto negotiation to complete");

This printout never happens for me, even though AN is restarted.

I am not really sure that AN needs to be restarted on the first access
either. An AN restart adds a 2 seconds delay for me that I didn't have
before. Maybe it would be enough to check if AN needs to be restarted
and only perform an restart if needed?


More information about the U-Boot mailing list