coreboot-kgpe-d16/payloads/libpayload/drivers/usb/TODO
Stefan Reinauer 14e2277962 Since some people disapprove of white space cleanups mixed in regular commits
while others dislike them being extra commits, let's clean them up once and
for all for the existing code. If it's ugly, let it only be ugly once :-)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5507 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-04-27 06:56:47 +00:00

22 lines
1.1 KiB
Text

- handle error conditions
- handle disconnect more gracefully (ie. make calling layer aware that the device doesn't exist somehow)
- usbhub:
- proper client enumeration (esp. detach)
- change detection
- power management
- handle interrupts more cleverly:
create a new queue for the interrupt with a couple of TD sequences,
- each ending with "breadth first" flag
- linked as a chain
add that queue at the appropriate times in front of the default structure so the max latency is honored
- only one intr chain per framelist item, so it must be arranged appropriately
reads from usb device just look at "invalidated" tds and the results they got
handled tds get reactivated as a ring structure
- added as child of the oldest td
- queue header already dropped the td, so no issue there
this setup ensures that:
- the max latency of the device is honored
- the client knows the right order of the data
- there is no need for an interrupt handler
- but must be polled at least max latency * num tds times -> more tds = less time pressure