Commit Graph

101 Commits

Author SHA1 Message Date
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
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