summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Do not consider the pipe as halted if the device is gone.mpi2019-06-131-1/+3
| | | | Analysed by and ok claudio@
* add ukspan(4), a driver for the Keyspan USA19HS USB serial adapterjcs2019-06-072-1/+600
| | | | written by Cody Cutler <ccutler at csail.mit.edu>
* regenjcs2019-06-072-4/+9
|
* add Keyspan USA-19HSjcs2019-06-071-1/+2
|
* fix multitouch by properly reading multi-finger data on type4jcs2019-05-271-10/+15
| | | | | | devices which have padding between finger data tested on an older model by bru@
* Fix NULL check with wrong pointer in xhci_event_xfer_isoc(); CID 1480287stsp2019-05-211-2/+2
| | | | ok ratchov@
* Regenabieber2019-05-111-2/+26
|
* Add more flags to the debug bitmaskguenther2019-05-101-2/+3
| | | | ok mpi@
* When changing device rate, send request to the clock source unit.ratchov2019-05-091-3/+39
| | | | | | | Currently we send the request to the unit indicated as clock source of the terminals, which may be a clock selector unit that doesn't support the request. Fix this by following the clock source path until the clock source unit is found.
* Set the rate of UAC v2.0 clock units using the control interface, notratchov2019-05-091-2/+2
| | | | a random streaming iface.
* Skip empty control interfaces when parsing descriptors.ratchov2019-05-091-8/+5
| | | | | | Even if having multiple control interface descriptors is not allowed by the UAC spec, there's no reason to stop as long as a proper control interface was processed.
* Add ucrcom(4) a (very simple) driver for the serial console of (some)kettenis2019-05-091-1/+6
| | | | | | chromebooks. ok deraadt@
* Add ucrcom(4) a (very simple) driver for the serial console of (some)kettenis2019-05-081-0/+136
| | | | | | chromebooks. ok deraadt@
* regenkettenis2019-05-082-4/+9
|
* add Google vendor IDkettenis2019-05-081-1/+2
|
* Use the proper UAC-v2.0 request to read the device controls.ratchov2019-05-011-4/+12
| | | | | Fixes STALL errors in mixer requests causing the mixer to be unusable. With help from Claus <claus at mailbox.org>. Thanks.
* Decrease verbosity when XHCI_DEBUG is defined.ratchov2019-04-301-3/+3
| | | | ok mpi
* Follow up on jmatthew's suggestion:kevlo2019-04-257-20/+20
| | | | | | | in x_media_change(), return the errno from ieee80211_media_change() and do the error check from x_init(). ok stsp@, jmatthew@, phessler@
* Add product id for the USB serial adapter found in Juniper SRX 300.remi2019-04-241-1/+2
| | | | ok deraadt@ phessler@ sthen@
* regenremi2019-04-242-4/+9
|
* New product id for the USB serial adapter found in Juniper SRX 300.remi2019-04-241-1/+2
| | | | ok deraadt@ phessler@ sthen@
* Hide debug printfs.ratchov2019-04-101-4/+4
| | | | ok deraadt
* Handle missed service errors, specific to isochronous transfers.ratchov2019-04-101-1/+52
| | | | | | | | | After each MSE, ensuire usbd_complete_transfer() is called for each missed transfer, for which there's no transfer completion event. Fixes crashes and deadlocks in upper layers caused by the missing completion. ok deraadt, patrick; help from mpi, patrick, gmlocker
* Fix URE_WDT6_SET_MODE register definition.kevlo2019-04-101-2/+2
| | | | | | Based on FreeBSD r346028, this fixes ure(4) not detected after a reboot. ok deraadt@
* Simplify underruns handling: just copy silence produced by upper layer.ratchov2019-04-041-30/+7
| | | | | This makes the code less bug prone as the "rare" underruns conditions are handled by the main non-underrun code.
* Always copy data (if any) whenever a new bounce buffer is available.ratchov2019-04-031-1/+2
|
* Check for available space before copying data to the bounce buffers.ratchov2019-04-031-12/+6
| | | | | No behavior change as we don't call uaudio_pdata_copy() in situations when bounce buffers may not be available.
* Make the uaudio_stream->ubuf_xfer relative to current xfer number.ratchov2019-04-031-9/+35
| | | | | No behavior change. The new representation is equivalent but eases detection of overflows and underflows.
* Fix comment typo: 'trasnfer' -> 'transfer'.mglocker2019-03-311-2/+2
|
* Add uxrcom(4), a driver for the Exar XR21V1410 USB serial adapter.kettenis2019-03-272-1/+442
| | | | | | | | | | Even though these chips implement the standard USB CDC class protocol we need a separate driver to be able to disable hardware flow control. Hardware flow control is automatically enabled in CDC mode but if the relevant lines aren't connected this prevents the chip from getting input. ok deraadt@
* regenkettenis2019-03-272-4/+16
|
* Add Exar XR21V1410.kettenis2019-03-271-1/+5
| | | | ok deraadt@
* support Meinberg DCF600USB, from weerd@, ok phesslersthen2019-03-221-4/+17
|
* syncsthen2019-03-222-4/+9
|
* add Meinberg DCF600USB, from weerd@, ok phessler@sthen2019-03-221-1/+2
|
* In uaudio_pdata_intr() don't error out early if the status is USBD_IOERROR.claudio2019-03-191-2/+2
| | | | | | | | At least my uaudio(4) over ohci is encountering a fair amount of USBD_IOERROR when the system is busy (most probably because the deadline is missed because of the big lock being hold). With this in, playing music while running a make build no longer stops after a few seconds. OK ratchov@
* Since an isoc endpoint never halts, move to remaining error handlingmglocker2019-03-171-58/+48
| | | | | | code in xhci_event_xfer() to the generic handler function. suggested and ok mpi@
* Move the handler code in the xhci_event_xfer() switch case in two separatemglocker2019-03-171-40/+66
| | | | | | | | functions for isoc and !isoc xfers. Suggested by mpi@. ok patrick@, stsp@
* Remove obsolete semicolon at end of case switch.mglocker2019-03-171-2/+2
|
* Merge the duplicate code to handle isoc SHORT and SUCCESS xfer eventsmglocker2019-03-161-83/+54
| | | | | | to one single function. ok mpi@
* Improve and enable isochronous transfers in xhci(4). Each isochronouspatrick2019-03-151-58/+193
| | | | | | | | | | | | | | | | frame has to be enqueued as Transfer Descriptor. This means each frame starts with an isoch TRB and may also contain further normal TRBs. The TDs each throw at least one interrupt for a successful completion or possibly more in case of a short xfer. We have to account the amount of data transfered for each frame using the completion of the matching TD and its TRBs. Thanks to stsp@ for initiating this, and many more thanks to mglocker@ for reworking and cleaning up my initial diff. Further improvements can happen in-tree now. Tested by mglocker@, phessler@ and stsp@ ok mglocker@, stsp@
* The max burst size that is encoded in wMaxPacketSize is zero based,patrick2019-03-151-3/+3
| | | | | | | as in: Since there's always one transfer, 0 means 1. Thus we have to add 1 (not OR) to get to the desired number. ok mglocker@ mpi@ stsp@
* Use non-blocking allocation in dwc2_allocx() to makevisa2019-03-141-2/+6
| | | | | | | | | the routine safe to use in soft interrupt context. This fixes an assertwaitok() panic reported by Abel Abraham Camarillo Ojeda. OK mpi@
* Fix typo in debug print: wih -> withpatrick2019-03-121-3/+3
| | | | ok mpi@
* Remove unused uaudioreg.h file.ratchov2019-03-121-386/+0
| | | | ok mpi
* Add a new driver for USB Audio Class v2.0 devices. It replaces theratchov2019-03-121-2917/+3798
| | | | | | | | | | current one for UAC v1.0 devices. The main difference with the old driver is that now we map audio blocks to USB transfers, which allows precise synchronization and reliability, including during low-latency operation. with help from many, ok mpi
* uhci: Fix delayed completions for isochronous transfers.ratchov2019-03-121-2/+2
| | | | | | | When an isochronous transfer of n frames is scheduled, the last frame i.e. frame number (n - 1) must be set to generate an interrupt. ok mpi
* Add missing bus powered bit, from aalm@mpi2019-03-115-10/+10
|
* - in rtwn_r88e_fw_reset function, use the correct bit R88E_RSV_CTRL_MCU_RSTkevlo2019-03-111-1/+70
| | | | | | | to reset/enable MCU - there's no need to enable 1.2V power for rtl8192eu ok jmatthew@
* Since ring->index points to the next free slot, once we reach index zeropatrick2019-03-011-14/+17
| | | | | | | | | we know that the last non-link TRB has been written and we can look at the flags to set the chain bit in the link TRB. Since we will now toggle the cycle bit on the first TRB of a ring, set it on the ring reset. Tested by jcs@, jsg@ and visa@ "commit it" jcs@