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 <[email protected]>
> > ---
> >  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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to