USB HCD driver

Simon Arlott simon at
Fri Jun 8 12:32:51 EDT 2012

On 04/06/12 13:20, popcorn mix wrote:
> On Sun, Jun 3, 2012 at 11:19 PM, Theo Markettos
> <linux-rpi at> 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.

Is it possible to update the code in the USB chip to a newer version
that has SG DMA support?

Simon Arlott

More information about the linux-rpi-kernel mailing list