diff options
author | Michael Brown | 2015-02-10 00:50:35 +0100 |
---|---|---|
committer | Michael Brown | 2015-02-10 02:14:22 +0100 |
commit | 17aceb34da3bad166cab8579a3616806fff8e05b (patch) | |
tree | b5a155eb8dcd66bb06955601bd76b86e27730b23 /src/include | |
parent | [usb] Handle CDC union functional descriptors (diff) | |
download | ipxe-17aceb34da3bad166cab8579a3616806fff8e05b.tar.gz ipxe-17aceb34da3bad166cab8579a3616806fff8e05b.tar.xz ipxe-17aceb34da3bad166cab8579a3616806fff8e05b.zip |
[usb] Parse endpoint descriptor bInterval field
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/ipxe/usb.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/include/ipxe/usb.h b/src/include/ipxe/usb.h index acc8391f..e21ca1c4 100644 --- a/src/include/ipxe/usb.h +++ b/src/include/ipxe/usb.h @@ -372,6 +372,8 @@ struct usb_endpoint { size_t mtu; /** Maximum burst size */ unsigned int burst; + /** Interval (in microframes) */ + unsigned int interval; /** Endpoint is open */ int open; @@ -462,6 +464,9 @@ struct usb_endpoint_driver_operations { /** Control endpoint maximum burst size */ #define USB_EP0_BURST 0 +/** Control endpoint interval */ +#define USB_EP0_INTERVAL 0 + /** Maximum endpoint number */ #define USB_ENDPOINT_MAX 0x0f @@ -496,16 +501,18 @@ usb_endpoint_init ( struct usb_endpoint *ep, struct usb_device *usb, * @v attributes Attributes * @v mtu Maximum packet size * @v burst Maximum burst size + * @v interval Interval (in microframes) */ static inline __attribute__ (( always_inline )) void usb_endpoint_describe ( struct usb_endpoint *ep, unsigned int address, unsigned int attributes, size_t mtu, - unsigned int burst ) { + unsigned int burst, unsigned int interval ) { ep->address = address; ep->attributes = attributes; ep->mtu = mtu; ep->burst = burst; + ep->interval = interval; } /** |