Hi Simon,<br>&nbsp;<br>With EDK10.1, xps_ll_temac, ARCH=powerpc, I&#39;ve reached ~17Mo/s with netperf (UDP) and ~30 Mo/s in raw packet mode. <br><br>Are you using Xilinx evaluation board? If not pay attention to the PHY controller. (you may not use MARVELL_88E1111_PHY define) <br>
<br>To check if you have some issues with checksum offload, you can use Wireshark (network analyzer). With this tool you will see your frames and if they are sent properly.<br><br>Best regards,<br>
-- <br>
RT System Engineer - IXWAVES<br>
Johann Baudy<br><br><br><br><br><br><br><br><br><br><div class="gmail_quote">On Fri, Jun 13, 2008 at 6:43 PM, Simon Frey &lt;<a href="mailto:frey_simon@yahoo.fr">frey_simon@yahoo.fr</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Hi John,<br>
<br>
I found a driver in the uboot ml from Yoshio Kashiwagi (Thanks :)<br>
<br>
link:<br>
<a href="http://www.nabble.com/Xilinx-PowerPC-XPS_LL_TEMAC-driver-td16893860.html#a16908888" target="_blank">http://www.nabble.com/Xilinx-PowerPC-XPS_LL_TEMAC-driver-td16893860.html#a16908888</a><br>
<br>
i didn&#39;t know how it works but it uses memcpy on tx and NetReceive() from uboot net.c ...<br>
<br>
I have to achieve an average speed of 20 MB/s. I hope it works ! Have you got some facts ?<br>
<br>
So, i don&#39;t know what i should do. I thought that xilinx drivers suppots there hw ! Should i try to integrate xilinx EDK generated drivers into xlnx kernel tree ? and how ?<br>
My computer and the temac are connected to a 1Gb switch and the led is blinking when the temac send something but not the led of my computer! as if the switch does not his job ! invalid frames ? is possible ? (i should have a break...)<br>

<br>
best regards,<br>
<br>
Simon<br>
<br>
<br>
<br>
--- En date de&nbsp;: Ven 13.6.08, John Linn &lt;<a href="mailto:John.Linn@xilinx.com">John.Linn@xilinx.com</a>&gt; a écrit&nbsp;:<br>
<br>
&gt; De: John Linn &lt;<a href="mailto:John.Linn@xilinx.com">John.Linn@xilinx.com</a>&gt;<br>
&gt; Objet: RE: XLLTemac with SGDMA working on virtex4FX ?<br>
&gt; À: &quot;Simon Frey&quot; &lt;<a href="mailto:frey_simon@yahoo.fr">frey_simon@yahoo.fr</a>&gt;, <a href="mailto:linuxppc-dev@ozlabs.org">linuxppc-dev@ozlabs.org</a><br>
&gt; Date: Vendredi 13 Juin 2008, 17h52<br>
<div><div></div><div class="Wj3C7c">&gt; Hi Simon,<br>
&gt;<br>
&gt; I have not done testing of this driver with checksum<br>
&gt; offload. &nbsp;I do test<br>
&gt; the driver in an automated test, but not in checksum<br>
&gt; offload mode, I<br>
&gt; need to add that test.<br>
&gt;<br>
&gt; I did receive the following patch and applied it to the Git<br>
&gt; server so I<br>
&gt; think Johann did some testing with checksum offload. &nbsp;That<br>
&gt; may have been<br>
&gt; with arch/ppc rather than arch/powerpc, not sure.<br>
&gt;<br>
&gt; I noticed that you have uboot working with LL TEMAC and it<br>
&gt; must be using<br>
&gt; DMA SG as it&#39;s running on the same h/w. I just got thru<br>
&gt; hacking together<br>
&gt; a rough polled mode LL TEMAC driver to support uboot and<br>
&gt; it&#39;s working,<br>
&gt; but not cleaned up. &nbsp;Just curious on your experience in<br>
&gt; that area.<br>
&gt;<br>
&gt; Thanks,<br>
&gt; John Linn<br>
&gt; Linux Development &amp; Strategy<br>
&gt;<br>
&gt; Xilinx is looking for embedded Linux developers....<br>
&gt;<br>
&gt; ******************* the patch text I applied<br>
&gt; ******************************<br>
&gt;<br>
&gt; From: John Linn [<a href="mailto:john.linn@xilinx.com">john.linn@xilinx.com</a>]<br>
&gt; Sent: Friday, April 04, 2008 10:25 AM<br>
&gt; To: git<br>
&gt; Cc: John Linn; Johann Baudy<br>
&gt; Subject: [PATCH] Xilinx: LL TEMAC: Fix checksum offload<br>
&gt;<br>
&gt; The LL TEMAC is generating the wrong checksum when TX<br>
&gt; hardware checksum<br>
&gt; is enabled. This is mainly due to two issues:<br>
&gt; - CHECKSUM_COMPLETE can only be used on RX PATH,<br>
&gt; CHECKSUM_PARTIAL must<br>
&gt; be used instead.<br>
&gt; - Checksum index offsets are being calculated wrong.<br>
&gt;<br>
&gt; Signed-off-by: Johann Baudy &lt;<a href="mailto:johaahn@gmail.com">johaahn@gmail.com</a>&gt;<br>
&gt; Signed-off-by: John Linn &lt;<a href="mailto:john.linn@xilinx.com">john.linn@xilinx.com</a>&gt;<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: linuxppc-dev-bounces+john.linn=<a href="http://xilinx.com" target="_blank">xilinx.com</a>@<a href="http://ozlabs.org" target="_blank">ozlabs.org</a><br>
&gt; [mailto:<a href="mailto:linuxppc-dev-bounces%2Bjohn.linn">linuxppc-dev-bounces+john.linn</a>=<a href="http://xilinx.com" target="_blank">xilinx.com</a>@<a href="http://ozlabs.org" target="_blank">ozlabs.org</a>]<br>

