Home | History | Annotate | Download | only in usb
History log of /src/sys/dev/usb/usb.h
RevisionDateAuthorComments
 1.124  20-Jan-2024  jmcneill usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms

I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
 1.123  31-Jul-2023  christos put back old names (should be removed from the sanitizers)
 1.122  31-Jul-2023  christos Don't call versioned stuff "old". Follow the naming convention for versioning
and name them after the last version of the OS they appeared on.
 1.121  16-Sep-2022  msaitoh branches: 1.121.4;
Cast to uint32_t to avoid undefined behavior in UGETDW(). Found by kUBSan.
 1.120  17-Apr-2022  riastradh usbdi(9): Restore usb_descriptor_t to its correct definition.

Descriptors in the USB spec all start with bLength and
bDescriptorType. bDescriptorSubtype is only for certain
class-specific descriptors. Many descriptors, such as
usb_device_descriptor_t, _do not_ have bDescriptorSubtype, so using a
structure that has bDescriptorSubtype for such descrpitors is wrong.

There is some history here:

- Back in 1998, when augustss@ introduced the USB stack, the type
usb_descriptor_t was erroneously defined with a bDescriptorSubtype
member.

- In 2007, drochner@ removed this member to accurately reflect the
USB spec.

- In 2018, khorben@ appeared to have accidentally reintroduced it
while importing the umb(4) driver from OpenBSD, which still has the
erroneous bDescriptorSubtype member in usb_descriptor_t.

The umb(4) driver has since been adjusted to correctly use
usb_cdc_descriptor_t instead of usb_descriptor_t (and I have now
restored umidi_cs_descriptor_t which I had removed last month before
I realized this history of usb_descriptor_t), so this member is no
longer necessary.
 1.119  11-Oct-2021  jmcneill Update USB_PORT_RESET_RECOVERT to comply with the USB 2.0 specification
which says it should be max 10 milliseconds.

From FreeBSD: https://github.com/freebsd/freebsd-src/commit/70ffaaa69c830d26b59136d0b0447ab2f8683db8
 1.118  23-Aug-2019  mrg avoid using old bsd types (u_int etc) so that this compiles with
_POSIX_C_SOURCE as noted in PR#48339.
 1.117  07-Aug-2019  maxv Introduce USB_DESCRIPTOR_SIZE (3), and fix two bugs:

1) In usbd_find_idesc(), make sure the tables we're reading fit in the
allocated buffer, otherwise small overflow (seen on KASAN, with
bLength=1).
2) Modify usbd_find_edesc(), to fix the same issues as 1).

ok mrg@
 1.116  31-Jul-2018  khorben branches: 1.116.6;
Add a port of the umb(4) driver from OpenBSD

The umb(4) driver provides support for USB MBIM (Mobile Broadband
Interface Model) devices.

MBIM devices establish connections via cellular networks such as GPRS,
UMTS, and LTE. They appear as a regular point-to-point network interface, transporting raw IP frames.

Required configuration parameters like PIN and APN have to be set with
umbctl(8), a new tool specific to this driver. The IP address is configured
automatically; the default route and DNS server information have to be set
separately.

The driver is not fully functional yet, it is therefore still marked as
experimental and disabled by default. Any help welcome to complete it!

Tested on NetBSD/amd64, with a Sierra Wireless EM7345 LTE modem on a Lenovo
ThinkPad T440s. No functional change expected otherwise.
 1.115  19-Jan-2017  skrll branches: 1.115.6; 1.115.12; 1.115.14;
Pull across xhci(4) improvemnts from nick-nhusb
 1.114  17-Sep-2016  skrll branches: 1.114.2;
Update from t-hash with some changes from me.
 1.113  23-Apr-2016  skrll branches: 1.113.2;
Merge nick-nhusb

- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
- kern/48308
- uhub status notification improvements
- umass(4) probe fix (applied to HEAD already)
- ohci(4) short transfer fix
 1.112  26-Mar-2015  skrll Various usb 3 related changes from Takahiro HAYASHI
 1.111  08-Nov-2014  skrll branches: 1.111.2;
Add more structs and defines from various sources including FreeBSD,
OpenBSD and Takahiro HAYASHI
 1.110  12-Sep-2014  skrll Improve USB debugging with USBHIST based on KERNHIST.

Convert some DPRINTFs to USBHIST_LOG and allow usbdebug, ehcidebug and
umassdebug to be changed via sysctl.

Remove the #define mess in usb.h.

This was started by mrg@ and updated by reinoud@
 1.109  12-Aug-2014  skrll Add a UPS_SUPER_SPEED. From Takahiro HAYASHI.
 1.108  12-Aug-2014  skrll Add XHCI_DEBUG. From Takahiro HAYASHI with tweaks from me.

One day someone(tm) will tidyup USB debug stuff.
 1.107  12-Aug-2014  skrll Define AXEN_DEBUG. From Takahiro HAYASHI.
 1.106  01-Nov-2013  skrll branches: 1.106.4;
DOTG is dead. Long live DWC2.
 1.105  13-Sep-2013  jakllsch A few more USB 3.0 constants.
 1.104  21-Aug-2013  jakllsch Add UDESC_SSHUB and UDPROTO_SSHUB constants from USB 3.0.
 1.103  05-Apr-2013  skrll branches: 1.103.4;
Add a UPS_C_PORT_L1 define
 1.102  05-Apr-2013  skrll Add a UPS_PORT_L1 define
 1.101  21-Mar-2013  skrll Add some defines from the USB 2.0 specification and suppliments. Also,
add some accessor macros while I'm here.
 1.100  13-Jan-2013  skrll Add DWC_OTG_DEBUG
 1.99  09-Jan-2013  jmcneill USTIR_DEBUG_IOCTLS doesnt compile, and depends on a missing member in struct irframe_methods, so remove it
 1.98  07-Jan-2013  christos more debug flags.
 1.97  05-Jan-2013  christos fix debug variables.
- include opt_usb.h in usb.h so that USB_DEBUG gets set properly in it.
- normalize and sort debugging variables
 1.96  24-Aug-2012  msaitoh branches: 1.96.2;
Fix typos
 1.95  14-Jun-2012  blymn Add the CDC protocol identifier "no class specific protocol required"
and allow the umodem match routine to match on this protocol. This
allows some recent arduino boards serial interfaces to attach.
 1.94  06-Mar-2012  mrg pull down from usbmp:

kill the !USE_USE_SOFTINTR code.
 1.93  23-Aug-2011  christos branches: 1.93.2; 1.93.6; 1.93.10;
defopt UMASS_DEBUG
 1.92  20-Jul-2011  jakllsch Add UIPROTO_RNDIS.
 1.91  18-Jan-2011  matt Add preliminary support for Embedded Transaction Translator Function (as
found on the MPC8536 and AR9334) which allows low/full devices to be
connected to an EHCI root hub.
 1.90  25-Dec-2010  wiz branches: 1.90.2;
Add missing semicolon.
 1.89  25-Dec-2010  jmcneill add USB interface assoc descriptor (IAD) info
 1.88  19-Nov-2010  phx Added UIPROTO_MOUSE for HID-class.
 1.87  03-Nov-2010  dyoung Stop using the compatibility macros USB_ATTACH(), USB_DETACH(),
USB_MATCH(), et cetera. These files produce the same assembly
(according to objdump -d) before and after the change
 1.86  02-Jun-2010  jakllsch Add symbolic constant for number of USB 2.0 microframes per frame.
 1.85  15-May-2010  jakllsch Add Debug Descriptor structures and constants,
as well as symbolic identifiers for USB packet IDs.
 1.84  06-Mar-2010  plunky branches: 1.84.2;
add UHSO_DEBUG for uhso(4) driver
 1.83  04-Sep-2009  dyoung branches: 1.83.2;
Extract some definitions from usb_port.h and put them into usb.h.
 1.82  02-Aug-2008  jmcneill branches: 1.82.12;
High speed isochronous transfer support, from Jeremy Morse as part of
Google Summer of Code 2008.
 1.81  18-Jun-2008  jmcneill branches: 1.81.2;
USB video class definitions, from Patrick Mahoney for GSoC 2008.
 1.80  26-May-2008  drochner branches: 1.80.2;
some cleanup:
-unifdef
-since the roothub attach doesn't use locators, don't call
config_stdsubmatch() -- it is a no-op in that case
-ifsubmatch has configuration and interface always set to useful values,
remove unnecessary checks
-remove now unused locator definitions from shared header
 1.79  28-Apr-2008  martin branches: 1.79.2;
Remove clause 3 and 4 from TNF licenses
 1.78  25-Dec-2007  perry branches: 1.78.6; 1.78.8; 1.78.10;
Convert many of the uses of __attribute__ to equivalent
__packed, __unused and __dead macros from cdefs.h
 1.77  26-Feb-2007  drochner branches: 1.77.12; 1.77.20; 1.77.26; 1.77.28; 1.77.32;
-remove "bDescriptorSubtype" from usb_descriptor_t - this is not part
of the common USB spec
-Fix length of string descriptor: Descriptors have only a byte field
for length, so 2*127+2 is already too much. Some devices obviously
don't reply to string read requests with impossible length which
happened if "sizeof(usb_string_descriptor_t) was used.
 1.76  19-Jan-2007  drochner branches: 1.76.2;
Kill the "bus powered" bit in the configuration descriptor. This doesn't
exist in newer spec revisions, and is recommended to be set to 1.
So call it _MBO and also use it in the fake root hub descriptors, just
for sanity, even if nothing ever looks at it.
 1.75  03-Dec-2006  pavel Restore compatibility of USB_DEVICEINFO ioctl and reads from /dev/usb with
NetBSD 3.x. Patch from Stephan Thesing provided in
http://mail-index.netbsd.org/current-users/2006/03/21/0002.html, with some
modifications by me.
See also
http://mail-index.netbsd.org/current-users/2006/08/29/0017.html

The code is conditionally compiled depending on COMPAT_30.

Also fix a leak of struct usb_event in usbread() introduced while converting
on-stack variables to dynamic allocation.

Reviewed by martin@.
 1.74  24-Jul-2006  gdt branches: 1.74.4; 1.74.6; 1.74.8;
Add UGEN_BULK_RA_WB, which allows users of ugen(4) to request read
ahead and write behind, improving performance for the Universal
Software Radio Peripheral (USRP) used with GNU Radio.

Enable UGEN_BULK_RA_WB in GENERIC and GENERIC_LAPTOP; behavior is
unchanged unless the new ioctl is called.

This code was written by Joanne Mikkelson under funding from DARPA's
ACERT program.

ok'd by christos@, tested by Berndt Josef Wulf
 1.73  11-Dec-2005  christos branches: 1.73.4; 1.73.8;
merge ktrace-lwp.
 1.72  02-May-2005  augustss branches: 1.72.2;
Use UTF8 to encode strings read from the device (instead of using '?' for
characters >=0x100).

Also add serial number string to the device information struct.
 1.71  23-Jun-2004  mycroft In the "seemed like a good idea until I found the fatal flaw" department...
Attempting to read a maximum-size string descriptor causes my kue device to go
completely apeshit. So, go back to the original method, but allow the device
to return a shorter string than it claimed.
 1.70  23-Jun-2004  mycroft Whoops, use the correct value for the maximum string descriptor length.
 1.69  22-Sep-2002  augustss branches: 1.69.6;
Increasre the reset recovery time.
 1.68  22-Aug-2002  augustss Update class codes.
 1.67  22-Aug-2002  augustss Add Bluetooth related classes etc.
 1.66  11-Jul-2002  augustss Get rid of trailing white space.
 1.65  26-Feb-2002  augustss branches: 1.65.8;
A small fix for FreeBSD.
 1.64  26-Feb-2002  augustss Some minor fixes from FreeBSD.
 1.63  25-Feb-2002  augustss Some portability improvement.
Add define for usb.h version.
 1.62  20-Feb-2002  christos Prefix structure members to protect them against clashes with eg. c++ keywords.
Suggested by Alfred Perlstein, from FreeBSD, ok'd by augustss
 1.61  01-Jan-2002  augustss Add a missing subclass definition.
 1.60  29-Dec-2001  augustss Add some definitions from the USB OTG (On The Go) spec.
 1.59  06-Dec-2001  augustss Add IrDA related defines.
 1.58  23-Nov-2001  augustss Update mass storage protocol numbers.
 1.57  21-Nov-2001  augustss Add another "feature".
 1.56  20-Nov-2001  augustss Use longer reset for root hubs (as told in the spec).
 1.55  20-Nov-2001  augustss More USB 2.0 definitions.
 1.54  17-Nov-2001  augustss Make it possible to report device speeds with ioctl(USB_DEVICEINFO).
 1.53  06-Nov-2001  augustss Add some USB 2 related definitions.
 1.52  23-Jul-2001  nathanw branches: 1.52.4;
Add the constant for the IEEE 1284-mode protocol for the printer
class, as given in revision 1.1 of the USB printer class spec.
 1.51  13-Dec-2000  augustss branches: 1.51.2; 1.51.4;
Don't try to access a device that is being disconnected when generating
the detach event. Fixes (I hope) PR 11713 from itohy@netbsd.org (ITOH Yasufumi).
 1.50  01-Jun-2000  augustss Reorder a little.
 1.49  30-May-2000  augustss Use attribute packed for on-the-wire data structures.
 1.48  27-Apr-2000  augustss branches: 1.48.2;
Change my email address.
 1.47  23-Apr-2000  augustss Make it possible to move a device to its unconfigured state by
using config #0.
 1.46  21-Apr-2000  augustss Make sure to read the full hub descriptor (including the deprecated field).
 1.45  21-Apr-2000  augustss Add a define for some slack port power up time.
 1.44  03-Apr-2000  augustss Correct a typo.
 1.43  24-Mar-2000  augustss Rename bulk only protocol (following FreeBSD).
 1.42  19-Mar-2000  augustss Add ioctl USB_SET_REPORT for uhid. This will allow manipulating the
feature items.
 1.41  29-Feb-2000  augustss Distinguish between device and interface classes.
(I finally found a document that said that they were different.)
 1.40  02-Feb-2000  augustss Change the USB event mechanism to include more information about devices
and drivers. Partly from FreeBSD.
 1.39  18-Nov-1999  augustss Cosmetic changes and some small improvements. From FreeBSD and Nick Hibma.
 1.38  20-Oct-1999  augustss Add a macro to extract the isoc type.
 1.37  13-Oct-1999  augustss branches: 1.37.2; 1.37.4;
Remove FreeBSD tags that got in there by accident.
Add #include <sys/time.h> to usb.h.
 1.36  13-Oct-1999  augustss Merge in a large batch of changes from Nick Hibma <hibma@skylink.it> so
the USB stack compiles on FreeBSD again.
 1.35  12-Oct-1999  augustss Add an event mechanism so that a userland process can watch devices come
and go.
 1.34  16-Sep-1999  augustss branches: 1.34.2;
Make defines follow the standard.
 1.33  11-Sep-1999  augustss * Move DMA buffer allocation to HC independent code.
* Remove (almost) unused definitions USBD_XFER_OUT and USBD_XFER_IN.
 1.32  06-Sep-1999  augustss Add USUBCLASS_MIDISTREAM definition, per request from MAEKAWA Masahide
<bishop@rr.iij4u.or.jp>.
 1.31  04-Sep-1999  augustss Change the way the direction is extracted from the endpoint descriptor.
No functional changes to the drivers. From Nick Hibma, FreeBSD.
 1.30  29-Aug-1999  augustss Add some missing request codes.
 1.29  22-Aug-1999  augustss Move more of the transfer completion processing to HC independent code.
Fix some problems with transfer abort & timeout.
 1.28  19-Aug-1999  augustss Add some mass storage definitions.
 1.27  18-Aug-1999  augustss Back out last change. The ugliness of the Audio Class should not have
to pollute the general USB definitions.
 1.26  18-Aug-1999  augustss Update the endpoint descriptor struct with the two oddball entries
that only the Audio Class has.
 1.25  17-Aug-1999  augustss Make some small changes to make it compile on OpenBSD.
 1.24  16-Aug-1999  augustss Some new ioctl()s for the umodem driver.
 1.23  30-Jun-1999  augustss Totally redo the way device detach is done. It now uses a kernel event
thread and the config detach method.
Squish a number of space leaks on detach.
 1.22  26-Jun-1999  augustss Add suspend/resume handling to the UHCI driver.
Currently it only works if the BIOS saves enough state of the controller.
Once I find a machine with a dumber BIOS I'll try to improve that.
 1.21  18-May-1999  thorpej Add a few more Communication Interface Class subclasses (including Ethernet
and *shudder* ATM).
 1.20  16-May-1999  augustss s/revision/release/
 1.19  09-May-1999  augustss Add some Mass Storage constants.
 1.18  15-Feb-1999  augustss branches: 1.18.4;
Make the reset even longer do cater for really bad devices.
 1.17  03-Jan-1999  augustss Add more CDC definitions.
 1.16  01-Jan-1999  augustss Add uDWord type for 4 byte USB structure fields.
 1.15  29-Dec-1998  augustss Do not blindly assume that a device supports language id 0, instead
ask it what languages it supports.
 1.14  29-Dec-1998  augustss Return more info in ioctl(USB_DEVICEINFO).
 1.13  29-Dec-1998  augustss Add some more useful #defines.
 1.12  29-Dec-1998  augustss Make it possible to specify the request flags when issuing a raw USB request.
 1.11  28-Dec-1998  augustss Update timing again (for bad devices).
 1.10  28-Dec-1998  augustss Add some isoc defines.
 1.9  28-Dec-1998  augustss Fix typos.
 1.8  26-Dec-1998  augustss Merge changes to make the USB stack work with FreeBSD. The original
diffs from Nick Hibma <n_hibma@freebsd.org>, but with substantial
changes from me.
XXX Not tested on FreeBSD yet.
 1.7  09-Dec-1998  augustss Improvement to the ugen driver.
