Hi Simon,<br> <br>With EDK10.1, xps_ll_temac, ARCH=powerpc, I'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 <<a href="mailto:frey_simon@yahoo.fr">frey_simon@yahoo.fr</a>> 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'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'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 : Ven 13.6.08, John Linn <<a href="mailto:John.Linn@xilinx.com">John.Linn@xilinx.com</a>> a écrit :<br>
<br>
> De: John Linn <<a href="mailto:John.Linn@xilinx.com">John.Linn@xilinx.com</a>><br>
> Objet: RE: XLLTemac with SGDMA working on virtex4FX ?<br>
> À: "Simon Frey" <<a href="mailto:frey_simon@yahoo.fr">frey_simon@yahoo.fr</a>>, <a href="mailto:linuxppc-dev@ozlabs.org">linuxppc-dev@ozlabs.org</a><br>
> Date: Vendredi 13 Juin 2008, 17h52<br>
<div><div></div><div class="Wj3C7c">> Hi Simon,<br>
><br>
> I have not done testing of this driver with checksum<br>
> offload. I do test<br>
> the driver in an automated test, but not in checksum<br>
> offload mode, I<br>
> need to add that test.<br>
><br>
> I did receive the following patch and applied it to the Git<br>
> server so I<br>
> think Johann did some testing with checksum offload. That<br>
> may have been<br>
> with arch/ppc rather than arch/powerpc, not sure.<br>
><br>
> I noticed that you have uboot working with LL TEMAC and it<br>
> must be using<br>
> DMA SG as it's running on the same h/w. I just got thru<br>
> hacking together<br>
> a rough polled mode LL TEMAC driver to support uboot and<br>
> it's working,<br>
> but not cleaned up. Just curious on your experience in<br>
> that area.<br>
><br>
> Thanks,<br>
> John Linn<br>
> Linux Development & Strategy<br>
><br>
> Xilinx is looking for embedded Linux developers....<br>
><br>
> ******************* the patch text I applied<br>
> ******************************<br>
><br>
> From: John Linn [<a href="mailto:john.linn@xilinx.com">john.linn@xilinx.com</a>]<br>
> Sent: Friday, April 04, 2008 10:25 AM<br>
> To: git<br>
> Cc: John Linn; Johann Baudy<br>
> Subject: [PATCH] Xilinx: LL TEMAC: Fix checksum offload<br>
><br>
> The LL TEMAC is generating the wrong checksum when TX<br>
> hardware checksum<br>
> is enabled. This is mainly due to two issues:<br>
> - CHECKSUM_COMPLETE can only be used on RX PATH,<br>
> CHECKSUM_PARTIAL must<br>
> be used instead.<br>
> - Checksum index offsets are being calculated wrong.<br>
><br>
> Signed-off-by: Johann Baudy <<a href="mailto:johaahn@gmail.com">johaahn@gmail.com</a>><br>
> Signed-off-by: John Linn <<a href="mailto:john.linn@xilinx.com">john.linn@xilinx.com</a>><br>
><br>
> -----Original Message-----<br>
> 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>
> [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>
> On Behalf<br>
> Of Simon Frey<br>
> Sent: Friday, June 13, 2008 8:46 AM<br>
> To: <a href="mailto:linuxppc-dev@ozlabs.org">linuxppc-dev@ozlabs.org</a><br>
> Subject: XLLTemac with SGDMA working on virtex4FX ?<br>
><br>
> Hi all,<br>
><br>
> does anyone have working driver for xps_ll_temac unsing sg<br>
> dma and<br>
> checksum offload on rx and tx ??<br>
><br>
> I use the xlnx kernel with ARCH=powerpc and a device tree<br>
> generated<br>
> with the gen_mhs_devtree under EDK 10.1<br>
><br>
> I don't know what's wrong but i can't get or<br>
> send anything even the<br>
> speed is only 10 Mb/s !<br>
><br>
> that's what i get when the kernel starts...<br>
><br>
> ## Starting application at 0x004007d0 ...<br>
> Using Xilinx Virtex machine description<br>
> Linux version 2.6.25-xlnx (simon@linux) (gcc version 4.2.2)<br>
> #11 PREEMPT<br>
> Fri Jun 13 15:51:29 CEST 2008<br>
> Zone PFN ranges:<br>
> DMA 0 -> 16384<br>
> Normal 16384 -> 16384<br>
> Movable zone start PFN for each node<br>
> early_node_map[1] active PFN ranges<br>
> 0: 0 -> 16384<br>
> Built 1 zonelists in Zone order, mobility grouping on.<br>
> Total pages:<br>
> 16256<br>
> Kernel command line: console=ttyS0,115200 ip=dhcp<br>
> Xilinx intc at 0x81800000 mapped to 0xfdfff000<br>
> PID hash table entries: 256 (order: 8, 1024 bytes)<br>
> clocksource: timebase mult[1400000] shift[22] registered<br>
> Console: colour dummy device 80x25<br>
> Dentry cache hash table entries: 8192 (order: 3, 32768<br>
> bytes)<br>
> Inode-cache hash table entries: 4096 (order: 2, 16384<br>
> bytes)<br>
> Memory: 61704k/65536k available (2892k kernel code, 3768k<br>
> reserved, 112k<br>
> data, 141k bss, 144k init)<br>
> Mount-cache hash table entries: 512<br>
> net_namespace: 536 bytes<br>
> NET: Registered protocol family 16<br>
> NET: Registered protocol family 2<br>
> IP route cache hash table entries: 1024 (order: 0, 4096<br>
> bytes)<br>
> TCP established hash table entries: 2048 (order: 2, 16384<br>
> bytes)<br>
> TCP bind hash table entries: 2048 (order: 1, 8192 bytes)<br>
> TCP: Hash tables configured (established 2048 bind 2048)<br>
> TCP reno registered<br>
> Installing knfsd (copyright (C) 1996 <a href="mailto:okir@monad.swb.de">okir@monad.swb.de</a>).<br>
> io scheduler noop registered<br>
> io scheduler anticipatory registered<br>
> io scheduler deadline registered<br>
> io scheduler cfq registered (default)<br>
> Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ<br>
> sharing<br>
> disabled<br>
> 83e00000.serial: ttyS0 at MMIO 0x83e00003 (irq = 16) is a<br>
> 16550A<br>
> console [ttyS0] enabled<br>
> brd: module loaded<br>
> loop: module loaded<br>
> Device Tree Probing 'ethernet'<br>
> xilinx_lltemac 81c00000.ethernet: MAC address is now 0:<br>
> a:35: 0:22: 1<br>
> xilinx_lltemac 81c00000.ethernet: XLlTemac: using DMA mode.<br>
> XLlTemac: Dma base address: phy: 0x84600100, virt:<br>
> 0xc5010100<br>
> XLlTemac: buffer descriptor size: 32768 (0x8000)<br>
> XLlTemac: Allocating DMA descriptors with<br>
> kmalloc<6>XLlTemac:<br>
> (buffer_descriptor_init) phy: 0x3868000, virt: 0xc3868000,<br>
> size: 0x8000<br>
> XTemac: PHY detected at address 4.<br>
> xilinx_lltemac 81c00000.ethernet: eth0: Xilinx TEMAC at<br>
> 0x81C00000<br>
> mapped to 0xC500E000, irq=17<br>
> mice: PS/2 mouse device common for all mice<br>
> TCP cubic registered<br>
> NET: Registered protocol family 1<br>
> NET: Registered protocol family 17<br>
> RPC: Registered udp transport module.<br>
> RPC: Registered tcp transport module.<br>
> eth0: XLlTemac: Options: 0x3fa<br>
> eth0: XLlTemac: allocating interrupt 19 for dma mode tx.<br>
> eth0: XLlTemac: allocating interrupt 18 for dma mode rx.<br>
> eth0: XLlTemac: speed set to 10Mb/s<br>
> eth0: XLlTemac: Send Threshold = 240, Receive Threshold =<br>
> 40<br>
> eth0: XLlTemac: Send Wait bound = 254, Receive Wait bound =<br>
> 254<br>
> Sending DHCP requests ...... timed out!<br>
> IP-Config: Reopening network devices...<br>
> eth0: XLlTemac: Options: 0x3fa<br>
><br>
><br>
><br>
><br>
> I can see the led blinking on my switch but don't see<br>
> nothing using<br>
> wireshak !!!<br>
><br>
><br>
> Finaly, i know the the temac works because i can use it<br>
> with uboot !!!<br>
> even<br>
> at speed 1000.<br>
><br>
> In: serial<br>
> Out: serial<br>
> Err: serial<br>
> U-Boot relocated to 03fcf000<br>
> ### main_loop entered: bootdelay=3<br>
><br>
> ### main_loop: bootcmd="loooaadd %addr"<br>
> Press Enter within 3 seconds to stop autoboot<br>
> Unknown command 'loooaadd' - try 'help'<br>
> => setenv bootfile zImage.virtex<br>
> => tftp 40000<br>
> eth0: Xilinx XPS LocalLink Tri-Mode Ether MAC #0 at<br>
> 0x81C00000.<br>
> 1000BASE-T/FD<br>
> TFTP from server <a href="http://192.168.1.100" target="_blank">192.168.1.100</a>; our IP address is<br>
> <a href="http://192.168.1.200" target="_blank">192.168.1.200</a><br>
> Filename 'zImage.virtex'.<br>
> Load address: 0x40000<br>
> Loading:<br>
> #################################################################<br>
><br>
> ########################################################<br>
> done<br>
> Bytes transferred = 1772215 (1b0ab7 hex)<br>
> =><br>
><br>
><br>
> so if someone already had that problem...<br>
><br>
> Thanks in advance<br>
><br>
> Simon<br>
><br>
><br>
><br>
><br>
> ________________________________________________________________________<br>
> _____<br>
> Envoyez avec Yahoo! Mail. Une boite mail plus intelligente<br>
> <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>
><br>
><br>
> This email and any attachments are intended for the sole<br>
> use of the named recipient(s) and contain(s) confidential<br>
> information that may be proprietary, privileged or<br>
> copyrighted under applicable law. If you are not the<br>
> intended recipient, do not read, copy, or forward this<br>
> email message or any attachments. Delete this email message<br>
> and any attachments immediately.<br>
><br>
><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>
<br>
<br>
</div></div> _____________________________________________________________________________<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>