&gt; On Behalf<br>
&gt; Of Simon Frey<br>
&gt; Sent: Friday, June 13, 2008 8:46 AM<br>
&gt; To: <a href="mailto:linuxppc-dev@ozlabs.org">linuxppc-dev@ozlabs.org</a><br>
&gt; Subject: XLLTemac with SGDMA working on virtex4FX ?<br>
&gt;<br>
&gt; Hi all,<br>
&gt;<br>
&gt; does anyone have working driver for xps_ll_temac unsing sg<br>
&gt; dma and<br>
&gt; checksum offload on rx and tx ??<br>
&gt;<br>
&gt; I use the xlnx kernel with ARCH=powerpc &nbsp;and a device tree<br>
&gt; generated<br>
&gt; with the gen_mhs_devtree under EDK 10.1<br>
&gt;<br>
&gt; I don&#39;t know what&#39;s wrong but i can&#39;t get or<br>
&gt; send anything &nbsp;even the<br>
&gt; speed is only 10 Mb/s !<br>
&gt;<br>
&gt; that&#39;s what i get when the kernel starts...<br>
&gt;<br>
&gt; ## Starting application at 0x004007d0 ...<br>
&gt; Using Xilinx Virtex machine description<br>
&gt; Linux version 2.6.25-xlnx (simon@linux) (gcc version 4.2.2)<br>
&gt; #11 PREEMPT<br>
&gt; Fri Jun 13 15:51:29 CEST 2008<br>
&gt; Zone PFN ranges:<br>
&gt; &nbsp; DMA &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0 -&gt; &nbsp; &nbsp;16384<br>
&gt; &nbsp; Normal &nbsp; &nbsp; &nbsp;16384 -&gt; &nbsp; &nbsp;16384<br>
&gt; Movable zone start PFN for each node<br>
&gt; early_node_map[1] active PFN ranges<br>
&gt; &nbsp; &nbsp; 0: &nbsp; &nbsp; &nbsp; &nbsp;0 -&gt; &nbsp; &nbsp;16384<br>
&gt; Built 1 zonelists in Zone order, mobility grouping on.<br>
&gt; Total pages:<br>
&gt; 16256<br>
&gt; Kernel command line: console=ttyS0,115200 ip=dhcp<br>
&gt; Xilinx intc at 0x81800000 mapped to 0xfdfff000<br>
&gt; PID hash table entries: 256 (order: 8, 1024 bytes)<br>
&gt; clocksource: timebase mult[1400000] shift[22] registered<br>
&gt; Console: colour dummy device 80x25<br>
&gt; Dentry cache hash table entries: 8192 (order: 3, 32768<br>
&gt; bytes)<br>
&gt; Inode-cache hash table entries: 4096 (order: 2, 16384<br>
&gt; bytes)<br>
&gt; Memory: 61704k/65536k available (2892k kernel code, 3768k<br>
&gt; reserved, 112k<br>
&gt; data, 141k bss, 144k init)<br>
&gt; Mount-cache hash table entries: 512<br>
&gt; net_namespace: 536 bytes<br>
&gt; NET: Registered protocol family 16<br>
&gt; NET: Registered protocol family 2<br>
&gt; IP route cache hash table entries: 1024 (order: 0, 4096<br>
&gt; bytes)<br>
&gt; TCP established hash table entries: 2048 (order: 2, 16384<br>
&gt; bytes)<br>
&gt; TCP bind hash table entries: 2048 (order: 1, 8192 bytes)<br>
&gt; TCP: Hash tables configured (established 2048 bind 2048)<br>
&gt; TCP reno registered<br>
&gt; Installing knfsd (copyright (C) 1996 <a href="mailto:okir@monad.swb.de">okir@monad.swb.de</a>).<br>
&gt; io scheduler noop registered<br>
&gt; io scheduler anticipatory registered<br>
&gt; io scheduler deadline registered<br>
&gt; io scheduler cfq registered (default)<br>
&gt; Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ<br>
&gt; sharing<br>
&gt; disabled<br>
&gt; 83e00000.serial: ttyS0 at MMIO 0x83e00003 (irq = 16) is a<br>
&gt; 16550A<br>
&gt; console [ttyS0] enabled<br>
&gt; brd: module loaded<br>
&gt; loop: module loaded<br>
&gt; Device Tree Probing &#39;ethernet&#39;<br>
&gt; xilinx_lltemac 81c00000.ethernet: MAC address is now &nbsp;0:<br>
&gt; a:35: 0:22: 1<br>
&gt; xilinx_lltemac 81c00000.ethernet: XLlTemac: using DMA mode.<br>
&gt; XLlTemac: Dma base address: phy: 0x84600100, virt:<br>
&gt; 0xc5010100<br>
&gt; XLlTemac: buffer descriptor size: 32768 (0x8000)<br>
&gt; XLlTemac: Allocating DMA descriptors with<br>
&gt; kmalloc&lt;6&gt;XLlTemac:<br>
&gt; (buffer_descriptor_init) phy: 0x3868000, virt: 0xc3868000,<br>
&gt; size: 0x8000<br>
&gt; XTemac: PHY detected at address 4.<br>
&gt; xilinx_lltemac 81c00000.ethernet: eth0: Xilinx TEMAC at<br>
&gt; 0x81C00000<br>
&gt; mapped to 0xC500E000, irq=17<br>
&gt; mice: PS/2 mouse device common for all mice<br>
&gt; TCP cubic registered<br>
&gt; NET: Registered protocol family 1<br>
&gt; NET: Registered protocol family 17<br>
&gt; RPC: Registered udp transport module.<br>
&gt; RPC: Registered tcp transport module.<br>
&gt; eth0: XLlTemac: Options: 0x3fa<br>
&gt; eth0: XLlTemac: allocating interrupt 19 for dma mode tx.<br>
&gt; eth0: XLlTemac: allocating interrupt 18 for dma mode rx.<br>
&gt; eth0: XLlTemac: speed set to 10Mb/s<br>
&gt; eth0: XLlTemac: Send Threshold = 240, Receive Threshold =<br>
&gt; 40<br>
&gt; eth0: XLlTemac: Send Wait bound = 254, Receive Wait bound =<br>
&gt; 254<br>
&gt; Sending DHCP requests ...... timed out!<br>
&gt; IP-Config: Reopening network devices...<br>
&gt; eth0: XLlTemac: Options: 0x3fa<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; I can see the led blinking on my switch but don&#39;t see<br>
&gt; nothing using<br>
&gt; wireshak !!!<br>
&gt;<br>
&gt;<br>
&gt; Finaly, i know the the temac works because i can use it<br>
&gt; with uboot !!!<br>
&gt; even<br>
&gt; at speed 1000.<br>
&gt;<br>
&gt; In: &nbsp; &nbsp;serial<br>
&gt; Out: &nbsp; serial<br>
&gt; Err: &nbsp; serial<br>
&gt; U-Boot relocated to 03fcf000<br>
&gt; ### main_loop entered: bootdelay=3<br>
&gt;<br>
&gt; ### main_loop: bootcmd=&quot;loooaadd %addr&quot;<br>
&gt; Press Enter within 3 seconds to stop autoboot<br>
&gt; Unknown command &#39;loooaadd&#39; - try &#39;help&#39;<br>
&gt; =&gt; setenv bootfile zImage.virtex<br>
&gt; =&gt; tftp 40000<br>
&gt; eth0: Xilinx XPS LocalLink Tri-Mode Ether MAC #0 at<br>
&gt; 0x81C00000.<br>
&gt; 1000BASE-T/FD<br>
&gt; TFTP from server <a href="http://192.168.1.100" target="_blank">192.168.1.100</a>; our IP address is<br>
&gt; <a href="http://192.168.1.200" target="_blank">192.168.1.200</a><br>
&gt; Filename &#39;zImage.virtex&#39;.<br>
&gt; Load address: 0x40000<br>
&gt; Loading:<br>
&gt; #################################################################<br>
&gt;<br>
&gt; ########################################################<br>
&gt; done<br>
&gt; Bytes transferred = 1772215 (1b0ab7 hex)<br>
&gt; =&gt;<br>
&gt;<br>
&gt;<br>
&gt; so if someone already had that problem...<br>
&gt;<br>
&gt; Thanks in advance<br>
&gt;<br>
&gt; Simon<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; ________________________________________________________________________<br>
&gt; _____<br>
&gt; Envoyez avec Yahoo! Mail. Une boite mail plus intelligente<br>
&gt; <a href="http://mail.yahoo.fr" target="_blank">http://mail.yahoo.fr</a><br>
&gt; _______________________________________________<br>
&gt; Linuxppc-dev mailing list<br>
&gt; <a href="mailto:Linuxppc-dev@ozlabs.org">Linuxppc-dev@ozlabs.org</a><br>
&gt; <a href="https://ozlabs.org/mailman/listinfo/linuxppc-dev" target="_blank">https://ozlabs.org/mailman/listinfo/linuxppc-dev</a><br>
&gt;<br>
&gt;<br>
&gt; This email and any attachments are intended for the sole<br>
&gt; use of the named recipient(s) and contain(s) confidential<br>
&gt; information that may be proprietary, privileged or<br>
&gt; copyrighted under applicable law. If you are not the<br>
&gt; intended recipient, do not read, copy, or forward this<br>
&gt; email message or any attachments. Delete this email message<br>
&gt; and any attachments immediately.<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Linuxppc-dev mailing list<br>
&gt; <a href="mailto:Linuxppc-dev@ozlabs.org">Linuxppc-dev@ozlabs.org</a><br>
&gt; <a href="https://ozlabs.org/mailman/listinfo/linuxppc-dev" target="_blank">https://ozlabs.org/mailman/listinfo/linuxppc-dev</a><br>
<br>
<br>
</div></div> &nbsp; &nbsp; &nbsp;_____________________________________________________________________________<br>
<div><div></div><div class="Wj3C7c">Envoyez avec Yahoo! Mail. Une boite mail plus intelligente <a href="http://mail.yahoo.fr" target="_blank">http://mail.yahoo.fr</a><br>
_______________________________________________<br>
Linuxppc-dev mailing list<br>
<a href="mailto:Linuxppc-dev@ozlabs.org">Linuxppc-dev@ozlabs.org</a><br>
<a href="https://ozlabs.org/mailman/listinfo/linuxppc-dev" target="_blank">https://ozlabs.org/mailman/listinfo/linuxppc-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Johann Baudy<br><a href="mailto:johaahn@gmail.com">johaahn@gmail.com</a>