Commit Graph

111 Commits

Author SHA1 Message Date
augustss 3f08804668 Pretend we know how to turn on port power (it's always on). 2000-04-21 15:40:01 +00:00
augustss e1f94170e5 Generate a diagnistic dump on "Host Controller Halted". 2000-04-14 14:11:36 +00:00
augustss 9355847b78 Fix typos in comments. 2000-04-06 23:44:20 +00:00
augustss 1b57fb1495 Remove some unused prototypes. 2000-03-29 18:55:36 +00:00
augustss a25e27e1eb Some OpenBSD portability fixes. 2000-03-29 18:24:52 +00:00
augustss 61db1b8e46 *SIGH* Revert back to the old method of aborting xfers.
I had tested the new stuff for two months now, but as soon as I commited
it the problems started to appear.  Murphy, no doubt...
2000-03-29 01:49:13 +00:00
augustss f606c26834 Be more defensive in a DIAGNOSTIC test. 2000-03-28 17:07:04 +00:00
augustss c2f90d0d43 Correct a debug message. 2000-03-28 10:53:59 +00:00
augustss 3316da3988 Another patch for xfer abort...
XXX The current xfer queueing and aborting semantics should really
XXX be changed.  It cannot be implemented in a sane way on UHCI.
XXX One day when I have lots of time I'll redesign it...
2000-03-28 09:47:10 +00:00
augustss 568b4d8190 Be a little more careful when aborting.
Preallocate some TDs for large buffers.
2000-03-27 22:42:57 +00:00
augustss fc72e72d7d Change (almost) all static to Static. The symbol `Static' can then be defined
to `' or `static' depending on if you want to debug or not.
2000-03-27 12:33:53 +00:00
augustss 2341e5679e Don't mess with QH in bulk abort for the moment. 2000-03-27 09:41:36 +00:00
augustss 9e5b3b729c Remove some debug nonsense. 2000-03-27 08:01:09 +00:00
augustss 9ffe849791 Make it compile without DIAGNOSTIC. 2000-03-27 07:39:48 +00:00
augustss a52e96b1eb Fix typo. Found by Aaron Campbell <aaron@cs.dal.ca>. 2000-03-26 21:42:54 +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 9893633d57 Improve uhci_dump_ii(). 2000-03-25 07:23:12 +00:00
augustss df370f0e48 More DIAGNOSTIC.
Initialize a callout handle I forgot.
2000-03-25 07:13:05 +00:00
augustss cefdf1aee3 Add more DIAGNOSTIC when aborting isoc. 2000-03-25 00:11:21 +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 6a6358ed5c Shake out some bugs from the callout changes. 2000-03-23 18:59:10 +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
tsutsui 6e0e3d609f Replace LE() macro with le32toh()/le32toh(). 2000-03-16 12:40:51 +00:00
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