HEADSUP new usb code coming in.

Hans Petter Selasky hselasky at c2i.net
Tue Aug 19 21:42:49 UTC 2008

On Tuesday 19 August 2008, Kevin Oberman wrote:
> > Date: Tue, 19 Aug 2008 12:44:13 -0700
> > From: Alfred Perlstein <alfred at freebsd.org>
> > Sender: owner-freebsd-current at freebsd.org
> >
> > After a long period of review and testing I am on the verge of
> > committing Hans Peter's new usb stack to -current.
> >
> > The patchset requires a SMALL _493_ line diff to the main code,
> > mostly bug fixes to arm.  And then a large number of new files
> > for the usb system.
> >
> > The new usb system will be committed as separate files with
> > the intention of folding them over the old files before the
> > 9.0 release.
> >
> > The diff to the main files is here:
> > http://mu.org/~bright/usb2/usb2_release_001.diff
> >
> > The whole diff, including new files is here:
> > http://mu.org/~bright/usb2/usb4bsd.diff.gz
> >
> > FAQ:
> > Q. Has this been reviewed?
> > A. Yes, pretty strongly by myself and we've consulted with
> > various others, Warner, Scott and Andrew for review/testing.
> > I wouldn't say that Warner or Scott have given full review
> > but just about all questions have been answered.
> >
> > Q. Can we change the name from "usb2_" to my favorite name?
> > A. No.   This is for a short period, stop being so annoying.
> >
> > Q. What about the old usb code?
> > A. What about it? :D
> >
> > Q. What about ttys?
> > A. I don't know, we'll address the mpsafe aspects of ttys shortly,
> > Hans is very responsive to SMP issues.
> >
> > Q. Shouldn't you wait?
> > A. Wait for what?  No.
> >
> > Q. I have some whitespace nits, can you do those?
> > A. No.  It's a 100k line diff and a 3meg delta, we tried really hard
> > to get all whitespace right, but you're welcome to point things out after
> > the commit.
> Cool! I've been waiting for this for a loooooong time. Thanks to you,
> Hans Peter and all of the folks who have helped!
> Not on the FAQ:
> Q: Other then no longer requiring giant [MPSAFE], what does usb2 give
>    us?  Does it fix the battery-eating on laptops? Does it allow the
>    system to reach C3 and lower sleep states? (These are at least
>    closely linked issues.)


Regarding power save there is no news. But I have been thinking about it, and 
a simple patch like turning off the ASYNC and SYNC schedules when no devices 
are plugged is not impossible. Only that it hasn't been done yet, because 
there is already plenty of USB stuff to do.

New stuff (all of which I can remember right now):

  - Full support for Split transactions, which means you can use your full 
speed USB audio on a high speed USB HUB.
  - Full support for HS ISOC transactions, which makes writing drivers for 
various HS webcams possible, for example
  - Full support for USB on embedded platforms, mostly cache flushing and 
buffer invalidating stuff.
  - Safer parsing of USB descriptors.
  - Autodetect of annoying USB install disks.
  - Support for USB device side (and a handful of USB device side chips)
  - Support for USB transfers like I/O vectors, means more throughput and less 
  - New UGEN backend and libusb library, finally solves the "driver unloading" 
  - A new USB API.
  - Many USB drivers are now running Giant free.
  - Linux USB kernel compat layer.
  - ... see the FreeBSD quarterly status reports


More information about the freebsd-current mailing list