freebsd-dev/sys/dev/usb
Ian Lepore 9ad221a558 Add tsw_busy support to usb_serial (ucom).
The tty layer uses tsw_busy to poll for busy/idle status of the transmitter
hardware during close() and tcdrain(). The ucom layer defines ULSR_TXRDY and
ULSR_TSRE bits for the line status register; when both are set, the
transmitter is idle. Not all chip drivers maintain those bits in the sc_lsr
field, and if the bits never get set the transmitter will always appear
busy, causing hangs in tcdrain().

These changes add a new sc_flag bit, UCOM_FLAG_LSRTXIDLE. When this flag is
set, ucom_busy() uses the lsr bits to return busy vs. idle state, otherwise
it always returns idle (which is effectively what happened before this
change because tsw_busy wasn't implemented).

For the uftdi chip driver, these changes stop masking out the tx idle bits
when processing the status register (because now they're useful), and it
calls ucom_use_lsr_txbits() to indicate the bits are maintained by the
driver and can be used by ucom_busy().

Differential Revision:	https://reviews.freebsd.org/D9183
2017-02-05 15:45:31 +00:00
..
controller Fix problem with suspend and resume when using Skylake chipsets. Make 2017-01-19 18:33:27 +00:00
gadget
input Make sure the virtual T-axis buttons generate button release event(s) 2016-11-01 07:15:39 +00:00
misc Allow udbp(4) to claim Belkin "Windows Easy Transfer Cable" for Netgraph use. 2017-01-10 01:31:26 +00:00
net Make sure MAC address is reprogrammed when if_init() callback is 2016-11-16 14:39:03 +00:00
quirk Add USB audio support for S/PDIF output with C-Media CM6206 devices. 2017-01-17 08:15:10 +00:00
serial Add tsw_busy support to usb_serial (ucom). 2017-02-05 15:45:31 +00:00
storage Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
template Resolve deadlock between device_detach() and usbd_do_request_flags() 2016-09-05 15:35:58 +00:00
video Fix device delete child function. 2016-10-17 10:20:38 +00:00
wlan [rsu] add support for the "green" rsu NICs. 2017-01-09 21:46:24 +00:00
ufm_ioctl.h
uftdiio.h
uled_ioctl.h
usb_bus.h
usb_busdma.c Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usb_busdma.h
usb_cdc.h
usb_controller.h
usb_core.c Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usb_core.h Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usb_debug.c
usb_debug.h
usb_dev.c Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usb_dev.h
usb_device.c Make the USB attach strings in dmesg include product name. 2016-10-25 07:48:19 +00:00
usb_device.h Resolve deadlock between device_detach() and usbd_do_request_flags() 2016-09-05 15:35:58 +00:00
usb_dynamic.c
usb_dynamic.h
usb_endian.h
usb_error.c
usb_freebsd_loader.h Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usb_freebsd.h Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usb_generic.c Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usb_generic.h
usb_handle_request.c
usb_hid.c
usb_hub.c "Buses" is the preferred plural of "bus" 2017-01-15 17:54:01 +00:00
usb_hub.h
usb_if.m
usb_ioctl.h
usb_lookup.c
usb_mbuf.c
usb_mbuf.h
usb_msctest.c Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usb_msctest.h
usb_parse.c
usb_pci.h
usb_pf.c
usb_pf.h
usb_process.c Defer USB enumeration until the SI_SUB_KICK_SCHEDULER is executed to avoid 2016-12-19 09:28:12 +00:00
usb_process.h
usb_request.c Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usb_request.h
usb_transfer.c Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usb_transfer.h
usb_util.c Resolve deadlock between device_detach() and usbd_do_request_flags() 2016-09-05 15:35:58 +00:00
usb_util.h
usb.h
usbdevs Add USB IDs supported by TI / Intel USB 3410 family (modems of various 2017-02-01 02:00:18 +00:00
usbdi_util.h
usbdi.h Improve USB polling mode by not locking any mutexes, asserting any 2016-09-14 12:07:34 +00:00
usbhid.h