xhci: let class driver set urb->start_frame and try to shedule isoc at it.

use the urb->start_frame as a possible starting frame for isoc transfers,

urb->start_frame should be 1-2047 for LS and FS devices (frames)
urb->start_frame should be 1-16383 for HS or faster (microframes)

if microframes then preferrably divisible by eight as xhci can only
schedule on even frames anyway.

note that not accepring zero as urb->start_frame is a known bug
that should be fixed later by adding a urb flag instead indicating
if urb->start_frame should be used or not

xhci driver will (at least in most cases)
overwrite the urb->start_frame with the actual frame used.

This test probably beaks CFC feature as will, check it later.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
1 file changed