USB HCD driver

Simon Arlott simon at fire.lp0.eu
Wed Jun 20 07:36:56 EDT 2012


On Tue, June 5, 2012 11:35, Theo Markettos wrote:
> FIQ is extra-low-latency because you jump directly into the service routine
> to handle your chosen source - that's not even an indirect branch as there
>...
> In the case of DWC USB, this little FIQ routine would check if 'something
> interesting is happening', and despatch off to the full handler if so, and
> otherwise clear the interrupt and return.

If users are losing key presses with the current driver, does that imply that
they're losing interrupts every time a lock that disables interrupts takes a
bit too long for the USB bus to cope?

Would we need to use the FIQ for all of the HCD interrupts so that it keeps
running even when normal interrupts are disabled?

I haven't checked to see if the SOF interrupt is a "send only" event, in which
case the FIQ could process an outgoing queue without requiring any locking.

-- 
Simon Arlott



More information about the linux-rpi-kernel mailing list