History log of /freebsd-current/sys/dev/usb/usb_freebsd.h
Revision Date Author Comments
# 71625ec9 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c comment pattern

Remove /^/[*/]\s*\$FreeBSD\$.*\n/


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# 89cd5d08 01-Mar-2023 John Baldwin <jhb@FreeBSD.org>

usb: Trim another MIPS reference.

Fix a nearby whitespace nit while here.


# 15c0b8c9 01-Mar-2023 Mateusz Guzik <mjg@FreeBSD.org>

mips: whack __mips__ leftover

Sponsored by: Rubicon Communications, LLC ("Netgate")


# 94140f47 22-Jul-2020 Mark Johnston <markj@FreeBSD.org>

usb(4): Stop checking for failures from malloc(M_WAITOK).

Handle the fact that parts of usb(4) can be compiled into the boot
loader, where M_WAITOK does not guarantee a successful allocation.

PR: 240545
Submitted by: Andrew Reiter <arr@watson.org> (original version)
Reviewed by: hselasky
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D25706


# 718cf2cc 27-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

sys/dev: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.


# 0eb8d462 13-Sep-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Improve USB polling mode by not locking any mutexes, asserting any
mutexes or using any callouts when active.

Trying to lock a mutex when KDB is active or the scheduler is stopped
can result in infinite wait loops. The same goes for calling callout
related functions which in turn lock mutexes.

If the USB controller at which a USB keyboard is connected is idle
when KDB is entered, polling the USB keyboard via USB will always
succeed. Else polling may fail depending on which state the USB
subsystem and USB interrupt handler is in. This is unavoidable unless
KDB can wait for USB interrupt threads to complete before stalling the
CPU(s).

Tested by: Bruce Evans <bde@freebsd.org>
MFC after: 4 weeks


# 9f21f476 11-Jan-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Increase the maximum number of dynamic USB quirks. USB memory stick
devices which don't support the synchronize cache SCSI command are
likely to also not support the prevent-allow medium removal SCSI
command.

PR: 185747
MFC after: 1 week


# c38aa253 08-Oct-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add support for disabling USB enumeration in general or on selected
USB HUBs.

MFC after: 2 weeks


# ce19294c 30-May-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Make driver detach code in USB mass storage test optional.

Sponsored by: DARPA, AFRL


# dfd7cd80 22-Jan-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

We are using the old callout API and should also add one extra tick in
the FreeBSD 10 case.

Suggested by: mav @
MFC after: 1 week


# 924b1f5d 22-Jan-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Ensure that the DMA delay does not get rounded down to zero ticks when
a timeout value of a single tick is given. With FreeBSD-10 and newer
the current system time is used as a starting point, and the minimum
callout time of a single tick will be guaranteed. This patch mostly
affect the DMA delay timeouts, which are typically in the range from
0.125 to 2ms.

MFC after: 1 week


# 8b18cb1c 17-May-2013 Warner Losh <imp@FreeBSD.org>

For ARM, MIPS, and PowerPC, default to 32-byte alignment, but allow it
to be as small as 8.


# 2c79a775 03-May-2013 Hans Petter Selasky <hselasky@FreeBSD.org>

- Add more defines to limit USB memory usage and number of allocations
in reduced memory systems.

- Split allocation and freeing of the configuration descriptor into a separate
function, so that the configuration descriptor can be made fixed size
to save memory allocations. This applies for both device and host mode.


# 5b0752bb 03-May-2013 Hans Petter Selasky <hselasky@FreeBSD.org>

Add some defines to limit USB memory usage in reduced memory systems.


# 9b3a48ee 05-Feb-2013 Hans Petter Selasky <hselasky@FreeBSD.org>

Add defines to more easily allow a single threaded version of the FreeBSD
USB stack. This is useful for non-kernel purposes, like the loader.


# 7b0866b0 01-Feb-2013 Hans Petter Selasky <hselasky@FreeBSD.org>

Make use of USB ID sections configurable.


# d2b99310 30-Jan-2013 Hans Petter Selasky <hselasky@FreeBSD.org>

