Thread (5 messages) flat view 5 messages, 3 authors, 2002-12-03

Re: QMC driver for 860?

From: Joakim Tjernlund <hidden>
Date: 2002-12-02 17:11:09

Joakim Tjernlund wrote:
quoted
quoted
OK

You asked for it ;).

The file netvia_tsa.c is the actual QMC + stuff driver.
The file netvia_bri.c is an example driver.
The header files are the QMC definitions.

Linux kernel version is 2.4.20.

Don't hesitate to ask for any explanations.

Pantelis
Thanks a lot!

I have just browsed the driver and I noticed that there is room for performance
improvements in netvia_tsa.c w.r.t memcpy(). You can avoid the memcpy() call
for received packets by using invalidate_dcache_range(). I did this for
the 8xx_io/enet.c driver a few weeks ago(it's not in BK yet).

See http://lists.linuxppc.org/linuxppc-embedded/200210/msg00317.html
and
http://lists.linuxppc.org/linuxppc-embedded/200210/msg00272.html

  Jocke
Yes, I know the trick. I'm looking forward to see your changes
make it in. As it stands I'm not tracking the BK PPC tree, but
the Linus tree. Being behind the company firewall, BK is not
very useful.
The patch should apply to linus tree as well. There is just a small bug
in my second version(the invalidate_dcache_range() call must be moved).
In this driver case since I'm reading the packet in a non-cachable
area, and not directly in a skb, I'm not convinced that
the invalidate_dcache_range will be a great win.
It should be a win since the patch removes the need for non-cachable memory and a
memcpy()(only add a invalidate_dcache_range call for non cache coherent CPUs like the 8xx).

 Jocke
If you do any performance testing I'm very interested in
your results.

Pantelis

P.S. Is there anyone in the list interested in this?
Should I clean it up, and submit it?
Is QMC supported on other families than 8xx? If so I think it would be a good idea.
The 862 even has the QMC built in so there must be a need for this.


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help