Re: XHCI, "brain-dead scanner", and microframe rounding

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

 



On Tue, 16 Sep 2014, Mathias Nyman wrote:

> > It's not fully clear how xHCI controllers use the Interval field in the
> > Endpoint Context.  Table 65 notably fails to include a line for HS
> > bulk-OUT/control endpoints, and the text isn't clear as to whether the
> > field is interpreted using exponential coding for non-periodic
> > endpoints.  As near as I can tell, it is -- which means you should call
> > xhci_microframes_to_exponent() here, not
> > xhci_parse_microframe_interval().
> > 
> > Alan Stern
> > 
> 
> I think this is correct now as it is, assuming xhci Interval field for HS bulk-OUT/control endpoint context uses the same exponential coding as for all other endpoints.
> 
> flow goes:
> if (HS bulk or control ep)                        //endpoints bInterval is in number of microframes here, 
>   xhci_parse_microframe_interval()
>     xhci_microframes_to_exponent(bInterval, ...)
>       interval = fls(bInterval) - 1;                // interval is now in exponent form

Yes, you're right -- I misread the code.  Sorry.

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