[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50EC45B5.3000601@boundarydevices.com>
Date: Tue, 08 Jan 2013 09:13:41 -0700
From: Eric Nelson <eric.nelson@...ndarydevices.com>
To: Dirk Behme <dirk.behme@...bosch.com>
CC: Frank Li <Frank.Li@...escale.com>,
"B38611@...escale.com" <B38611@...escale.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"lznuaa@...il.com" <lznuaa@...il.com>,
"shawn.guo@...aro.org" <shawn.guo@...aro.org>,
"davem@...emloft.net" <davem@...emloft.net>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH 1/1 net-next] net: fec: enable pause frame to improve
rx prefomance for 1G network
On 01/08/2013 02:55 AM, Dirk Behme wrote:
> On 08.01.2013 09:43, Frank Li wrote:
>> The limition of imx6 internal bus cause fec can't achieve 1G perfomance.
>> There will be many packages lost because FIFO over run.
>>
>> This patch enable pause frame flow control.
>
> Many thanks for this patch!
>
> Do we want/need anything similar for U-Boot, too?
>
> Some people want to boot the system from U-Boot attached to 1G network
> and have issues there, too.
>
It's hard to see how the typical use (dhcp+tftp) would be affected
because of the small packet sizes and half-duplex operation.
That said, the statistics registers make it pretty easy to see when
there are overflows as described here:
http://boundarydevices.com/i-mx6-ethernet/
We should be able to just poke the ENET_MIBC register and watch
to see if the IEEE_R_MACERR register shows that overruns are
occurring using the U-Boot md and mw commands.
In a quick test, it appears that this doesn't work though.
This line of code in fec_halt from fec_mxc.c seems to clear the
statistics.
writel(readl(&fec->eth->ecntrl) & ~FEC_ECNTRL_ETHER_EN,
&fec->eth->ecntrl);
If you comment that out, you can see all of the statistics registers
as shown below:
U-Boot > mw.l 0x02188064 0 #ENET_MIBC
U-Boot > dhcp 10800000 192.168.0.55:uImage-bluemeany
BOOTP broadcast 1
DHCP client bound to address 192.168.0.91
Using FEC device
TFTP from server 192.168.0.55; our IP address is 192.168.0.91
Filename 'uImage-bluemeany'.
Load address: 0x10800000
Loading: ...
done
Bytes transferred = 3760504 (396178 hex)
U-Boot > md.l 0x02188200 0x39
02188200: 00000000 00001cb6 00000003 00000000 ................
02188210: 00000000 00000000 00000000 00000000 ................
02188220: 00000000 00000000 00001cb2 00000002 ................
02188230: 00000000 00000002 00000000 00000000 ................
02188240: 00000000 00072fd4 00000000 00001cb6 ...../..........
02188250: 00000000 00000000 00000000 00000000 ................
02188260: 00000000 00000000 00000000 00000000 ................
02188270: 00000000 00072fd4 00000000 00000000 ...../..........
02188280: 00000000 00001dca 0000002a 000000e6 ........*.......
02188290: 00000000 00000000 00000000 00000000 ................
021882a0: 00000000 00000000 00000037 00000057 ........7...W...
021882b0: 0000004e 00000023 00001ccb 00000000 N...#...........
021882c0: 00000000 003fd011 00000000 00001dcc ......?.........
021882d0: 00000000 00000000 00000000 00000000 ................
021882e0: 003fd011 ..?.
U-Boot >
Register 0x021882d8 is the MACERR (fifo overlow) counter.
Regards,
Eric
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists