Subject: Re: Ethernet fails on MPC5200 based target

From: Sylvain Munaut <[email-masked]>
Date: Tue, 16 Jan 2007 13:00:37 +0100

Andrea Galbusera wrote:
>> Maybe some things (like xlb pipelining, cache snooping, ...) is not properly
>> setup in you platform support code ?
>>     
>
> Following your suggestion, I started from here... Comparing the
> unaffected kernel (from DENX) with yours I tryed commenting out the
> following in mpc52xx_setup_cpu() :
>
>   /* Disable XLB pipelining */
>   /* (cfr errate 292. We could do this only just before ATA PIO
>      transaction and re-enable it after ...) */
>   out_be32(&xlb->config, in_be32(&xlb->config) | MPC52xx_XLB_CFG_PLDIS);
>
> In fact this gives much better results, but does not completely solve
> the problem. Network packets corruption seems to be gone, but, after
> massive pinging (about 1k ping packets) it comes back with about the
> same frequency as before the change.
>   
And does the problem also appears on the denx kernel after 1k ping packets ?

Are the fec driver the same ?
Are the fec task code the same ? (in bestcomm/fec.c )
> I can't figure out what is the impact of keeping XLB pipelining enabled
> on the eth behavior. I'm sharing this results in the hope someone have
> any other valuable suggestion
>   
Well me neither, it should only affect performance, not create
corruption ...
AFAI understand it anyway.

    Sylvain