summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller
Commit message (Collapse)AuthorAgeFilesLines
* Change USB_DEBUG to #ifdef and allow it to be turned off. Previously this hadthompsa2010-04-223-37/+37
| | | | | | the illusion of a tunable setting but was always turned on regardless. MFC after: 1 week
* Add PCI IDs for two more nForce controllers.thompsa2010-03-282-0/+4
| | | | Submitted by: Dmitry Luhtionov @ gmail.com
* Add support for the Samsung S3C2xx0 family of ARM SoCs written byimp2010-03-201-0/+219
| | | | | | | | Andrew Turner. The kernel supports the LN2410SBC evaluation board, and likely others. These parts (or similar ones) are in some open hardware designs for phones. Submitted by: Andrew Turner
* For USS820 driver we need to manually reset TX FIFO at each SETUP transactionthompsa2010-03-111-0/+8
| | | | | | because the chip doesn't do this by itself. Submitted by: Hans Petter Selasky
* Wrap the proc wakeup special case for ddb in ifdef DDB.thompsa2010-03-111-0/+6
| | | | Submitted by: Giovanni Trematerra
* The NetBSD Foundation has granted permission to remove clause 3 and 4 fromjoel2010-03-039-63/+0
| | | | | | their software. Obtained from: NetBSD
* Disable the use of the IAAD usb doorbell on NVidia controllers as it can causethompsa2010-02-093-0/+33
| | | | | | the hardware to stall. Submitted by: Hans Petter Selasky
* Optimise EHCI ISOC HS done check.thompsa2010-01-291-10/+7
| | | | Submitted by: Hans Petter Selasky
* Remove unused uhci_dump_qhs().trasz2010-01-081-27/+0
| | | | Reviewed by: hps
* Remove extraneous semicolons, no functional changes.mbr2010-01-071-1/+1
| | | | | Submitted by: Marc Balmer <marc@msys.ch> MFC after: 1 week
* Add more OHCI pci ids.thompsa2009-12-221-0/+6
| | | | Submitted by: Hans Petter Selasky
* Add more EHCI pci ids.thompsa2009-12-221-0/+10
| | | | Submitted by: Hans Petter Selasky
* Correct name, 82801IJ -> 82801JIthompsa2009-12-092-8/+8
| | | | Submitted by: mitya_cabletv.dp.ua
* Add uhci/ehci controller ids.thompsa2009-12-032-0/+16
| | | | Submitted by: mitya_cabletv.dp.ua
* Remove overuse of exclamation marks in kernel printfs, there mere fact athompsa2009-11-264-9/+12
| | | | | | message has been printed is enough to get someones attention. Also remove the line number for DPRINTF/DPRINTFN, it already prints the funtion name and a unique message.
* Disable interrupts after doing early takeover of the usb controller in case usbthompsa2009-11-252-2/+2
| | | | | | | isnt actually compiled in (or kldloaded) as the controller could cause spurious interrupts. Tested by: Florian Smeets
* Actually disable interrupts in ehci_detach().thompsa2009-11-231-1/+1
| | | | Reviewed by: HPS
* Add missed register change in r199676.thompsa2009-11-221-1/+1
| | | | Submitted by: Hans Petter Selasky
* Correct register access for USB device side operation on the musb controller.thompsa2009-11-221-9/+58
| | | | Submitted by: Hans Petter Selasky
* Provide tunables for some of the usb sysctls that affect boot behaviour.thompsa2009-11-223-0/+10
| | | | Submitted by: Andriy Gapon
* Initialise variable before use.thompsa2009-11-225-0/+5
| | | | Submitted by: Hans Petter Selasky
* Improve High Speed slot allocation mechanism by moving the computation to thethompsa2009-11-221-47/+12
| | | | | | endpoint rather than per xfer and provide functions around get/free of resources. Submitted by: Hans Petter Selasky
* improve support for high speed isochronous endpoints which does not run 1:1,thompsa2009-11-081-27/+66
| | | | | | but needs intervalling 1:2, 1:4 or 1:8 Submitted by: Hans Petter Selasky
* Integrate lost interrupts patch from the old USB stack.thompsa2009-11-083-4/+51
| | | | | | | | | | | | | | | Some EHCI chips from VIA / ATI seem to trigger interrupts before writing back the qTD status, or miss signalling occasionally under heavy load. If the host machine is too fast, we can miss transaction completion - when we scan the active list the transaction still seems to be active. This generally exhibits itself as a umass stall that never recovers. We work around this behaviour by setting up this callback after any softintr that completes with transactions still pending, giving us another chance to check for completion after the writeback has taken place Submitted by: Alexander Nedotsuko MFC after: 3 days
* ehci_init() will do reset and set the usbrev flag. Fix problem wherethompsa2009-11-083-8/+1
| | | | | | | ehci_reset() was called before ehci_init(). PR: usb/140242 Submitted by: Sebastian Huber
* Revert r198500 for now, this will break situations whenthompsa2009-10-263-0/+88
| | | | | | | hw.pci.usb_early_takeover is set to zero and the SMM release is never done. Pointed out by: marcel
* Remove usb controller takeover code now that it is handled by the pci code.thompsa2009-10-263-88/+0
| | | | | Reminded by: jhb Reviewed by: HPS
* Workaround buggy BIOS code in USB regard. By doing the BIOS to OS handover forthompsa2009-10-1515-282/+414
| | | | | | | | | all host controllers at the same time, we avoid problems where the BIOS will actually write to the USB registers of all the USB host controllers every time we handover one of them, and consequently reset the OS programmed values. Submitted by: avg Reviewed by: jhb
* EHCI Hardware BUG workaroundthompsa2009-10-011-21/+57
| | | | | | | | | | | | | | | | | The EHCI HW can use the qtd_next field instead of qtd_altnext when a short packet is received. This contradicts what is stated in the EHCI datasheet. Also the total-bytes field in the status field of the following TD gets corrupted upon reception of a short packet! We work this around in software by not queueing more than one job/TD at a time of up to 16Kbytes! The bug has been seen on multiple INTEL based EHCI chips. Other vendors have not been tested yet. - Applications using /dev/usb/X.Y.Z, where Z is non-zero are affected, but not applications using LibUSB v0.1, v1.2 and v2.0. - Mass Storage (umass) is affected. Submitted by: Hans Petter Selasky MFC after: 3 days
* Clear all interrupts rather than just SETUP packet.thompsa2009-09-281-2/+2
| | | | Submitted by: Hans Petter Selasky
* Simplify logic around setting EHCI_QH_DTC and expand some htohc32(temp.sc, 0)thompsa2009-09-281-19/+15
| | | | | | statements to zero. Submitted by: Hans Petter Selasky
* Import two PCI quirks from Linuxthompsa2009-09-281-0/+70
| | | | | | | | - Add quirk for ATI SB600 and SB700 to free SMB controller - Correct schedule sleep time to 10us on the VIA ehci controller Reported by: Dorian B<FC>ttner, Andriy Gapon Submitted by: Hans Petter Selasky
* MFp4 @ 168387thompsa2009-09-281-4/+2
| | | | | | | | | | | | | | | | - clean up USB detach logic. There seems to be some problems detaching multiple USB HUBs connected in series from the root. - after this patch the rule is: 1) Always use device_detach() on the USB HUB first. 2) Never just device_delete_child() on the USB HUB, because that function will traverse to all the device leaves and free them first, and then the USB stack will free the devices twice which doesn't work very well. - make sure the did DMA delay gets set after the timeout has elapsed to make logic more clear. There is no functional difference. Submitted by: Hans Petter Selasky
* - allow disabling "root_mount_hold()" byalfred2009-08-241-73/+29
| | | | | | | setting a sysctl/tunable at boot - remove some redundant initial explore code Submitted by: hps
* Temporarily revert the new-bus locking for 8.0 release. It will bejhb2009-08-201-9/+21
| | | | | | reintroduced after HEAD is reopened for commits by re@. Approved by: re (kib), attilio
* Make the newbus subsystem Giant free by adding the new newbus sxlock.attilio2009-08-021-21/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to hold it when all such datas are accessed. For the other operations, softc locking should ensure enough protection to avoid races. Newbus lock is automatically held when virtual operations on the device and bus are invoked when loading the driver or when the suspend/resume take place. For other 'spourious' operations trying to access/modify the newbus topology, newbus lock needs to be automatically acquired and dropped. For the moment Giant is also acquired in some key point (modules subsystem) in order to avoid problems before the 8.0 release as module handlers could make assumptions about it. This Giant locking should go just after the release happens. Please keep in mind that the public interface can be expanded in order to provide more support, if there are really necessities at some point and also some bugs could arise as long as the patch needs a bit of further testing. Bump __FreeBSD_version in order to reflect the newbus lock introduction. Reviewed by: ed, hps, jhb, imp, mav, scottl No answer by: ariff, thompsa, yongari Tested by: pho, G. Trematerra <giovanni dot trematerra at gmail dot com>, Brandon Gooch <jamesbrandongooch at gmail dot com> Sponsored by: Yahoo! Incorporated Approved by: re (ksmith)
* USB controller:alfred2009-07-301-2/+9
| | | | | | | - allow disabling "root_mount_hold()" by setting "hw.usb.no_boot_wait" sysctl Submitted by: hps Approved by: re
* USB CORE:alfred2009-07-308-0/+8
| | | | | | | | | | | - Add minimum polling support to drive UMASS and UKBD in case of panic. - Add extra check to ukbd probe to fix problem about mouse devices attaching like keyboards. - P4 ID: 166148 Submitted by: hps Approved by: re
* USB controller:alfred2009-07-303-0/+14
| | | | | | | | | - patch from Alexander Motin <mav@freebsd.org> - add more ID's - P4 ID: 165805 Submitted by: hps Approved by: re
* Sync to p4thompsa2009-06-275-5/+5
| | | | | | | | | - Add support for devices that handle set and clear stall in hardware. - Add missing get timestamp function - Add more xfer flags Submitted by: Hans Petter Selasky Approved by: re (kib)
* - Make struct usb_xfer opaque so that drivers can not access the internalsthompsa2009-06-2319-51/+420
| | | | - Reduce the number of headers needed for a usb driver, the common case is just usb.h and usbdi.h
* s/usb2_/usb_|usbd_/ on all function names for the USB stack.thompsa2009-06-1519-438/+438
|
* Move the memory layout definitions and logic from mvreg.h to mvwin.hmarcel2009-06-121-1/+4
| | | | | | | | so that it isn't exposured unless needed. In particular this means that it's easier to tune the memory layout based on board details. While here, remove inclusion of <machine/intr.h> from mvreg.h. This also contains exposure to SoC specifics in MI drivers, because NIRQ depends on the SoC.
* Rename usb pipes to endpoints as it better represents what they are, and structthompsa2009-06-078-282/+282
| | | | usb_pipe may be used for a different purpose later on.
* Revert the size_t part of the last commit for the moment, this blows up thethompsa2009-05-301-3/+3
| | | | USB_ADD_BYTES macro.
* Fix function arguments were previously they matched the typedef by accident.thompsa2009-05-291-3/+3
|
* s/usb2_/usb_/ on all typedefs for the USB stack.thompsa2009-05-2917-80/+80
|
* s/usb2_/usb_/ on all C structs for the USB stack.thompsa2009-05-2818-690/+690
|
* Fix a failure to report failure on stalled status stage for controlthompsa2009-05-211-7/+0
| | | | | | transactions. Submitted by: Hans Petter Selasky
* Add a driver for the AVR32 series USB Device Controller. Not hooked up asthompsa2009-05-212-0/+2319
| | | | | | | FreeBSD does not yet support this platform but it makes it easier to stay in sync. Submitted by: Hans Petter Selasky
OpenPOWER on IntegriCloud