QMC driver for 860?

Joakim Tjernlund Joakim.Tjernlund at lumentis.se
Tue Dec 3 04:11:09 EST 2002


>
> Joakim Tjernlund wrote:
>
> >>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/





More information about the Linuxppc-embedded mailing list