|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
| #
71625ec9 |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
sys: Remove $FreeBSD$: one-line .c comment pattern
Remove /^/[*/]\s*\$FreeBSD\$.*\n/
|
| #
4d846d26 |
| 10-May-2023 |
Warner Losh <[email protected]> |
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
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
show more ...
|
|
Revision tags: release/13.2.0, release/12.4.0 |
|
| #
62d42655 |
| 07-Oct-2022 |
Hans Petter Selasky <[email protected]> |
usb(4): Substitute "unsigned int" using the equivalent and shorter "unsigned" keyword.
MFC after: 1 week Sponsored by: NVIDIA Networking
|
|
Revision tags: release/13.1.0 |
|
| #
9094c3a7 |
| 02-Apr-2022 |
Gordon Bergling <[email protected]> |
usb(3): Fix a few typos in source code comments
- s/paniced/panicked/
MFC after: 3 days
|
|
Revision tags: release/12.3.0 |
|
| #
f83f5d58 |
| 06-Jul-2021 |
Hans Petter Selasky <[email protected]> |
Send a zero-length-packet first when opening a BULK endpoint for USB serial port devices. If it gets eaten it is fine. Many USB device side implementations don't properly support the clear endpoint h
Send a zero-length-packet first when opening a BULK endpoint for USB serial port devices. If it gets eaten it is fine. Many USB device side implementations don't properly support the clear endpoint halt command and if they do, data is lost because the transmit FIFO is typically reset when this command is received.
Tested by: jmg MFC after: 1 week Sponsored by: NVIDIA Networking
show more ...
|
| #
8fc2a3c4 |
| 10-Jul-2021 |
Hans Petter Selasky <[email protected]> |
Factor out repeated code in the USB controller drivers to avoid bugs computing the same isochronous start frame number over and over again.
PR: 257082 MFC after: 1 week Sponsored by: NVIDIA Network
Factor out repeated code in the USB controller drivers to avoid bugs computing the same isochronous start frame number over and over again.
PR: 257082 MFC after: 1 week Sponsored by: NVIDIA Networking
show more ...
|
|
Revision tags: release/13.0.0, release/12.2.0 |
|
| #
9dd3156e |
| 01-Sep-2020 |
Mateusz Guzik <[email protected]> |
usb: clean up empty lines in .c and .h files
|
| #
94140f47 |
| 22-Jul-2020 |
Mark Johnston <[email protected]> |
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:
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 <[email protected]> (original version) Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25706
show more ...
|
|
Revision tags: release/11.4.0 |
|
| #
506a911b |
| 28-May-2020 |
Hans Petter Selasky <[email protected]> |
Implement helper function, usbd_get_max_frame_length(), which allows kernel device drivers to correctly predict the default USB transfer frame length.
MFC after: 3 days Sponsored by: Mellanox Techno
Implement helper function, usbd_get_max_frame_length(), which allows kernel device drivers to correctly predict the default USB transfer frame length.
MFC after: 3 days Sponsored by: Mellanox Technologies
show more ...
|
| #
6c110e86 |
| 06-Jan-2020 |
Hans Petter Selasky <[email protected]> |
Add own counter for cancelled USB transfers. Do not count these as errors.
MFC after: 1 week Sponsored by: Mellanox Technologies
|
| #
7082625d |
| 27-Dec-2019 |
Hans Petter Selasky <[email protected]> |
Make USB statistics per device instead of per bus.
Bump the FreeBSD version due to structure change to force recompilation of external USB modules.
MFC after: 1 week Sponsored by: Mellanox Technolo
Make USB statistics per device instead of per bus.
Bump the FreeBSD version due to structure change to force recompilation of external USB modules.
MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
|
Revision tags: release/12.1.0 |
|
| #
7fca0e69 |
| 20-Sep-2019 |
Hans Petter Selasky <[email protected]> |
Add quirk for XHCI(4) controllers to support USB control transfers above 1Kbyte. It might look like some XHCI(4) controllers do not support when the USB control transfer is split using a link TRB. T
Add quirk for XHCI(4) controllers to support USB control transfers above 1Kbyte. It might look like some XHCI(4) controllers do not support when the USB control transfer is split using a link TRB. The next NORMAL TRB after the link TRB is simply failing with XHCI error code 4. The quirk ensures we allocate a 64Kbyte buffer so that the data stage TRB is not broken with a link TRB.
Found at: EuroBSDcon 2019 MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
|
Revision tags: release/11.3.0, release/12.0.0, release/11.2.0 |
|
| #
718cf2cc |
| 27-Nov-2017 |
Pedro F. Giffuni <[email protected]> |
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
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.
show more ...
|
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0 |
|
| #
0eb8d462 |
| 14-Sep-2016 |
Hans Petter Selasky <[email protected]> |
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 infi
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 <[email protected]> MFC after: 4 weeks
show more ...
|
| #
64cb5e2a |
| 05-Sep-2016 |
Hans Petter Selasky <[email protected]> |
Resolve deadlock between device_detach() and usbd_do_request_flags() by reviving the SX control request lock and refining which lock protects the common scratch area in "struct usb_device".
The SX c
Resolve deadlock between device_detach() and usbd_do_request_flags() by reviving the SX control request lock and refining which lock protects the common scratch area in "struct usb_device".
The SX control request lock was removed by r246759 because it caused a lock order reversal with the USB enumeration lock inside usbd_transfer_setup() as a function of r246616. It was thought that reducing the number of locks would resolve the LOR, but because some USB device drivers use usbd_do_request_flags() inside callback functions, like in taskqueues, a deadlock may occur when these are drained from device_detach(). By restoring the SX control request lock usbd_do_request_flags() is allowed to complete its execution when a USB device driver is detaching. By using the SX control request lock to protect the scratch area, the LOR introduced by r246616 is also resolved.
Bump the FreeBSD version while at it to force recompilation of all USB kernel modules.
Found by: avos@ MFC after: 1 week
show more ...
|
| #
20733245 |
| 02-May-2016 |
Pedro F. Giffuni <[email protected]> |
dev/usb: minor spelling fixes in comments.
No functional change.
Reviewed by: hselasky
|
| #
057b4402 |
| 26-Apr-2016 |
Pedro F. Giffuni <[email protected]> |
sys/dev: extend use of the howmany() macro when available.
We have a howmany() macro in the <sys/param.h> header that is convenient to re-use as it makes things easier to read.
|
| #
2bf49386 |
| 09-Apr-2016 |
Pedro F. Giffuni <[email protected]> |
USB: replace 0 with NULL for pointers.
Found with devel/coccinelle.
Reviewed by: hselasky
|
|
Revision tags: release/10.3.0 |
|
| #
22ef3de7 |
| 15-Aug-2015 |
Hans Petter Selasky <[email protected]> |
Fix race in USB PF which can happen if we stop tracing exactly when the kernel is tapping an USB transfer. This leads to a NULL pointer access. The solution is to only trace while the USB bus lock is
Fix race in USB PF which can happen if we stop tracing exactly when the kernel is tapping an USB transfer. This leads to a NULL pointer access. The solution is to only trace while the USB bus lock is locked.
MFC after: 2 weeks
show more ...
|
| #
43ea03d7 |
| 14-Aug-2015 |
Hans Petter Selasky <[email protected]> |
Improve the realtime properties of USB transfers for embedded systems like RPI-B and RPI-2.
Description of problem: USB transfers can process data in their callbacks sometimes causing unacceptable l
Improve the realtime properties of USB transfers for embedded systems like RPI-B and RPI-2.
Description of problem: USB transfers can process data in their callbacks sometimes causing unacceptable latency for other USB transfers. Separate BULK completion callbacks from CONTROL, INTERRUPT and ISOCHRONOUS callbacks, and give BULK completion callbacks lesser execution priority than the others. This way USB audio won't be interfered by heavy USB ethernet usage for example.
Further serve USB transfer completion in a round robin fashion, instead of only serving the most CPU hungry. This has been done by adding a third flag to USB transfer queue structure which keeps track of looping callbacks. The "command" callback function then decides what to do when looping.
MFC after: 2 weeks
show more ...
|
|
Revision tags: release/10.2.0 |
|
| #
8b1ce329 |
| 02-Feb-2015 |
Hans Petter Selasky <[email protected]> |
Optimise allocation of USB DMA structures. By default don't double map allocations if only one element should be allocated per page cache. Make one allocation per element compile time configurable. F
Optimise allocation of USB DMA structures. By default don't double map allocations if only one element should be allocated per page cache. Make one allocation per element compile time configurable. Fix a comment while at it.
Suggested by: ian @ MFC after: 1 week
show more ...
|
| #
add9e3e5 |
| 02-Feb-2015 |
Hans Petter Selasky <[email protected]> |
Section 3.2.9 in the XHCI specification about control transfers says that we should use a normal-TRB if there are more TRBs extending the data-stage TRB. Add a dedicated state bit to the internal USB
Section 3.2.9 in the XHCI specification about control transfers says that we should use a normal-TRB if there are more TRBs extending the data-stage TRB. Add a dedicated state bit to the internal USB transfer flags to handle this case.
Reported by: Kohji Okuno <[email protected]> MFC after: 1 week
show more ...
|
| #
b217d184 |
| 05-Jan-2015 |
Hans Petter Selasky <[email protected]> |
Add 64-bit DMA support in the XHCI controller driver. - Fix some comments and whitespace while at it.
MFC after: 1 month Submitted by: marius@
|
|
Revision tags: release/10.1.0, release/9.3.0 |
|
| #
e91fe3a9 |
| 14-Mar-2014 |
Hans Petter Selasky <[email protected]> |
Workaround for USB MIDI adapters which use non-supported values of wMaxPacketSize for BULK endpoints.
MFC after: 1 week
|
| #
924b1f5d |
| 22-Jan-2014 |
Hans Petter Selasky <[email protected]> |
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 th
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
show more ...
|