[U-Boot] [PATCH v3 9/9] net/designware: Reduce DMA burst length

Chen-Yu Tsai
2014-04-28T05:51:49Z

On Mon, Apr 28, 2014 at 2:08 AM, Marek Vasut <marex@denx.de> wrote:
> On Sunday, April 27, 2014 at 05:29:29 PM, Chen-Yu Tsai wrote:
>> On Sun, Apr 27, 2014 at 11:25 PM, Ian Campbell <ijc@hellion.org.uk> wrote:
>> > On Sat, 2014-04-26 at 20:28 +0200, Marek Vasut wrote:
>> >> On Friday, April 18, 2014 at 08:05:50 PM, Ian Campbell wrote:
>> >> > From: Jens Kuske <jenskuske@gmail.com>
>> >> >
>> >> > The GMAC module in Allwinner sunxi SoCs seems to have problems with
>> >> > burst lengths > 8.
>> >>
>> >> Is there any explanation for the problems please ?
>> >
>> > Jens or Wens, can you answer this?
>>
>> IIRC, with burst lengths > 8, GMAC doesn't work, no ping, no DHCP.
>> I don't remember if it was TX or RX that suffered, or even both.
>>
>> Hope this clarifies things a bit.
>
> No, it does not at all, sorry. What you describe are symptoms, but what I want
> to know is what is the root cause of those symptoms. You did not explain that.

I can not offer much more explanation. The value was hardcoded in
Allwinner's code. The datasheets don't offer much, except this line
might be related:

(DMA) Descriptor architecture, allowing large blocks of data transfer
with minimum CPU intervention; each descriptor can transfer up to
4 KB data.

Also probably related:

4KB TX FIFO for transmission packets and 16KB RX FIFO for reception
packets.

I'm not an expert in hardware. We could ask Allwinner, but given past
inquiries from the linux-sunxi community, I'd say getting a reply on
hardware specifics is unlikely to happen.

So my guess is that this is limited by the DWMAC IP Allwinner licensed
from Synopsys.

Cheers
ChenYu