On Fri, Feb 12, 2016 at 11:38:10AM -0800, Greg KH wrote: > On Fri, Feb 12, 2016 at 04:40:12PM +0200, Mathias Nyman wrote: > > USB3.1 specifies a SuperSpeedPlus Isoc endpoint companion descriptor > > which is returned as part of the devices complete configuration > > descriptor. > > > > It contains number of bytes per service interval which is needed when > > reserving bus time in the schedule for transfers over 48K bytes per > > service interval. > > > > If bmAttributes bit 7 is set in the old SuperSpeed Endpoint Companion > > descriptor, it will be ollowed by the new SuperSpeedPlus Isoc Endpoint > > Companion descriptor. > > > > Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> > > --- > > include/uapi/linux/usb/ch9.h | 18 ++++++++++++++++++ > > 1 file changed, 18 insertions(+) > > > > diff --git a/include/uapi/linux/usb/ch9.h b/include/uapi/linux/usb/ch9.h > > index 779a62a..a65f1f3 100644 > > --- a/include/uapi/linux/usb/ch9.h > > +++ b/include/uapi/linux/usb/ch9.h > > @@ -234,6 +234,8 @@ struct usb_ctrlrequest { > > #define USB_DT_PIPE_USAGE 0x24 > > /* From the USB 3.0 spec */ > > #define USB_DT_SS_ENDPOINT_COMP 0x30 > > +/* From the USB 3.1 spec */ > > +#define USB_DT_SSP_ISOC_ENDPOINT_COMP 0x31 > > > > /* Conventional codes for class-specific descriptors. The convention is > > * defined in the USB "Common Class" Spec (3.11). Individual class specs > > @@ -613,6 +615,20 @@ static inline int usb_endpoint_interrupt_type( > > > > /*-------------------------------------------------------------------------*/ > > > > +/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion > > + * descriptor > > + */ > > +struct usb_ssp_isoc_ep_comp_descriptor { > > + __u8 bLength; > > + __u8 bDescriptorType; > > + __le16 wReseved; > > + __le32 dwBytesPerInterval; > > +} __attribute__ ((packed)); > > + > > +#define USB_DT_SSP_ISOC_EP_COMP_SIZE 8 > > + > > +/*-------------------------------------------------------------------------*/ > > + > > /* USB_DT_SS_ENDPOINT_COMP: SuperSpeed Endpoint Companion descriptor */ > > struct usb_ss_ep_comp_descriptor { > > __u8 bLength; > > @@ -646,6 +662,8 @@ usb_ss_max_streams(const struct usb_ss_ep_comp_descriptor *comp) > > > > /* Bits 1:0 of bmAttributes if this is an isoc endpoint */ > > #define USB_SS_MULT(p) (1 + ((p) & 0x3)) > > +/* Bit 7 of bmAttributes if a SSP isoc endpoint companion descriptor exists */ > > +#define USB_SS_SSP_ISOC_COMP(p) ((p) & (1 << 7)) > > BIT(7)? > > Saves me the time of having someone do a coding style patch later on... Oh nevermind, it's a uapi file, BIT() doesn't work there, sorry for the noise... -- 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