From 17aceb34da3bad166cab8579a3616806fff8e05b Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Mon, 9 Feb 2015 23:50:35 +0000 Subject: [usb] Parse endpoint descriptor bInterval field Signed-off-by: Michael Brown --- src/include/ipxe/usb.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/include') diff --git a/src/include/ipxe/usb.h b/src/include/ipxe/usb.h index acc8391f7..e21ca1c43 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; } /** -- cgit v1.2.3-55-g7522