imp
f2bd93408a
Merge from FreeBSD:
...
sc_child is only used on NetBSD and OpenBSD, ifdef appropriately
FreeBSD revisions:
ehcivar.h 1.8
ohcivar.h 1.39
uhicvar.h 1.39
2005-01-11 07:45:34 +00:00
fvdl
a3cea30b50
Implement an USB memory reserve. Allocate some memory per host controller
...
in the wanted bus_dma space. If an allocation fails during operation
(i.e. when hotplugging an umass device), fall back to using the reserve.
The amount can be configured as USB_MEM_RESERVE. The default value is
256k.
Ideally, there would be a way to steal pages in the desired area from
UVM, but that's far more complicated, and this is not intrusive, plus
it works.
2004-12-21 16:41:24 +00:00
augustss
13d6b87d32
Use a somewhat bigger buffer for the vendor string.
2002-12-31 00:39:11 +00:00
augustss
434abd832d
Add #ifdef USB_USE_SOFTINTR for some softintr code. From FreeBSD.
2002-09-29 21:13:01 +00:00
augustss
86650920c9
Get rid of trailing white space.
2002-07-11 21:14:24 +00:00
augustss
0e66a32e2c
Switch to new abort mechanism.
2002-02-11 11:41:30 +00:00
augustss
4f325f2674
Implement what in Intel-speech is known as "bandwidth reclamation".
...
It means that we continously poll USB devices that have a pending transfer
instead of polling just once every ms. This speeds up some transfers
at the expense of using more PCI bandwidth.
2000-08-13 16:18:09 +00:00
augustss
ed9486e158
Bring the coding style into the 80s, i.e., get rid of __P and use
...
ANSI prototypes and declarations.
2000-06-01 14:28:57 +00:00
augustss
30c20f930f
Change my email address.
2000-04-27 15:26:44 +00:00
augustss
74beeca710
Move the size of the mapped bus_space region into the bus independent softc.
2000-04-25 09:20:54 +00:00
augustss
9355847b78
Fix typos in comments.
2000-04-06 23:44:20 +00:00
augustss
3fded57690
Rename and move around callout handles to make it more sane.
...
Add some DIAGNOSTIC.
Fix buglet in isoc abort on UHCI.
2000-03-25 18:02:32 +00:00
augustss
df8025fec8
Two major changes:
...
Make each xfer have its own intr_info. This is necessary if we want
to queue multiple xfers on an endpoint. This should get rid of the
(mostly harmless) DIAGNOSTICs about intr_infos (not) being done.
Change (again!) how xfers are aborted. Aborting a TD is a nightmare
on the braindead UHCI controller. (Unless you stop the HC, thereby
losing isoc traffic.) Hopefully I got it right this time.
2000-03-24 22:57:58 +00:00
augustss
0069eba19b
Some cleanup and renaming of the callouts used in USB drivers.
2000-03-24 22:03:28 +00:00
thorpej
fc96443d15
New callout mechanism with two major improvements over the old
...
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.
The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
augustss
009856b631
Save and restore a couple ofregisters in the power hook in case BIOS doesn't.
2000-02-22 16:03:42 +00:00
augustss
57d2439d74
Try to avoid accessing the HC if it is dead. Suggested by mycroft.
2000-01-26 10:04:38 +00:00
augustss
f14036861f
Turn xfer allocation into a method in the HC driver. The reason is that
...
an HC driver may want to subclass the xfer to have additional private fields.
2000-01-18 20:11:00 +00:00
augustss
1a080201cc
Add shutdown hooks to ensure that the host controller is halted when
...
a reboot occurs.
2000-01-16 10:27:51 +00:00
augustss
8111aaeef9
Cosmetics and a couple of diagnostic messages.
1999-12-06 21:06:59 +00:00
augustss
3386c68b46
Cosmetic changes and some small improvements. From FreeBSD and Nick Hibma.
1999-11-18 23:32:25 +00:00
augustss
0d2fabdf26
A number of stylistic changes to increase readability (many suggested
...
by Nick Hibma):
use NULL not 0
declare all local definitions static
rename s/usbd_request/usbd_xfer/ s/reqh/xfer/
rename s/r/err/
use implicit test for no err
KNF
1999-11-12 00:34:57 +00:00
augustss
03a522d3c1
Merge in a large batch of changes from Nick Hibma <hibma@skylink.it> so
...
the USB stack compiles on FreeBSD again.
1999-10-13 08:10:55 +00:00
augustss
b14b78dfc9
Deallocate resources (bus space and interrupts) when detaching from
...
the bus.
1999-10-12 11:21:24 +00:00
augustss
7049e8eb1b
Add preliminary (untested) code for detaching the USB host controller
...
(needed for CardBus based controllers).
1999-09-15 10:25:30 +00:00
augustss
ff6a476e6c
Rearrange the code a little so we can decide if we are in process
...
or interrupt context in a reliable way. Mainly used for DIAGNOSTIC.
1999-09-13 19:18:17 +00:00
augustss
4c217fdaf8
Merge the soft_{td,ed} with the real {td,ed}. This saves time and space.
...
(And fix typo in corresponding uhci change.)
1999-08-22 23:41:00 +00:00
augustss
cc8b61583c
Merge the soft_{td,qh} with the real {td,qh}. This saves time and space.
1999-08-22 23:19:56 +00:00
augustss
f747201099
Move more of the transfer completion processing to HC independent code.
...
Fix some problems with transfer abort & timeout.
1999-08-22 20:12:39 +00:00
augustss
3016e1ebe0
Make some small changes to make it compile on OpenBSD.
1999-08-17 16:06:20 +00:00
augustss
b8b1e35ece
Some changes from FreeBSD (no functional differences).
1999-08-14 14:49:31 +00:00
augustss
3fd5344a95
Add suspend/resume handling to the UHCI driver.
...
Currently it only works if the BIOS saves enough state of the controller.
Once I find a machine with a dumber BIOS I'll try to improve that.
1999-06-26 08:30:17 +00:00
augustss
4655ae1230
Keep track of vendor id and make sure the vendor string is NUL terminated.
1999-05-20 09:52:35 +00:00
augustss
e0c228ae9c
Merge changes to make the USB stack work with FreeBSD. The original
...
diffs from Nick Hibma <n_hibma@freebsd.org>, but with substantial
changes from me.
XXX Not tested on FreeBSD yet.
1998-12-26 12:53:00 +00:00
augustss
ca707fcdf2
Make the copyright header conform to the NetBSD template.
1998-11-25 22:32:04 +00:00
augustss
4e1976a433
Use PCI class/subclass/interface to match USB host controllers instead
...
of vendor/product id. This makes the probe find more controllers
without recompilation.
1998-07-26 00:40:59 +00:00
augustss
b916de0f86
Add special memory allocation routines that supports allocation
...
DMA-able memory in small chunks (USB uses a lot of 8 byte chunks).
Using the bus_dma functions directly is inefficient.
1998-07-24 21:09:07 +00:00
augustss
deb00272b9
Add USB support. Supported so far:
...
* UHCI and OHCI host controllers on PCI
* Hubs
* HID devices withe special drivers for mouse and keyboard
* Printers
1998-07-12 19:51:55 +00:00