Hi George,
On 12.3.2014 12:15, George Cherian wrote:
So it looks like, without this patch, hrtimer trick for compensation
of early interrupt doesn't work and samples gets garbled during
transfers (albeit i don't have HW USB analyzer to prove it).
Alternative with fifo checking and workqueue, unfortunately hogs CPU.
The basic issue is we get the DMA interrupt very early that it takes
some time for the packet to flow out from the TX Fifo.
In some cases we end up re-scheduling the workqueue multiple times since
the TX FIFO is NYET empty.
It seems, that rescheduling definitely helped to avoid data corruption.
Alternatively do you have any reason not to try out the PIO mode?
I already tried that at the beginning of my test as first "workaround"
to remedy audio interface issues. It is best, what i achieved with
Sitara SoC, but it is not stable when system is loaded with other
things. Practically that means, audio is playing, but when there is for
instance song database update from player app, which involves additional
network transfers and reading of song tags, it starts to stutter badly.
This get worse, when playing high resolution audio (eg. 192k/24bit). So
to sum it up, it is not really usable from my tests.
Best regards,
Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html