opnsense-src/sys/dev/usb
Hans Petter Selasky a529288d65 Optimise the DWC OTG host mode driver's transmit path:
1) Use the TX FIFO empty interrupts to poll the transmit FIFO usage,
instead of using own software counters and waiting for SOF
interrupts. Assume that enough FIFO space is available to execute one
USB OUT transfer of any kind when the TX FIFO is empty.

2) Use the host channel halted event to asynchronously wait for host
channels to be disabled instead of waiting for SOF interrupts. This
results in less turnaround time for re-using host channels and at the
same time increases the performance.

The network transmit performance measured by "iperf" for the "RPi-B v1
2011/12" board, increased from 45MBit/s to 65Mbit/s after applying the
changes above.

No regressions seen using:
 - High Speed (BULK, CONTROL, INTERRUPT)
 - Full Speed (All transfer types)
 - Low Speed (Control and Interrupt)

MFC after:	1 month
Submitted by:	Daisuke Aoyama <aoyama@peach.ne.jp>
2015-07-16 16:08:40 +00:00
..
controller Optimise the DWC OTG host mode driver's transmit path: 2015-07-16 16:08:40 +00:00
gadget Make a bunch of USB debug SYSCTLs tunable, so that their value(s) can 2015-01-05 15:04:17 +00:00
input Lock softc before clearing bits. 2015-03-10 16:06:07 +00:00
misc Import ugold driver from OpenBSD supporting digital USB temperature 2015-06-11 15:23:47 +00:00
net Add Lenovo ThinkPad OneLink GigaLAN. 2015-04-07 01:47:36 +00:00
quirk Add new USB quirk. 2015-06-07 15:47:58 +00:00
serial Add new USB ID. 2015-05-05 19:34:23 +00:00
storage Use define instead of constant. 2015-03-17 08:42:09 +00:00
template Fix spelling. 2015-06-03 15:43:55 +00:00
video Put recycle pointer in own memory area which is not mmap'able. 2015-05-10 12:45:21 +00:00
wlan Change three methods in struct ieee80211com, namely ic_updateslot, 2015-05-25 19:53:29 +00:00
ufm_ioctl.h Add missing header file inclusion guard. 2013-01-30 10:59:42 +00:00
uftdiio.h Add ioctl(2) calls to uftdi(4) to access bitbang, MPSSE, CPU_FIFO, and 2014-04-05 16:08:13 +00:00
uled_ioctl.h The USB LED driver for the Dream Cheeky WebMail Notifier. 2014-09-05 11:25:58 +00:00
usb.h Add definition of the ISOCHRONOUS endpoint usage bits. 2015-03-25 13:32:27 +00:00
usb_bus.h Resolve a special case deadlock: When two or more threads are 2015-01-13 16:37:43 +00:00
usb_busdma.c Fix a regression issue. Contiguous single segment allocations above 2014-02-05 08:02:52 +00:00
usb_busdma.h Change type of the DMA address so that on PAE platforms we get can 2014-06-02 07:08:34 +00:00
usb_cdc.h USB network (NCM driver): 2010-10-13 22:04:55 +00:00
usb_compat_linux.c - Try to fix build of 32-bit compatibility USB support for FreeBSD and 2013-08-12 09:17:48 +00:00
usb_compat_linux.h - Add usb_fill_bulk_urb() and usb_bulk_msg() linux compat functions [1] 2009-11-01 21:48:18 +00:00
usb_controller.h Improve the XHCI command timeout recovery handling code. 2013-12-06 08:42:41 +00:00
usb_core.c Remove no longer used allocation type. 2015-03-17 11:07:59 +00:00
usb_core.h Section 3.2.9 in the XHCI specification about control transfers says 2015-02-02 11:06:41 +00:00
usb_debug.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
usb_debug.h Always put space before the comma before ##__VA_ARGS__ due to subtle compiler 2013-05-03 10:13:29 +00:00
usb_dev.c Don't wait forever for USB data to be flushed. 2015-06-05 06:06:07 +00:00
usb_dev.h Resolve a LOR after r246616. Protect control requests using the USB device 2013-02-13 12:35:17 +00:00
usb_device.c Add support for DYMO LabelWriter PnP. 2015-05-07 12:54:27 +00:00
usb_device.h Resolve a special case deadlock: When two or more threads are 2015-01-13 16:37:43 +00:00
usb_dynamic.c - Add more defines to limit USB memory usage and number of allocations 2013-05-03 11:10:04 +00:00
usb_dynamic.h Refactor auto-quirk solution so that we break as few external 2011-09-10 15:55:36 +00:00
usb_endian.h Modify the FreeBSD USB kernel code so that it can be compiled directly 2013-01-30 15:26:04 +00:00
usb_error.c Modify the FreeBSD USB kernel code so that it can be compiled directly 2013-01-30 15:26:04 +00:00
usb_freebsd.h Increase the maximum number of dynamic USB quirks. USB memory stick 2015-01-12 06:34:23 +00:00
usb_freebsd_loader.h Increase the maximum number of dynamic USB quirks. USB memory stick 2015-01-12 06:34:23 +00:00
usb_generic.c Fix returned data for the USB_GET_DEV_PORT_PATH IOCTL in particular 2015-01-20 11:43:16 +00:00
usb_generic.h Fix _USB2_* refernces in the header protection defines. 2009-06-15 01:09:19 +00:00
usb_handle_request.c Resolve a LOR after r246616. Protect control requests using the USB device 2013-02-13 12:35:17 +00:00
usb_hid.c Modify the FreeBSD USB kernel code so that it can be compiled directly 2013-01-30 15:26:04 +00:00
usb_hub.c Add ugen keyword to USB pnpinfo. Remove extra space from existing pnpinfo. 2015-02-25 08:35:00 +00:00
usb_hub.h Resolve a deadlock setting the USB configuration index from userspace 2014-06-08 20:10:29 +00:00
usb_if.m Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
usb_ioctl.h Add USB MIDI template for USB device side mode. 2015-06-01 11:24:34 +00:00
usb_lookup.c Make use of USB ID sections configurable. 2013-02-01 07:05:43 +00:00
usb_mbuf.c Modify the FreeBSD USB kernel code so that it can be compiled directly 2013-01-30 15:26:04 +00:00
usb_mbuf.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_msctest.c Add support for DYMO LabelWriter PnP. 2015-05-07 12:54:27 +00:00
usb_msctest.h Add support for DYMO LabelWriter PnP. 2015-05-07 12:54:27 +00:00
usb_parse.c Add some defines to limit USB memory usage in reduced memory systems. 2013-05-03 09:23:06 +00:00
usb_pci.h Modify the FreeBSD USB kernel code so that it can be compiled directly 2013-01-30 15:26:04 +00:00
usb_pf.c Fix for NULL pointer. 2014-05-09 14:28:11 +00:00
usb_pf.h - Improvements to USB PF solution 2011-04-03 20:03:45 +00:00
usb_process.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
usb_process.h Try to resolve a possible deadlock when detaching USB devices which 2014-03-20 13:53:24 +00:00
usb_request.c Make a bunch of USB debug SYSCTLs tunable, so that their value(s) can 2015-01-05 15:04:17 +00:00
usb_request.h - Add more defines to limit USB memory usage and number of allocations 2013-05-03 11:10:04 +00:00
usb_transfer.c Optimise allocation of USB DMA structures. By default don't double map 2015-02-02 11:32:15 +00:00
usb_transfer.h This commit marks the beginning of a new internal USB 2011-11-28 09:54:41 +00:00
usb_util.c - Move scratch data from the USB bus structure to the USB device structure 2013-02-10 10:56:13 +00:00
usb_util.h Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +00:00
usbdevs Import ugold driver from OpenBSD supporting digital USB temperature 2015-06-11 15:23:47 +00:00
usbdi.h Resolve a deadlock setting the USB configuration index from userspace 2014-06-08 20:10:29 +00:00
usbdi_util.h This commit adds full support for USB 3.0 devices in host and device 2010-10-04 23:18:05 +00:00
usbhid.h Modify the FreeBSD USB kernel code so that it can be compiled directly 2013-01-30 15:26:04 +00:00