haiku/src
Michael Lotz 408a8ff36a * Completely rework how transfer finishing is implemented. It is now using
pretty much the same strategy as UHCI. This does not leverage the done queue
  the hardware provides us, but as it saves a lot of other overhead and allows
  the structures to be smaller I think it is overall worth it.
* Removed now unnecessary stuff from the transfer descriptor struct.
* Directly acknowledge the done head interrupt as we do not use it either.
* Activate control endpoints by removing the skip bit when a transfer is scheduled.
* Correct the way the first descriptor is determined (the current tail becomes
  the first descriptor while the current first descriptor becomes the tail).
* Remove the head_logical_descriptor field from the endpoint structure, as this
  would simply get out of sync with the first td with no real way of updating.
* Stub out RemoveTransferFromEndpoint() as this needs reworking.
* Correct CreateDescriptorChain() signature and implement the method.
* Add ReadDescriptorChain() and ReadActualLength() to process finished transfers.
* Prepare for actual data transfers by renaming/regrouping transfer types.
* Fully clear out the new tail when switching (for the sake of it)
* Add some helpers and definitions to the hardware header.
* Add debugging facilities.

With all this transfers can now actually be scheduled and they are processed
when done. This brings control transfers to a usable state so setting the
device address and reading out/setting the configuration works. That means you
can now view your device using usb_dev_info, but since any other transfer type
besides control transfers isn't implemented yet the device will most probably
not yet do anything useful.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-18 19:34:25 +00:00
..
add-ons * Completely rework how transfer finishing is implemented. It is now using 2008-05-18 19:34:25 +00:00
apps display codec id when codec not available\nSome layout changes too 2008-05-16 02:30:50 +00:00
bin * Use 0 instead of the unportable EOK. 2008-05-17 23:27:38 +00:00
build * Include KMessage in libbe_haiku.so again. 2008-04-26 21:57:22 +00:00
data Applied patch by SHINTA to enable Zenkaku/Hankaku key codes in Japanese keymap. 2008-05-10 11:41:28 +00:00
documentation removed former haiku_book and headersampler tool 2007-10-04 22:15:58 +00:00
kits The compiler warns, and it is correct - DPMSState() and DPMSCapabilities 2008-05-17 16:50:29 +00:00
libs Improved the coding style. 2008-05-16 08:50:45 +00:00
preferences * Introduced new header directory headers/private/system which is supposed 2008-05-14 03:55:16 +00:00
servers * Introduced new header directory headers/private/system which is supposed 2008-05-14 03:55:16 +00:00
system Added explicit support for loading executables compiled with the 2008-05-17 23:25:17 +00:00
tests Some cleanup I made before the integration. 2008-05-18 14:22:56 +00:00
tools Allow building zip as build tool. Tested under Linux only. 2008-05-17 23:29:01 +00:00
Jamfile libshared.a doesn't deserve a src/ subdirectory. Moved to 2007-06-15 18:32:50 +00:00