Re: [Patch V2 1/2] usb: gadget: zero: Add support for interrupt EP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux