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... thanks, greg k-h -- 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