Better error checking.
Some code rearrengment.
 1.6  08-Dec-1998  augustss Some minor API changes and additions.
 1.5  02-Dec-1998  augustss Add stub for a modem driver.
 1.4  25-Nov-1998  augustss Make the copyright header conform to the NetBSD template.
 1.3  25-Jul-1998  augustss Add an ioctl() to get host controller statistics.
 1.2  13-Jul-1998  augustss Add some useful HID ioctl()s.
 1.1  12-Jul-1998  augustss Add USB support. Supported so far:
* UHCI and OHCI host controllers on PCI
* Hubs
* HID devices withe special drivers for mouse and keyboard
* Printers
 1.18.4.2  01-Jul-1999  thorpej Sync w/ -current.
 1.18.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.34.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.37.4.1  15-Nov-1999  fvdl Sync with -current
 1.37.2.3  13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.37.2.2  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.37.2.1  20-Oct-1999  thorpej Sync w/ trunk.
 1.48.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.51.4.5  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.51.4.4  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.51.4.3  16-Mar-2002  jdolecek Catch up with -current.
 1.51.4.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.51.4.1  03-Aug-2001  lukem update to -current
 1.51.2.7  18-Oct-2002  nathanw Catch up to -current.
 1.51.2.6  27-Aug-2002  nathanw Catch up to -current.
 1.51.2.5  01-Aug-2002  nathanw Catch up to -current.
 1.51.2.4  28-Feb-2002  nathanw Catch up to -current.
 1.51.2.3  08-Jan-2002  nathanw Catch up to -current.
 1.51.2.2  14-Nov-2001  nathanw Catch up to -current.
 1.51.2.1  24-Aug-2001  nathanw Catch up with -current.
 1.52.4.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.65.8.2  29-Aug-2002  gehenna catch up with -current.
 1.65.8.1  15-Jul-2002  gehenna catch up with -current.
 1.69.6.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.69.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.69.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.69.6.1  03-Aug-2004  skrll Sync with HEAD
 1.72.2.4  21-Jan-2008  yamt sync with head
 1.72.2.3  03-Sep-2007  yamt sync with head.
 1.72.2.2  26-Feb-2007  yamt sync with head.
 1.72.2.1  30-Dec-2006  yamt sync with head.
 1.73.8.1  11-Aug-2006  yamt sync with head
 1.73.4.1  09-Sep-2006  rpaulo sync with head
 1.74.8.1  06-Apr-2007  bouyer Pull up following revision(s) (requested by pavel in ticket #556):
sys/dev/usb/ugen.c: revision 1.89
sys/dev/usb/usb.c: revisions 1.92, 1.93
sys/dev/usb/usb_subr.c: revision 1.139, 1.140
sys/dev/usb/usb.h: revision 1.75
sys/dev/usb/usbdi.h: revisions 1.71, 1.72
sys/dev/usb/usbdi.c: revision 1.115, 1.116
sys/dev/usb/uhid.c: revision 1.73
Restore compatibility of USB_DEVICEINFO ioctl and reads from /dev/usb with
NetBSD 3.x. The code is conditionally compiled depending on COMPAT_30.
 1.74.6.1  10-Dec-2006  yamt sync with head.
 1.74.4.2  01-Feb-2007  ad Sync with head.
 1.74.4.1  12-Jan-2007  ad Sync with head.
 1.76.2.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.77.32.1  02-Jan-2008  bouyer Sync with HEAD
 1.77.28.1  26-Dec-2007  ad Sync with head.
 1.77.26.1  18-Feb-2008  mjf Sync with HEAD.
 1.77.20.1  09-Jan-2008  matt sync with HEAD
 1.77.12.1  22-May-2007  itohy Overhaul of USB stack, mostly DMA related

This applies to NetBSD 4.99.13 (March 1, 2007)

usbdi(9) interface is based on FreeBSD version, excluding
- removal of portability code

Patch most NetBSD changes, excluding
- DMA memory "reserve", since we don't need contiguous buffers any longer
- volatiles in DMA structure, since it should not be needed
with proper bus_dmamap_sync(9)s

DMA/non-DMA memory management overhaul
- Move all DMA related code to usb_mem.[ch]
(add usb_alloc_buffer_dma(), usb_free_buffer_dma(), etc.).
XXX Should usb_mem.[ch] be renamed as usb_mem_dma.[ch] ?
- Add corresponding non-DMA code to usb_mem_nodma.[ch] .
Currently just use malloc(9).
- Above files are conditionally used by config framework (added
attributes to conf/files and dev/usb/files.usb).
- Add diagnostic panics when resource allocation is requested
on interrupt context.
- Change memory allocations (that require context) from NOWAIT to WAITOK.

Allocate DMA/non-DMA buffer per host interface, not globally.
advantage: Buffers can be freed on detaching host interface.
Activity of a host interface does not affect others.
disadvantages: It possibly consumes more memory.

API changes
- usbd_alloc_xfer() is changed:
old: usbd_xfer_handle usbd_alloc_xfer(usbd_device_handle dev);
new: usbd_xfer_handle usbd_alloc_xfer(usbd_device_handle dev,
usbd_pipe_handle pipe);
- pipe argument of usbd_setup_*xfer() are now unused
XXX the pipe argument should be removed?
- add mapping APIs
- async request will be processed as a task (kernel thread context),
and delayed to some extent
- usbdivar.h: struct usbd_xfer: renamed a member "allocbuf" to "hcbuffer"
(mapped/allocated/refered buffer for HCI driver)
- usb_port.h: change usb_proc_ptr from struct ptoc * to struct lwp *
- usb_port.h: add usb_sigproc_ptr for psignal(9) (struct proc *)
- usb.h: add UE_MAXPKTSZ(ep) and UE_MAXPKTSZ_MASK macros for USB 2.0

changes to USB device drivers
- atu, aue, axe, cdce, cue, kue, rum, udav, upl, ural, url,
uaudio, ubt, ucom, ugen, uhidev, uirda, ulpt, umidi, urio,
uscanner, ustir, utoppy:
* catch up API change of usbd_alloc_xfer()
- umass, usscanner:
* catch up API change of usbd_alloc_xfer()
* eliminate memory copy for large transfer

ohci
- free resources on detach
- add lots of bus_dmamap_sync() operations
- simplify the code of loading std chain
- rewrite code of looking up TD/ITD from DMA addr by using allocation chunk
- add workaround for CMD Tech 670 and 673 chipsets
- make sure resources are not allocated in interrupt context
- add support for mapping buffer and mbuf

slhci
- allocate xfer and slhci_xfer at once, and simplify relevant code
- add slhci_detach()
- remove second arg of slhci_attach() since it is the same as the first arg.
- add support for "mapping" (no, it doesn't map since it doesn't do DMA)
buffer and mbuf
- add pcmcia frontend
- NOT TESTED, missing hardware

ehci
- add lots of bus_dmamap_sync() operations, possibly too many
- make sure resources are not allocated in interrupt context
- add support for mapping buffer and mbuf
- done only simple test

uhci
- add lots of bus_dmamap_sync() operations, possibly too many
- make sure resources are not allocated in interrupt context
- add support for mapping buffer and mbuf

To do
- review, test, debug
- rewrite network drivers to utilize usbd_map_buffer_mbuf()
- rewrite uaudio(4) to eliminate memcpy
- "pipe" argument of usbd_setup_*xfer() should eventually be removed
 1.78.10.5  11-Aug-2010  yamt sync with head.
 1.78.10.4  11-Mar-2010  yamt sync with head
 1.78.10.3  16-Sep-2009  yamt sync with head
 1.78.10.2  04-May-2009  yamt sync with head.
 1.78.10.1  16-May-2008  yamt sync with head.
 1.78.8.2  04-Jun-2008  yamt sync with head
 1.78.8.1  18-May-2008  yamt sync with head.
 1.78.6.3  28-Sep-2008  mjf Sync with HEAD.
 1.78.6.2  29-Jun-2008  mjf Sync with HEAD.
 1.78.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.79.2.2  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.79.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.80.2.1  27-Jun-2008  simonb Sync with head.
 1.81.2.1  19-Oct-2008  haad Sync with HEAD.
 1.82.12.1  05-Nov-2013  matt Pull down xhci support from HEAD
 1.83.2.3  06-Nov-2010  uebayasi Sync with HEAD.
 1.83.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.83.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.84.2.3  05-Mar-2011  rmind sync with head
 1.84.2.2  03-Jul-2010  rmind sync with head
 1.84.2.1  30-May-2010  rmind sync with head
 1.90.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.93.10.1  19-May-2013  riz Pull up following revision(s) (requested by skrll in ticket #850):
sys/dev/usb/usb.h: revision 1.101
sys/dev/usb/usb.h: revision 1.102
sys/dev/usb/usb.h: revision 1.103
Add some defines from the USB 2.0 specification and suppliments. Also,
add some accessor macros while I'm here.
Add a UPS_PORT_L1 define
Add a UPS_C_PORT_L1 define
 1.93.6.1  06-Mar-2012  mrg sync to -current
 1.93.2.4  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.93.2.3  23-Jan-2013  yamt sync with head
 1.93.2.2  30-Oct-2012  yamt sync with head
 1.93.2.1  17-Apr-2012  yamt sync with head
 1.96.2.4  03-Dec-2017  jdolecek update from HEAD
 1.96.2.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.96.2.2  23-Jun-2013  tls resync from head
 1.96.2.1  25-Feb-2013  tls resync with head
 1.103.4.2  18-May-2014  rmind sync with head
 1.103.4.1  28-Aug-2013  rmind sync with head
 1.106.4.3  05-Apr-2017  snj Pull up following revision(s) (requested by skrll in ticket #1395):
share/man/man4/axe.4: netbsd-7-nhusb
share/man/man4/axen.4: netbsd-7-nhusb
share/man/man4/cdce.4: netbsd-7-nhusb
share/man/man4/uaudio.4: netbsd-7-nhusb
share/man/man4/ucom.4: netbsd-7-nhusb
share/man/man4/uep.4: netbsd-7-nhusb
share/man/man4/urtw.4: netbsd-7-nhusb
share/man/man4/usb.4: netbsd-7-nhusb
share/man/man4/uyap.4: netbsd-7-nhusb
share/man/man4/xhci.4: netbsd-7-nhusb
share/man/man9/usbdi.9: netbsd-7-nhusb
sys/arch/amd64/conf/ALL: netbsd-7-nhusb
sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb
sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb
sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb
sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb
sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb
sys/arch/arm/imx/files.imx23: netbsd-7-nhusb
sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb
sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb
sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb
sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb
sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb
sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb
sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb
sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb
sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb
sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb
sys/arch/i386/conf/ALL: netbsd-7-nhusb
sys/arch/i386/conf/GENERIC: netbsd-7-nhusb
sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb
sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb
sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb
sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb
sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb
sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb
sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb
sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb
sys/conf/files: netbsd-7-nhusb
sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb
sys/dev/ic/sl811hs.c: netbsd-7-nhusb
sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb
sys/dev/isa/slhci_isa.c: netbsd-7-nhusb
sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb
sys/dev/pci/ehci_pci.c: netbsd-7-nhusb
sys/dev/pci/ohci_pci.c: netbsd-7-nhusb
sys/dev/pci/uhci_pci.c: netbsd-7-nhusb
sys/dev/pci/xhci_pci.c: netbsd-7-nhusb
sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb
sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb
sys/dev/usb/TODO: netbsd-7-nhusb
sys/dev/usb/TODO.usbmp: netbsd-7-nhusb
sys/dev/usb/aubtfwl.c: netbsd-7-nhusb
sys/dev/usb/auvitek.c: netbsd-7-nhusb
sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb
sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb
sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb
sys/dev/usb/auvitek_video.c: netbsd-7-nhusb
sys/dev/usb/auvitekvar.h: netbsd-7-nhusb
sys/dev/usb/ehci.c: netbsd-7-nhusb
sys/dev/usb/ehcireg.h: netbsd-7-nhusb
sys/dev/usb/ehcivar.h: netbsd-7-nhusb
sys/dev/usb/emdtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb
sys/dev/usb/emdtvvar.h: netbsd-7-nhusb
sys/dev/usb/ezload.c: netbsd-7-nhusb
sys/dev/usb/ezload.h: netbsd-7-nhusb
sys/dev/usb/files.usb: netbsd-7-nhusb
sys/dev/usb/hid.c: netbsd-7-nhusb
sys/dev/usb/hid.h: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb
sys/dev/usb/if_atu.c: netbsd-7-nhusb
sys/dev/usb/if_atureg.h: netbsd-7-nhusb
sys/dev/usb/if_aue.c: netbsd-7-nhusb
sys/dev/usb/if_auereg.h: netbsd-7-nhusb
sys/dev/usb/if_axe.c: netbsd-7-nhusb
sys/dev/usb/if_axen.c: netbsd-7-nhusb
sys/dev/usb/if_axenreg.h: netbsd-7-nhusb
sys/dev/usb/if_axereg.h: netbsd-7-nhusb
sys/dev/usb/if_cdce.c: netbsd-7-nhusb
sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb
sys/dev/usb/if_cue.c: netbsd-7-nhusb
sys/dev/usb/if_cuereg.h: netbsd-7-nhusb
sys/dev/usb/if_kue.c: netbsd-7-nhusb
sys/dev/usb/if_kuereg.h: netbsd-7-nhusb
sys/dev/usb/if_otus.c: netbsd-7-nhusb
sys/dev/usb/if_otusvar.h: netbsd-7-nhusb
sys/dev/usb/if_rum.c: netbsd-7-nhusb
sys/dev/usb/if_rumreg.h: netbsd-7-nhusb
sys/dev/usb/if_rumvar.h: netbsd-7-nhusb
sys/dev/usb/if_run.c: netbsd-7-nhusb
sys/dev/usb/if_runvar.h: netbsd-7-nhusb
sys/dev/usb/if_smsc.c: netbsd-7-nhusb
sys/dev/usb/if_smscreg.h: netbsd-7-nhusb
sys/dev/usb/if_smscvar.h: netbsd-7-nhusb
sys/dev/usb/if_udav.c: netbsd-7-nhusb
sys/dev/usb/if_udavreg.h: netbsd-7-nhusb
sys/dev/usb/if_upgt.c: netbsd-7-nhusb
sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb
sys/dev/usb/if_upl.c: netbsd-7-nhusb
sys/dev/usb/if_ural.c: netbsd-7-nhusb
sys/dev/usb/if_uralreg.h: netbsd-7-nhusb
sys/dev/usb/if_uralvar.h: netbsd-7-nhusb
sys/dev/usb/if_url.c: netbsd-7-nhusb
sys/dev/usb/if_urlreg.h: netbsd-7-nhusb
sys/dev/usb/if_urndis.c: netbsd-7-nhusb
sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtw.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb
sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb
sys/dev/usb/if_zyd.c: netbsd-7-nhusb
sys/dev/usb/if_zydreg.h: netbsd-7-nhusb
sys/dev/usb/irmce.c: netbsd-7-nhusb
sys/dev/usb/moscom.c: netbsd-7-nhusb
sys/dev/usb/motg.c: netbsd-7-nhusb
sys/dev/usb/motgvar.h: netbsd-7-nhusb
sys/dev/usb/ohci.c: netbsd-7-nhusb
sys/dev/usb/ohcireg.h: netbsd-7-nhusb
sys/dev/usb/ohcivar.h: netbsd-7-nhusb
sys/dev/usb/pseye.c: netbsd-7-nhusb
sys/dev/usb/slurm.c: netbsd-7-nhusb
sys/dev/usb/stuirda.c: netbsd-7-nhusb
sys/dev/usb/u3g.c: netbsd-7-nhusb
sys/dev/usb/uark.c: netbsd-7-nhusb
sys/dev/usb/uatp.c: netbsd-7-nhusb
sys/dev/usb/uaudio.c: netbsd-7-nhusb
sys/dev/usb/uberry.c: netbsd-7-nhusb
sys/dev/usb/ubsa.c: netbsd-7-nhusb
sys/dev/usb/ubsa_common.c: netbsd-7-nhusb
sys/dev/usb/ubsavar.h: netbsd-7-nhusb
sys/dev/usb/ubt.c: netbsd-7-nhusb
sys/dev/usb/uchcom.c: netbsd-7-nhusb
sys/dev/usb/ucom.c: netbsd-7-nhusb
sys/dev/usb/ucomvar.h: netbsd-7-nhusb
sys/dev/usb/ucycom.c: netbsd-7-nhusb
sys/dev/usb/udl.c: netbsd-7-nhusb
sys/dev/usb/udl.h: netbsd-7-nhusb
sys/dev/usb/udsbr.c: netbsd-7-nhusb
sys/dev/usb/udsir.c: netbsd-7-nhusb
sys/dev/usb/uep.c: netbsd-7-nhusb
sys/dev/usb/uftdi.c: netbsd-7-nhusb
sys/dev/usb/uftdireg.h: netbsd-7-nhusb
sys/dev/usb/ugen.c: netbsd-7-nhusb
sys/dev/usb/ugensa.c: netbsd-7-nhusb
sys/dev/usb/uhci.c: netbsd-7-nhusb
sys/dev/usb/uhcireg.h: netbsd-7-nhusb
sys/dev/usb/uhcivar.h: netbsd-7-nhusb
sys/dev/usb/uhid.c: netbsd-7-nhusb
sys/dev/usb/uhidev.c: netbsd-7-nhusb
sys/dev/usb/uhidev.h: netbsd-7-nhusb
sys/dev/usb/uhmodem.c: netbsd-7-nhusb
sys/dev/usb/uhso.c: netbsd-7-nhusb
sys/dev/usb/uhub.c: netbsd-7-nhusb
sys/dev/usb/uipad.c: netbsd-7-nhusb
sys/dev/usb/uipaq.c: netbsd-7-nhusb
sys/dev/usb/uirda.c: netbsd-7-nhusb
sys/dev/usb/uirdavar.h: netbsd-7-nhusb
sys/dev/usb/ukbd.c: netbsd-7-nhusb
sys/dev/usb/ukbdmap.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.h: netbsd-7-nhusb
sys/dev/usb/ulpt.c: netbsd-7-nhusb
sys/dev/usb/umass.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.h: netbsd-7-nhusb
sys/dev/usb/umass_quirks.c: netbsd-7-nhusb
sys/dev/usb/umass_quirks.h: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb
sys/dev/usb/umassvar.h: netbsd-7-nhusb
sys/dev/usb/umcs.c: netbsd-7-nhusb
sys/dev/usb/umct.c: netbsd-7-nhusb
sys/dev/usb/umidi.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb
sys/dev/usb/umodem.c: netbsd-7-nhusb
sys/dev/usb/umodem_common.c: netbsd-7-nhusb
sys/dev/usb/umodemvar.h: netbsd-7-nhusb
sys/dev/usb/ums.c: netbsd-7-nhusb
sys/dev/usb/uplcom.c: netbsd-7-nhusb
sys/dev/usb/urio.c: netbsd-7-nhusb
sys/dev/usb/urio.h: netbsd-7-nhusb
sys/dev/usb/usb.c: netbsd-7-nhusb
sys/dev/usb/usb.h: netbsd-7-nhusb
sys/dev/usb/usb_mem.c: netbsd-7-nhusb
sys/dev/usb/usb_mem.h: netbsd-7-nhusb
sys/dev/usb/usb_quirks.c: netbsd-7-nhusb
sys/dev/usb/usb_quirks.h: netbsd-7-nhusb
sys/dev/usb/usb_subr.c: netbsd-7-nhusb
sys/dev/usb/usbdevices.config: netbsd-7-nhusb
sys/dev/usb/usbdevs: netbsd-7-nhusb
sys/dev/usb/usbdevs.h: netbsd-7-nhusb
sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb
sys/dev/usb/usbdi.c: netbsd-7-nhusb
sys/dev/usb/usbdi.h: netbsd-7-nhusb
sys/dev/usb/usbdi_util.c: netbsd-7-nhusb
sys/dev/usb/usbdi_util.h: netbsd-7-nhusb
sys/dev/usb/usbdivar.h: netbsd-7-nhusb
sys/dev/usb/usbhid.h: netbsd-7-nhusb
sys/dev/usb/usbhist.h: netbsd-7-nhusb
sys/dev/usb/usbroothub.c: netbsd-7-nhusb
sys/dev/usb/usbroothub.h: netbsd-7-nhusb
sys/dev/usb/usbroothub_subr.c: delete
sys/dev/usb/usbroothub_subr.h: delete
sys/dev/usb/uscanner.c: netbsd-7-nhusb
sys/dev/usb/uslsa.c: netbsd-7-nhusb
sys/dev/usb/usscanner.c: netbsd-7-nhusb
sys/dev/usb/ustir.c: netbsd-7-nhusb
sys/dev/usb/uthum.c: netbsd-7-nhusb
sys/dev/usb/utoppy.c: netbsd-7-nhusb
sys/dev/usb/uts.c: netbsd-7-nhusb
sys/dev/usb/uvideo.c: netbsd-7-nhusb
sys/dev/usb/uvisor.c: netbsd-7-nhusb
sys/dev/usb/uvscom.c: netbsd-7-nhusb
sys/dev/usb/uyap.c: netbsd-7-nhusb
sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb
sys/dev/usb/uyurex.c: netbsd-7-nhusb
sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb
sys/dev/usb/xhci.c: netbsd-7-nhusb
sys/dev/usb/xhcireg.h: netbsd-7-nhusb
sys/dev/usb/xhcivar.h: netbsd-7-nhusb
sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb
sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb
sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb
sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/include/linux/err.h: delete
sys/external/bsd/drm2/include/linux/workqueue.h: delete
sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb
sys/external/bsd/drm2/linux/linux_work.c: delete
sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb
sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb
sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb
sys/modules/i915drmkms/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb
sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb
sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete
sys/rump/dev/lib/libusb/opt/opt_usb.h: delete
sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete
sys/sys/mbuf.h: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb
Merge netbsd-7-nhusb:
- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
- kern/48308
- uhub status notification improvements
- umass(4) probe fix (applied to HEAD already)
- ohci(4) short transfer fix
- Change the SOFTINT level from NET to SERIAL for the USB softint handler.
This gives the callback a chance of running when another softint handler
at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of
the network stack.
- kern/49065 - ifconfig tun0 ... sequence locks up system / lockup:
softnet_lock held across usb xfr
- kern/50491 - unkillable wait in usbd_transfer while using usmsc0
on raspberry pi 2
- kern/51395 - USB Ethernet makes xhci hang
- Various improvements to slhci(4)
- Various improvements to dwc2(4)
 1.106.4.2  14-Aug-2014  martin branches: 1.106.4.2.4;
Pull up following revision(s) (requested by skrll in ticket #10):
sys/dev/usb/usb.h: revision 1.107
Define AXEN_DEBUG. From Takahiro HAYASHI.
 1.106.4.1  13-Aug-2014  riz Pull up following revision(s) (requested by skrll in ticket #12):
sys/dev/usb/files.usb: revision 1.133
sys/dev/usb/usb.h: revision 1.108
Add XHCI_DEBUG. From Takahiro HAYASHI with tweaks from me.
One day someone(tm) will tidyup USB debug stuff.
 1.106.4.2.4.3  26-Jan-2017  skrll Sync with HEAD/nhusb
 1.106.4.2.4.2  07-Sep-2016  skrll Missed update - no idea how this happened
 1.106.4.2.4.1  06-Sep-2016  skrll First pass at netbsd-7 updated with USB code from HEAD
 1.111.2.12  03-Jan-2017  skrll Improve handling of roothub device and free up a bus address for LS/FS/HS
controllers.
 1.111.2.11  02-Jan-2017  skrll Parse the extended capabilies to and log each controller port to SS/HS
bus root hub ports.

Create/attach the two buses and adapt the xhci_roothub_ctrl to deal with
both buses and sets of roothub ports.

XXX the roothub ub_devices entry needs work to interact with usbdevs(1)
XXX correctly
 1.111.2.10  05-Oct-2016  skrll Sync with HEAD
 1.111.2.9  06-Apr-2016  skrll Remove FreeBSD RCSId tag
 1.111.2.8  07-Jun-2015  skrll More definitions from USB 3.1.

Mostly from t-hash, but slightly updated by me
 1.111.2.7  28-May-2015  skrll More changes from Takahiro HAYASHI

+ Add sc_statuspend that stores ports bitmap of pending interrupts
instead of sc_isxhciroothub hack til someone implements suspend pipe.
While sc_explorepending == 1, uhub_intr shall merge sc_status into
sc_statuspend.
+ Eliminate confusing UPS_SUPER_SPEED flag and introduce
UPS_OTHER_SPEED flag that indicates ud_speed of device is
super speed (or more).
uhub shall set this flag if ud_speed is super speed (or more).
+ Add the macro that checks ud_speed is super speed.
The codes shall use this macro to check ud_speed is super speed.
+ Add speed type conversion functions.
+ Include port link status in port_status if port is super speed.

Various other changes to support SS hubs and devices
 1.111.2.6  06-Apr-2015  skrll Sync with HEAD
 1.111.2.5  03-Dec-2014  skrll Provide a USETWD macro for use with USB words designated
initialisers.
 1.111.2.4  03-Dec-2014  skrll Replace malloc(9) with kmem(9)
 1.111.2.3  03-Dec-2014  skrll G/C M_USBHC
 1.111.2.2  30-Nov-2014  skrll Remove #if 0 code.
 1.111.2.1  30-Nov-2014  skrll Use C99 types. u_int{8,16,32,64}_t to uint{8,16,32,64}_t.

No functional change.
 1.113.2.2  20-Mar-2017  pgoyette Sync with HEAD
 1.113.2.1  04-Nov-2016  pgoyette Sync with HEAD
 1.114.2.1  21-Apr-2017  bouyer Sync with HEAD
 1.115.14.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.115.14.1  10-Jun-2019  christos Sync with HEAD
 1.115.12.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.115.6.1  19-Jan-2023  martin Pull up following revision(s) (requested by msaitoh in ticket #1786):

sys/dev/usb/usb.h: revision 1.121

Cast to uint32_t to avoid undefined behavior in UGETDW(). Found by kUBSan.
 1.116.6.2  18-Sep-2022  martin Pull up following revision(s) (requested by msaitoh in ticket #1529):

sys/dev/usb/usb.h: revision 1.121

Cast to uint32_t to avoid undefined behavior in UGETDW(). Found by kUBSan.
 1.116.6.1  01-Sep-2019  martin Pull up following revision(s) (requested by mrg in ticket #135):

distrib/sets/lists/comp/mi 1.2279
distrib/sets/lists/modules/mi 1.123
share/man/man9/Makefile 1.438
share/man/man9/usbnet.9 1.1-1.9
sys/dev/ic/rndisreg.h 1.3
sys/dev/usb/TODO 1.47-1.52
sys/dev/usb/TODO.usbmp 1.15,1.16
sys/dev/usb/files.usb 1.157-1.167
sys/dev/usb/if_aue.c 1.155-1.161
sys/dev/usb/if_auereg.h 1.30-1.32
sys/dev/usb/if_axe.c 1.103-1.119
sys/dev/usb/if_axen.c 1.51-1.53,1.55-1.67
sys/dev/usb/if_axenreg.h 1.15
sys/dev/usb/if_cdce.c 1.54-1.67
sys/dev/usb/if_cue.c 1.85,1.86
sys/dev/usb/if_cuereg.h 1.23
sys/dev/usb/if_kue.c 1.97-1.100
sys/dev/usb/if_kuereg.h 1.23,1.24
sys/dev/usb/if_mue.c 1.51-1.55
sys/dev/usb/if_muereg.h 1.6
sys/dev/usb/if_muevar.h 1.9
sys/dev/usb/if_smsc.c 1.46-1.61
sys/dev/usb/if_smscreg.h 1.6
sys/dev/usb/if_smscvar.h delete
sys/dev/usb/if_udav.c 1.60-1.71
sys/dev/usb/if_udavreg.h 1.14,1.15
sys/dev/usb/if_upl.c 1.65,1.66
sys/dev/usb/if_ure.c 1.15-1.31
sys/dev/usb/if_urevar.h 1.4,1.5
sys/dev/usb/if_url.c 1.67-1.70
sys/dev/usb/if_urlreg.h 1.14
sys/dev/usb/if_urndis.c 1.22-1.33
sys/dev/usb/if_urtwn.c 1.72
sys/dev/usb/ohci.c 1.290
sys/dev/usb/uhub.c 1.143
sys/dev/usb/usb.c 1.180
sys/dev/usb/usb.h 1.118
sys/dev/usb/usb_mem.c 1.71
sys/dev/usb/usb_subr.c 1.238,1.239
sys/dev/usb/usbdevs 1.772
sys/dev/usb/usbdi.c 1.183,1.186
sys/dev/usb/usbdi.h 1.97
sys/dev/usb/usbdi_util.c 1.75
sys/dev/usb/usbhist.h 1.5,1.6
sys/dev/usb/usbnet.c 1.1-1.24
sys/dev/usb/usbnet.h 1.1-1.14
sys/dev/usb/usbroothub.c 1.9
sys/dev/usb/xhci.c 1.109,1.110
sys/modules/Makefile 1.223
sys/modules/usbnet/Makefile 1.1

usbnet(9): Add common framework for USB network devices.
This bring various safety fixes to all updated drivers,
and includes locking clean up, detach safety when being
used or not, separate rx/tx locks to improve performance,
porting to NET_MPSAFE, many edge/error case bugs in
drivers fixed, as well as resovling PRs 54303 and 54308.
These drivers are converted: axe(4), axen(4), aue(4),
cdce(4), cue(4), kue(4), mue(4), smsc(4), udav(4),
upl(4), ure(4), url(4), and urndis(4).
 1.121.4.1  03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.

RSS XML Feed