Hi Peter and others,
On Sat, Feb 18, 2012 at 08:18:33PM +0100, Peter Stuge wrote:
I note that all data to be transmitted is copied byte
for byte from
the rctx data buffer into the USB peripheral memory. I had expected
zero copy. During copying, interrupts are disabled.
Basically the USB "framework" would need to be rewritten specifically
for zero copy operation, if the hardware actually allows that.
unfortunately the old USB peripheral in the sam7s does not have DMA, you
have to use FIFO / MMIO to put the data onto USB. It's really sad,
almost all other peripherals can do DMA, but not the USB device
controller.
I'd love to investigate this further, but I don't have the time right
now, sorry :/
--
- Harald Welte <laforge(a)gnumonks.org>
http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)