summaryrefslogtreecommitdiff
path: root/sys/dev/usb
AgeCommit message (Collapse)Author
2014-10-30XFER_FREE is not used, ciao.Martin Pieuchot
2014-10-30Do not use void * for pointer artithmetics, it's a GNU extension, fromMartin Pieuchot
Patrick Wildt.
2014-10-30Do not enable interrupts before attaching usb(4), fix a panic when anMartin Pieuchot
Express Card is plugged with USB devices on it. While here do not print an unitialized error value if xhci_init() fails, from Patrick Wildt.
2014-10-30Calculate the Route String when attaching a new device. This is stillMartin Pieuchot
not enough to attach Super Speed devices below USB 3 hubs, but we're getting there. While here reset `acten` when re-enqueuing an interrupt transfers.
2014-10-23Now that gcc2 is gone revert the removal of anonymous unions, means not ↵Brad Smith
having to modify various third party apps using the V4L2 API to build on OpenBSD specifically. "I think this is the right thing to do" miod@ "Fine with me." sthen@
2014-10-19More gracefully handle firmware loading errors in ulpt(4).Stefan Sperling
The previous lack of error handling could trigger a kernel crash in some situations, with ulptwrite being called while not ready. ok deraadt phessler
2014-10-18Add VIDIOC_G_INPUT ioctl, some ports need it (at least ffmpeg)Jonathan Armani
ok ratchov@, sthen@, mpi@
2014-10-12regenJonathan Armani
2014-10-12Add Logitech Webcam C310Jonathan Armani
ok mpi@
2014-10-05Only synchronize used TRBs and not the full ring when sending a controlMartin Pieuchot
transfer. While here remove/fix other XXXs.
2014-10-05Do not mark the pipe as halted when the HC reports a (split) transactionMartin Pieuchot
error. Makes Intel Series 7 controllers happy and no longer report an illegal context state transition when detaching devices.
2014-10-05Do not re-establish the default pipe twice for every controller. MoveMartin Pieuchot
this hack in the drivers that need it. Tested by many, thanks! ok pirofti@, kettenis@
2014-10-05Quirk needed by the Archos 24y Vision, from Max Fillinger.Martin Pieuchot
2014-10-05regenMartin Pieuchot
2014-10-05Add vendor and product for the Archos 24y Vision, from Max Fillinger.Martin Pieuchot
2014-10-04Wait until a read control transfer is really completed before passingMartin Pieuchot
it to the stack when a Short Transfer condition is reported. In this dummy implementation the ``Event Data TRB'' of a read control transfer is the only TRB that can trigger an interrupt without being the last TRB of a transfer. This is done in order to report the remaining length of a short transfer. But when that happens, we want to wait until all Transfer TRBs are completed before passing the xfer to the stack. Note that clearing the ISP and IOC flags in all Transfer TRBs like it is specified in 4.10.1.1.1 might not work in our cases because the HC has most of the time already processed all Transfer TRBs when the driver dequeues the events in the softinterrupt path. While here, use the right spl protection when aborting a xfer.
2014-10-01Check that the speed of a new device does not exceed its parent's speedMartin Pieuchot
prior to calling usbd_new_device(). This will let us set the specified default Max Packet Size before opening the control pipe and reduces spaghetti! ok stsp@
2014-09-26Revert a part of r1.98 if_run.c which caused a regression on older genMike Larkin
run(4) devices. ok stsp@
2014-09-26Fix format signednessPhilip Guenther
ok blambert@ doug@
2014-09-01Set the configuration number and get the interface handle in attach(),Martin Pieuchot
like urtwn(4) does, to prevent a null dereference of the configuration descriptor. Issue reported and fix tested by Ludovic Coues on misc@
2014-09-01Revert previous, it puts too much pressure on memory allocation asMartin Pieuchot
reported by Bryan Linton on bugs@.
2014-08-30Rewrite how queue heads are inserted and removed from the asynchronousMartin Pieuchot
list. Use a queue head per xfer and no longer per pipe. Since queue heads are now setup when a transfer is submited we do not need to open the control pipe more than once. This also simplify transfer abortion. Tested by many, thanks!
2014-08-30Allow new devices to get an address when XHCI_DEBUG is defined.Martin Pieuchot
2014-08-21Now that DVACT_DEACTIVATE is propagated to the children of a device whenMartin Pieuchot
a driver does not implement a specific *_activate() handler and that our USB stack sets the dying flag before detaching a device, these specific handlers can die.
2014-08-14regenTodd C. Miller
2014-08-14Add USB hubs found on Intel Z97 chipset boards (one attached toTodd C. Miller
each EHCI root hub). OK deraadt@ jsg@
2014-08-10Ask for the descriptor size corresponding to the number of ports presentMartin Pieuchot
in the hub, not from some random value from the stack.
2014-08-10Do not allocate space for the whole structure when we just want to storeMartin Pieuchot
a pointer, found by clang.
2014-08-10sizeof() a pointer of the right struct to appease clang.Martin Pieuchot
2014-08-10Merge xhci_device_setup() into xhci_pipe_init() there's no reason toMartin Pieuchot
have a separate function anymore, it is just a wrapper around the "set address" command.
2014-08-10Since USB xfer pools are accessed in interrupt context, initialize themMartin Pieuchot
with the correct ipl to prevent your CPU from locking against itself.
2014-08-10Set and check for XFER_BUSY in the common methods instead of doing itMartin Pieuchot
in every HC driver.
2014-08-09Add support for non-root hubs now that uhub(4) can deal with them. ForMartin Pieuchot
the moment only Super and High Speed devices are properly recognized. Some TT love is required for Full and Low speed devices.
2014-08-09Correctly recognize Super Speed devices, this is part of the work toMartin Pieuchot
be able to use USB 3.0 devices behind an external hub. This is a bit tricky because the SS status use a different power bit that maps to the Low speed one. So no longer accept devices without power bit and fallback to the parent hub's speed in case the status does not report any particular speed. Note that xhci(4) root hubs still set the traditionnal UPS_PORT_POWER bit with the correct device speed.
2014-08-09Handle super speed hub descriptors.Martin Pieuchot
2014-08-09Do not store the whole USB hub descriptor in the "struct usbd_hub"Martin Pieuchot
to help integrating super speed hubs that use a different descriptor.
2014-08-08Make sure asynchronous commands do not race with synchronous ones.Martin Pieuchot
Since asynchronous commands can be submitted from interrupt context it was possible to race with a process waiting for the completion of a previously submitted command. So stop relying on the per-softc TRB pointer for asynchronous commands and simply get the address of the command TRB from the event TRB.
2014-08-08Improve the logic to determine the maximum endpoint service interfaceMartin Pieuchot
time payload. Super speed companion descriptor are still not used but at least we can properly initialize super speed interrupt pipes.
2014-08-08Implement polling.Martin Pieuchot
2014-08-08Super Speed hub descriptor definition and routine, required for upcomingMartin Pieuchot
external USB 3.0 hub support.
2014-08-08Even if the endpoint it reseted before the stack gets informed that aMartin Pieuchot
transfer stalled, report that a stall happen because umass(4) relies on this behavior...
2014-08-08Fix debug printfs.Martin Pieuchot
2014-08-05Only check if the abort transfer is the interrupt one if the pipe isMartin Pieuchot
opened with a callback. If a driver opens an interrupt pipe without callback function, like umct(4) does with one of its bulk in endpoints being reported as an interrupt endpoint, then we can end up aborting a transfer which is different from the interrupt one. Issue reported by Roberto E. Vargas Caballero, ok deraadt@
2014-08-03don't return unitialised memory on error in ehci_alloc_sqtd()Jonathan Gray
It seems mpi introduced a problem into ehci.c rev 1.162 two weeks ago. An error check that used to return NULL now jumps to the end of the function, but sqtd isn't initialised at that point. ok miod@ deraadt@
2014-07-13No need for <netinet/in_systm.h> here.Martin Pieuchot
2014-07-13Bye byeMartin Pieuchot
2014-07-12resurrect this treasure (still needed to build microcode)Theo de Raadt
2014-07-12"Dr. Jones. Again we see there is nothing you can possess which I cannotTed Unangst
take away." remove uyap. no effect except on hppa where it was strangely enabled.
2014-07-12Kill the last dumb DVACT_DEACTIVATE handlers.Martin Pieuchot
2014-07-12teduuuuuudfu(4) it has never been enabled in 5 years.Martin Pieuchot
ok tedu@, deraadt@