U-boot and Xilinx emaclite, TX_PING_PONG -> stops working

jozsef imrek mazsi at imrek.org
Sun Aug 17 07:33:54 EST 2008


dear philipp,


On Sat, 16 Aug 2008, Philipp Hachtmann wrote:

> I am currently wondering if someone has experience with the emaclite
> driver. When I unset the "ping pong" (double buffering) parameters of
> ...
>
> I found a driver (xilinx_emaclite.c) in the U-boot git. That completely
> refuses to work correctly (of course with parameters corrected). The
> other driver I once found "somewhere" (in the Petalinux distribution).

i don't know what exact versions are you using. for me the following
combination works reasonably both with tx-ping-pong = rx-ping-pong = 0
and with tx-ping-pong = rx-ping-pong = 1, both under u-boot and
linux (i'm normally using ping-pong = 1, i've only made a quick test
with ping-pong = 0):

- edk 9.1, opb_ethernetlite v1.01.b, v4-fx12 (memec/avnet minimodule)
- u-boot: ftp://ftp.denx.de/pub/u-boot/u-boot-1.3.3.tar.bz2
- linux: xilinx's git://git.xilinx.com/linux-2.6-xlnx, 2.6.26-rc6


also, i think there is a bug in the linux driver: the XEmacLite_Config
structure used to set up the device is located on the stack. so
after the init returns, further references to this struct by the
os independent part of the driver are invalid. see the attached
patch. i don't know if it solves your prolem, though..

(the patch also replaces a few calls of dev_kfree_skb() from
interrupt context. thoose can generate lots of warnings on the
console, thus slowing down operation.)


-- 
mazsi

----------------------------------------------------------------
strawberry fields forever!                       mazsi at imrek.org
----------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: emaclite-init.patch
Type: text/x-diff
Size: 3339 bytes
Desc: 
URL: <http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20080816/20a3bc8a/attachment-0001.patch>


More information about the Linuxppc-embedded mailing list