mpc5200 fec error
Grant Likely
grant.likely at secretlab.ca
Thu May 21 03:41:55 EST 2009
[ed: quoting repaired]
On Wed, May 20, 2009 at 11:26 AM, Eric Millbrandt
<emillbrandt at dekaresearch.com> wrote:
> Grant Likely wrote:
> > Yes, that sounds familiar. Most likely, the value of the MDIO bus
> > control register got clobbered and not reset when the FEC was reset.
> > Try adding this line to the beginning of mpc52xx_fec_mdio_transfer():
> >
> > out_be32(&fec->mii_speed, 0x7e);
> >
> > It's a dirty ugly hack, but it should help. If that works, then I can
> > come up with a better solution. Part of the problem is that the MDIO
> > handling in the current code really isn't very good. I've got changes
> > queued up in -next which cleans it up quite a bit which should make it
> > easier to fix properly.
>
> That worked! I'm still getting the fifo receive errors, but at least now the fec recovers.
Okay, I'll see if I can work that into a cleaner patch. In fact, I
should look into reworking it so that the PHY doesn't get reset on a
FIFO error. It shouldn't need to be reset at all AFAIKT. That way
even when FIFO errors occur, they should not cause an expensive
renegotiate time.
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
More information about the Linuxppc-dev
mailing list