Thread (72 messages) 72 messages, 7 authors, 2011-03-03

Re: [PATCH v6] net: add Faraday FTMAC100 10/100 Ethernet driver

flat view

From: Po-Yu Chuang <hidden>
Date: 2011-03-01 05:20:27
Also in: lkml

Hi Eric,

On Fri, Feb 25, 2011 at 7:40 PM, Eric Dumazet [off-list ref] wrote:
Le vendredi 25 février 2011 à 17:57 +0800, Po-Yu Chuang a écrit :
quoted
From: Po-Yu Chuang <redacted>

FTMAC100 Ethernet Media Access Controller supports 10/100 Mbps and
MII.  This driver has been working on some ARM/NDS32 SoC's including
Faraday A320 and Andes AG101.

Signed-off-by: Po-Yu Chuang <redacted>
It seems fine to me, but I have somes questions

1) On V5, the receive function ftmac100_rx_packet() was able to process
several segments per skb. On V6 you process one frag only.

Isnt this NIC able to handle large MTU (say... 9000) ?
No, it isn't. Its max supported packet size is 0x7ff (2047 bytes).

I wasn't sure when will get multi-segment packet. After confirmed with
HW designer two weeks ago, he told me that only if the rx buffer described
by the first descriptor is not big enough, another rx buffer will be used.

That means, since every rx buffer is large enough, it is impossible to
get a multi-segment packets.

So I simplified ftmac100_rx_packet().
2) ftmac100_alloc_rx_page() is called and allocate a full page for a
rxdes.

128*4K -> 512 Kbytes of memory for RX ring

In V5, you were using half pages only, so 256 kbytes of memory.

If you look at other drivers (NIU, BENET), they are able to use exactly
128*2 kbytes (for a rxring of 128 slots, and 2Kbytes per slot)
Both NIU and BENET refill rx ring after all packets receive work done,
but I allocate rx buffer right after a packet is received. I think it
is difficult
to use a page for two rx buffers in my driver now. Can we just keep it
the way it is? I can study how to achieve that after current driver is accepted.

best regards,
Po-Yu Chuang
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help