[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-devel] Re: [task #7896] Support zero-copy drivers

From: Mike Kleshov
Subject: Re: [lwip-devel] Re: [task #7896] Support zero-copy drivers
Date: Sun, 23 May 2010 01:44:14 +0400

On 22 May 2010 23:25, address@hidden <address@hidden> wrote:
> That looks strange, indeed. I've had a quick look at the the PDF provided at
> www.freescale.com and I couldn't find a note about the size having to be a
> multiple of 16 bytes. Instead, I found that the TX-buffers have to be
> 4-byte-aligned while the RX-buffers have to be 16-byte aligned. This brings
> us to the fact that there is at least a different alignment requirement for
> TX- or RX-buffers than for the rest of the stack.

I just had another look. It gets more confusing. I have designs based
on MCF5223x as well as MCF5225x. The manual for MCF5223x says that
only the bits [15..5] of the length field of the transmit buffer
descriptor are used by the DMA, while bits [4..0] are ignored. That
led me to believe that the length must always be a multiple of 32 (not
16, as I said initially.) But the manual for MCF5225x does not have
this restriction.
So there are 2 likely explanations:
1) The Ethernet controllers in those MCU's are in fact different, and
the one in MCF5225x is more flexible since it doesn't impose the
multiple-of-32-bytes restriction on transmit buffers.
2) The Ethernet controllers in those MCU's are identical, and there is
an error in the manual for MCF5223x. That would explain the suggestion
of using separate transmit buffers for IP, TCP and Ethernet headers.
I am leaning towards explanation 2.
As soon as I have a chance, I'll test this in hardware. I'll also
submit a service request to Freescale.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]