XLLTemac with SGDMA working on virtex4FX ?

Simon Frey frey_simon at yahoo.fr
Sat Jun 14 02:43:19 EST 2008


Hi John,

I found a driver in the uboot ml from Yoshio Kashiwagi (Thanks :)

link:
http://www.nabble.com/Xilinx-PowerPC-XPS_LL_TEMAC-driver-td16893860.html#a16908888

i didn't know how it works but it uses memcpy on tx and NetReceive() from uboot net.c ...

I have to achieve an average speed of 20 MB/s. I hope it works ! Have you got some facts ?

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 ?
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...)

best regards,

Simon



--- En date de : Ven 13.6.08, John Linn <John.Linn at xilinx.com> a écrit :

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


      _____________________________________________________________________________ 
Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr



More information about the Linuxppc-dev mailing list