CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2014/12/21 04:46:53
Modified files: sys/dev/usb : xhci.c Log message: Various transfer improvements/fixes. Chain TRBs when submitting bulk or interrupt transfers with a length bigger than the Maxium Packet Size of the endpoint. Append a supplementary TRB if a zero length packet is required. While here, set the flags of each TRB at once. Even if this driver implementation fills the first TRB of a chain last, be safe and make sure the hardware wont miss any flag. Note that with this change, DMA sync operations might not cover the whole chain, just like for control transfers, if the ring is starting over. Previous version of this diff tested by Peter N. M. Hansteen, thanks!