Modify the FreeBSD USB kernel code so that it can be compiled directly
into the FreeBSD boot loader, typically for non-USB aware BIOSes, EFI systems
or embedded platforms. This is also useful for out of the system compilation
of the FreeBSD USB stack for various purposes. The USB kernel files can
now optionally include a global header file which should include all needed
definitions required to compile the FreeBSD USB stack. When the global USB
header file is included, no other USB header files will be included by
default.

Add new file containing the USB stack configuration for the
FreeBSD loader build.

Replace some __FBSDID()'s by /* $FreeBSD$ */ comments. Now all
USB files follow the same style.

Use cases:
- console in loader via USB
- loading kernel via USB

Discussed with: Hiroki Sato, hrs @ EuroBSDCon


# a5cf1aaa 12-Aug-2012 Hans Petter Selasky <hselasky@FreeBSD.org>

Add support for the so-called streams feature of BULK endpoints
in SUPER-speed mode, USB 3.0.

This feature has not been tested yet, due to lack of hardware.

This feature is useful when implementing protocols like UASP,
USB attached SCSI which promises higher USB mass storage throughput.

This patch also implements support for hardware processing of endpoints
for increased performance. The switching to hardware processing
of an endpoint is done via a callback to the USB controller driver. The
stream feature is implemented like a variant of a hardware USB protocol.

USB controller drivers implementing device mode needs to be updated to
implement the new "xfer_stall" USB controller method and remove the
"xfer" argument from the "set_stall" method.

The API's toward existing USB drivers are preserved. To setup a USB transfer
in stream mode, set the "stream_id" field of the USB config structure to
the desired value.

The maximum number of BULK streams is currently hardcoded and limited to 8
via a define in usb_freebsd.h.

All USB drivers should be re-compiled after this change.

LibUSB will be updated next week to support streams mode. A new IOCTL to
setup BULK streams as already been implemented. The ugen device nodes
currently only supports stream ID zero.

The FreeBSD version has been bumped.

MFC after: 2 weeks


# d46dc4ad 02-Sep-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

This patch adds automatic detection of USB mass storage devices
which does not support the no synchronize cache SCSI command.

The __FreeBSD_version version macro has been bumped and
external kernel modules needs to be recompiled after
this patch.

Approved by: re (kib)
MFC after: 1 week
PR: usb/160299


# 9eb0d702 06-Jun-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Improve enumeration of Low- and Full-speed devices connected through a
High-speed USB HUB by resetting the transaction translator (TT)
before trying re-enumeration. Also when clear-stall fails multiple times
try a re-enumeration.

Suggested by: Trevor Blackwell
MFC after: 14 days


# 99f017d2 24-Jan-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more sanity checks for USB_HOST_ALIGN input values. Re-factor existing
checks for readability.

Approved by: thompsa (mentor)


# d8d1becf 22-Jan-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Allow USB_HOST_ALIGN to be configured at compile time. This patch is
necessary for MIPS based RouterStation Pro board and maybe other MIPS
based boards as well.

Submitted by: Milan Obuch
Approved by: thompsa (mentor)


# 8be09334 18-Jan-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Make USB packet filtering code optional.

Approved by: thompsa (mentor)


# 8bb77249 22-Oct-2010 Hans Petter Selasky <hselasky@FreeBSD.org>

Add possibility to generate devctl notifications regardless of UGEN presence.

Submitted by: Nick Hibma
Approved by: thompsa (mentor)


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# ad658060 29-Apr-2010 Andrew Thompson <thompsa@FreeBSD.org>

MFC r207077

Change USB_DEBUG to #ifdef and allow it to be turned off. Previously this had
the illusion of a tunable setting but was always turned on regardless.


# b850ecc1 22-Apr-2010 Andrew Thompson <thompsa@FreeBSD.org>

Change USB_DEBUG to #ifdef and allow it to be turned off. Previously this had
the illusion of a tunable setting but was always turned on regardless.

MFC after: 1 week


# ed6d949a 22-Jun-2009 Andrew Thompson <thompsa@FreeBSD.org>

- Make struct usb_xfer opaque so that drivers can not access the internals
- Reduce the number of headers needed for a usb driver, the common case is just usb.h and usbdi.h