I was having deja-vu with this and realized that I have fixed at least some of the objections to this patch.
Wolfgang you may want to look at the patch in my 5121 git tree here: http://git.denx.de/?p=linux-mpc512x.git;a=commit;h=2950be3be42af7449941c3340998c27ef918f10f It does runtime tx packet alignment It also has fewer ifdefs and trys to share more code. It also has a header that explains everything including that fact that there is not a runtime conflict sine the only other ppc that has fec is 8xx which is not in the same family. On Wed, May 6, 2009 at 4:42 PM, Grant Likely <grant.lik...@secretlab.ca>wrote: > On Wed, May 6, 2009 at 4:12 PM, Wolfgang Denk <w...@denx.de> wrote: > > Dear Grant Likely, > > > > In message <fa686aa40905061337w6aa82f5aj787618ba108e5...@mail.gmail.com> > you wrote: > >> > >> > The FEC on 5121 has problems with misaligned tx buffers. > >> > The RM says any alignment is ok but empirical results > >> > show that packet buffers ending in 0x1E will sometimes > >> > hang the FEC. Other bad alignment does not hang but will > >> > cause silent TX failures resulting in about a 1% packet > >> > loss as tested by ping -f from a remote host. > >> > > >> > This patch is a work around that copies every tx packet > >> > to an aligned skb before sending. > >> > >> OUCH! > > > > Yes :-( > > > >> > +#else > >> > +#define tx_skb_align_workaround(dev, skb) (skb) > >> > +#endif > >> > >> Another use of #ifdef blocks. What is the multiplatform impact? > > > > Hm... Can you recommend a better way to solve the problem? Suggestions > > are welcome. > > I'd rather see a runtime selectable workaround. ie. enable it based > on the compatible property. > > g. > > -- > Grant Likely, B.Sc., P.Eng. > Secret Lab Technologies Ltd. >
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev