On Mon, 5 May 2014, Amit Virdi wrote: > Interrupt endpoints behave quite similar to the bulk endpoints with the > difference that the endpoints expect data sending/reception request at > particular intervals till the whole data has not been transmitted. > > The interrupt EP support is added to gadget zero. A new alternate setting (=2) > has been added. It has 2 interrupt endpoints. The default parameters are set as: > bInterval: 4 > wMaxPacketSize: 1024 The default size should be the maximum allowed for the current speed. > The code is tested for HS and SS on a platform having DWC3 controller. > +static struct usb_endpoint_descriptor fs_int_source_desc = { > + .bLength = USB_DT_ENDPOINT_SIZE, > + .bDescriptorType = USB_DT_ENDPOINT, > + > + .bEndpointAddress = USB_DIR_IN, > + .bmAttributes = USB_ENDPOINT_XFER_INT, > + .wMaxPacketSize = cpu_to_le16(1023), > + .bInterval = 4, > +}; > + > +static struct usb_endpoint_descriptor fs_int_sink_desc = { > + .bLength = USB_DT_ENDPOINT_SIZE, > + .bDescriptorType = USB_DT_ENDPOINT, > + > + .bEndpointAddress = USB_DIR_OUT, > + .bmAttributes = USB_ENDPOINT_XFER_INT, > + .wMaxPacketSize = cpu_to_le16(1023), > + .bInterval = 4, > +}; The maximum interrupt packet size for full speed is 64, not 1023. > + /* sanity check the interrupt module parameters */ > + if (int_interval < 1) > + int_interval = 1; > + if (int_interval > 16) > + int_interval = 16; Interrupt intervals for full-speed are specified in frames, not in exponential form. The maximum allowed value is 255. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html