augustss
7d05674ba7
Distinguish between device and interface classes.
...
(I finally found a document that said that they were different.)
2000-02-29 21:37:00 +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
9056664327
Prepare a little for having USB interrupt processing done outside the hard
...
interrupt level (in a thread or a softintr).
No real soft processing done yet.
2000-02-22 11:30:54 +00:00
augustss
30f0efb4f2
Add uhci_root_ctrl_done() method.
2000-01-28 00:44:27 +00:00
augustss
4e9e8e52f4
Change the test to check if transfers are done. The old test was broken
...
and sometimes reported transfers as done prematurely.
This fix seems to stabilize the Ethernet drivers.
2000-01-28 00:15:54 +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
b9a4fe55b5
Switch the HSE and HCPE messages. Pointed out my mycroft.
2000-01-25 17:31:05 +00:00
augustss
55c5d10627
Fix typos.
...
Never, never, never commit without compiling first.
2000-01-19 01:16:38 +00:00
augustss
fe18229923
Obey the interrupt interval here also.
2000-01-19 01:04:26 +00:00
augustss
a97cf3f9ce
Fix a buglet in framelist locking.
2000-01-19 01:02:11 +00:00
augustss
21863071b1
Move the zeroing of the xfer to the individual methods.
2000-01-18 20:23:42 +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
ed1996fc7d
Be a little more talkative on with UHCIDEBUG on errors.
2000-01-17 01:01:07 +00:00
augustss
2b8a0e9b1c
Remove some debug code that was commited by mistake.
2000-01-16 13:14:43 +00:00
augustss
537c04e5ee
Add a flag, USBD_FORCE_SHORT_XFER, to transfers. Using this flag will
...
force the last packet of a transfer to be smaller than the maximum
packet size. The only time this matters is if the transfer size is
a multiple of the maximum packet size, in which case a 0 length packet
is sent last.
Some weird devices require this behaviour to determine the end of
a transfer.
2000-01-16 13:12:05 +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
6e2f22c70f
Turn on the MAXP bit in the controller to allow 64 byte packets at
...
the end of a frame.
1999-12-24 13:56:35 +00:00
augustss
8111aaeef9
Cosmetics and a couple of diagnostic messages.
1999-12-06 21:06:59 +00:00
augustss
b15fcce56c
Use vertical nscheduling for bulk traffic. It improves bulk thruput a lot.
...
From FreeBSD and Nick Hibma.
1999-12-01 00:42:05 +00:00
augustss
881d3f4735
A little cosmetic.
1999-11-23 20:36:10 +00:00
augustss
3386c68b46
Cosmetic changes and some small improvements. From FreeBSD and Nick Hibma.
1999-11-18 23:32:25 +00:00
augustss
cdaec29859
A few more purely stylistic changes that I missed in the last round.
1999-11-17 23:00:49 +00:00
augustss
ffb29861c2
Add a few more diagnostics.
1999-11-16 22:19:03 +00:00
augustss
5f8274b5a6
Get transfer status right on short transfers. From FreeBSD, Nick Hibma.
1999-11-13 23:58:01 +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
a28e3fec43
Fix PR8666, to verbose diagnostics.
1999-10-23 00:21:01 +00:00
augustss
db3b140df8
Handle the (weird) case when the power hook is called with a resume
...
without a prior suspend.
1999-10-17 15:31:00 +00:00
augustss
d8e5f3ab24
Add a DIAGNOSTIC to check that the polling flag is set when resuming.
1999-10-16 15:35:18 +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
11403b6ec1
Fix some bugs in USB controller detach code.
1999-10-12 20:02:47 +00:00
augustss
b14b78dfc9
Deallocate resources (bus space and interrupts) when detaching from
...
the bus.
1999-10-12 11:21:24 +00:00
augustss
fb7795c908
Make sure the HC deactivation is propagated.
1999-09-18 11:25:50 +00:00
augustss
7fcc1703ff
Cosmetic change: s/xfer/data/
1999-09-15 21:12:29 +00:00
augustss
e54df1b10c
Handle the use_polling flag with a lttle more care and only set it if
...
we are cold booting.
1999-09-15 14:17:14 +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
ba2c2e2ade
* Make sure an aborted pipe is marked as not running.
...
* Start queued request in the right order.
* Insert some more DIAGNOSTIC sanity checks.
1999-09-13 21:33:25 +00:00
augustss
bc5da9a8da
Make sure timeouts count as interrupt context too.
1999-09-13 19:49:41 +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
98b6524413
* Move DMA buffer allocation to HC independent code.
...
* Remove (almost) unused definitions USBD_XFER_OUT and USBD_XFER_IN.
1999-09-11 08:19:26 +00:00
augustss
2aadcb5f47
Change the internal API to allow DMA buffers to be pre-allocated by
...
the device driver instead of happening automagically in the HC driver.
This affects both the HC-USBD interface as well as the USBD-device
interface.
This change will allow DMA buffers to be reused e.g. in isochronous
traffic.
Add isochronous support to the UHCI driver (not for OHCI yet).
1999-09-09 12:26:43 +00:00
augustss
2425433ff6
Change some printf to DPRINTF for consistency. From Nick Hibma, FreeBSD.
1999-09-05 21:22:38 +00:00
augustss
24251055bc
Change the way the `struct device' base part of all driver softc are
...
declared and accessed to make it more portable. Idea from Nick Hibma, FreeBSD.
No functional changes.
1999-09-05 19:32:18 +00:00
augustss
f3421bec94
Change the way the direction is extracted from the endpoint descriptor.
...
No functional changes to the drivers. From Nick Hibma, FreeBSD.
1999-09-04 22:26:11 +00:00
augustss
46fd81350a
Rewrite interrupt routine from clarity. From Nick Hibma, FreeBSD.
1999-09-02 18:11:41 +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
a293a6cc73
Make sure not to call tsleep() from suspend/resume routine.
1999-08-20 16:42:38 +00:00
augustss
a9563e089b
A first stab at making the UHCI driver endian independent.
...
(It doesn't seem to be quite working yet.)
1999-08-19 19:52:38 +00:00
augustss
54adf47f36
Redo the UHCI data toggle handling.
...
Make sure data toggles get synchronized on open and
when clearing an endpoint stall.
1999-08-17 20:59:04 +00:00
augustss
3016e1ebe0
Make some small changes to make it compile on OpenBSD.
1999-08-17 16:06:20 +00:00
augustss
290c03447b
Change the way transfers are dequeued so thet we know that they
...
are removed from the queue before being deallocated.
1999-08-16 20:24:33 +00:00
augustss
b8b1e35ece
Some changes from FreeBSD (no functional differences).
1999-08-14 14:49:31 +00:00
augustss
208dad78d1
Get data toggle right for short bulk transfers.
...
(XXX This code needs to be rewritten.)
1999-08-02 23:35:55 +00:00
augustss
d2db832909
Do abort of transfers in a sane way. Fixes PR 8041.
1999-08-02 19:30:34 +00:00
augustss
361422bc96
Apply some bulk transfer bug fixes from FreeBSD.
1999-07-12 05:22:50 +00:00
augustss
b177c7a397
Totally redo the way device detach is done. It now uses a kernel event
...
thread and the config detach method.
Squish a number of space leaks on detach.
1999-06-30 06:44:22 +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
27b9cd0724
Remove a redundant test.
1999-06-09 17:04:45 +00:00
augustss
ac197c5354
Update documentation URLs.
1999-05-21 10:15:23 +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
00930acefa
Improve error handling. Mostly from FreeBSD.
1999-05-16 11:43:32 +00:00
augustss
946efa06b3
Improve debug output a little.
1999-04-03 19:00:43 +00:00
augustss
5113c5b9c0
Move the bus reset up. This makes the VIA chipset work. From FreeBSD.
1999-02-20 23:26:16 +00:00
augustss
07e0165b97
Update/add URLs to relevant USB specs.
1999-01-10 11:13:36 +00:00
augustss
875aa92d2c
Various little fixes from the FreeBSD version.
1999-01-08 11:58:25 +00:00
augustss
e4b5e096e8
Fix some FreeBSD compiler warnings.
1999-01-07 02:22:50 +00:00
augustss
20f51aae57
Split usbd_delay_ms() into two functions, one can be used in
...
device drivers.
1998-12-30 18:06:25 +00:00
augustss
a4a02fda54
Make it compile without USB_DEBUG, fixes PR 6689. Patch from
...
taca@sky.yamashina.kyoto.jp (Takahiro Kambe).
1998-12-30 13:25:54 +00:00
augustss
fe9a1b2b2d
Implement short transfers.
1998-12-29 04:15:04 +00:00
augustss
d4fa2978fa
Imprive debugging message.
1998-12-28 21:05:47 +00:00
augustss
dfad58d4e0
Change the host controller internal API a little and add some incomplete
...
support for isochronous transfers.
1998-12-28 20:13:59 +00:00
augustss
1256add6be
Update for new name in usb.h
1998-12-28 16:13:44 +00:00
augustss
8fe37fa62c
Cosmetics.
1998-12-28 02:06:25 +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
46e04a18a1
Take care of some lines > 80 chars.
1998-12-10 23:16:47 +00:00
augustss
ca707fcdf2
Make the copyright header conform to the NetBSD template.
1998-11-25 22:32:04 +00:00
augustss
ac2b25e392
Improve some error messages.
...
Make some preparations for isochronous transfers.
1998-08-02 22:30:52 +00:00
augustss
f654e0188e
Switch from a global flag to tell if the host controller should use
...
polling to a local one for each controller.
1998-08-01 18:16:19 +00:00
augustss
638fb6a638
A first stab att supporting console access with a USB keyboard.
1998-07-26 17:42:48 +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
d6ef9cbb33
Add some comments and a function to set the alternate settings in an
...
interface.
1998-07-23 13:44:21 +00:00
augustss
c263b1d26f
Don't leak memory if opening a pipe fails.
1998-07-23 09:18:37 +00:00
augustss
964fdc18b8
Use the pipe maximum packet length rather than the device max length when
...
setting up a transfer.
Update the UHCI data toggle correctly.
1998-07-23 01:46:27 +00:00
augustss
0f40401a23
Fix bug in freeing TD chain after bulk transfer.
1998-07-23 00:27:36 +00:00
drochner
8babb8290c
fix egcs warnings
1998-07-15 09:35:35 +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