USB HCD driver

popcorn mix popcornmix at gmail.com
Mon Jun 4 08:20:52 EDT 2012


On Sun, Jun 3, 2012 at 11:19 PM, Theo Markettos
<linux-rpi at markettos.org.uk> wrote:
> One issue that's been reported is 8000 interrupts per second, even in idle
> mode.  According to Jeffrey our driver porter, the Synopsys driver relies on
> the start of frame interrupt for scheduling transfers if "descriptor DMA" is
> not implemented (which it isn't, on BCM2835).  8000 is one interrupt per
> microframe.  We have a couple of ideas for that: one is to somehow disable
> the interrupt if nothing interesting is happening.  The other is to wire it
> into a FIQ (which the BCM2835 interrupt controller will let you do).  That
> gives a much lower interrupt latency for dealing with unwanted interrupts.
> I understand Linux doesn't really use FIQs, which is unfortunate, but
> perhaps could be implemented for purposes such as this.

 I can confirm that the interrupts cost us about 20% of CPU when USB is idle.
(measured by running a benchmark that is CPU limited, eg XBMC fps,
then killing dwc_otg and watching it improve)
So I'd love to see a FIQ (or other) improvement.



More information about the linux-rpi-kernel mailing list