usb: ehci: Support interrupt transfers via periodic list
authorPatrick Georgi <patrick@georgi-clan.de>
Wed, 6 Mar 2013 14:08:31 +0000 (14:08 +0000)
committerMarek Vasut <marex@denx.de>
Mon, 18 Mar 2013 17:58:54 +0000 (18:58 +0100)
commit8f62ca646fbad26b17f832cc3c2579080247de6e
treed21f4e48608e04cfff1d1a1cecfc89c4653f30bb
parentc74b0116b6cd839babfc57b0eb83e4e989227f17
usb: ehci: Support interrupt transfers via periodic list

Interrupt transfers aren't meant to be used from the async list
(the EHCI spec indicates trouble with low/full-speed intr on async).

Build a periodic list instead, and provide an API to make use of it.
Then, use that API from the existing interrupt transfer API.

This provides support for USB keyboards using EHCI.

Use timeouts to ensure we cannot get stuck in the keyboard scanning
if something wrong happens (USB device unplugged or fatal I/O error)

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Signed-off-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/usb/host/ehci-hcd.c
drivers/usb/host/ehci.h