USB OHCI: Support for isochronous transfers

Finishing and refactoring the draft, initially implemented during April-May 2012

NOTE: startingFrameNumber returned to device contains the number of the
next free frame right after the last packed of submitted data. For more
details please Look into corresponding [haiku-development] discussion
started at 03 Jul 2013.

Partially fixes #1045.
This commit is contained in:
Siarzhuk Zharski
2013-08-18 14:47:33 +02:00
parent 883b8dd0b9
commit cf58476ccc
5 changed files with 818 additions and 75 deletions
+13
View File
@@ -62,6 +62,19 @@
#define USB_ENDPOINT_ATTR_INTERRUPT 0x03
#define USB_ENDPOINT_ATTR_MASK 0x03
/* Synchronization - isochrnous endpoints only */
#define USB_ENDPOINT_ATTR_NO_SYNCHRONIZE 0x00
#define USB_ENDPOINT_ATTR_ASYNCRONOUS 0x04
#define USB_ENDPOINT_ATTR_ADAPTIVE_SYNCHRO 0x08
#define USB_ENDPOINT_ATTR_SYNCHRONOUS 0x0C
#define USB_ENDPOINT_ATTR_SYNCHRONIZE_MASK 0x0C
/* Usage Type - isochrnous endpoints only */
#define USB_ENDPOINT_ATTR_DATA_USAGE 0x00
#define USB_ENDPOINT_ATTR_FEEDBACK_USAGE 0x10
#define USB_ENDPOINT_ATTR_IMPLICIT_USAGE 0x20
#define USB_ENDPOINT_ATTR_USAGE_MASK 0x30
#define USB_ENDPOINT_ADDR_DIR_IN 0x80
#define USB_ENDPOINT_ADDR_DIR_OUT 0x00