Commit Graph

137 Commits

Author SHA1 Message Date
augustss be12c4395c Don't write back status bits that are cleared when written. 2001-08-06 15:15:08 +00:00
augustss 981c2a6401 Rearrange register dump when the controller is dying. Fixes PR 13430. 2001-07-11 14:11:00 +00:00
augustss 1077c84a99 Avoid a potential null pointer dereference. From OpenBSD. 2001-04-01 14:59:52 +00:00
augustss a2c1a2899f Try to make resume work on more machines. 2001-03-25 22:52:21 +00:00
augustss e8db629494 Add code to use soft interrupt to handle USB interrupt processing.
Don't enable the code since it doesn't work with the kludgy Ethernet drivers.
2001-01-21 02:39:52 +00:00
augustss f7dc96fe4c Change some splusb() to splhardusb(). 2001-01-20 23:36:02 +00:00
augustss 79f0bd6e1f Update many URLs. 2000-12-29 01:24:55 +00:00
tsutsui 3bd1aace1b Add missed le32toh() in uhci_device_isoc_abort(). 2000-12-18 15:55:30 +00:00
augustss d1c538bc2f Don't repeat 'host controller halted' message. From OpenBSD. 2000-12-16 16:09:24 +00:00
takemura 3c9d9276dc Add new powerhook argument values, PWR_SOFTSUSPEND, PWR_SOFTSTANDBY and
PWR_SOFTRESUME. Apm calls powerhook with the values in normal interrupt
priority level while others are protected with splhigh().
2000-11-26 11:08:57 +00:00
soren efadefb53f In uhci_intr(), only warn about power state confusion if the
interrupt was actually for us.
2000-11-22 05:50:59 +00:00
augustss 6836c0bd28 Update frlengths after a isoc transfer.
Suggested by Yuri <yuri@tsoft.com>
2000-11-10 14:11:49 +00:00
augustss 6417d32d9d Avoid "bandwidth reclamation" for control transfers. The kue device chokes
on it.
2000-09-23 21:00:10 +00:00
augustss ed274219d5 Fix race condition when unlinking xfers. Thanks to IWAMOTO Toshihiro
<iwamoto@sat.t.u-tokyo.ac.jp> for analyzing the problem and suggesting a fix.
Fixes PR 10662.
2000-08-13 18:20:14 +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
tv 2b3a50d3de %b -> bitmask_snprintf()
Because this code is shared, add a macro for bitmask_snprintf() that
should expand to the equivalent snprintf() on non-NetBSD systems.  This is
only used in ?HCI_DEBUG cases anyway.
2000-08-08 19:51:46 +00:00
augustss a119131555 Be a little more explicit and careful about setting links in TDs and QHs. 2000-07-23 19:43:37 +00:00
augustss c6ddc6009b Make it compile with USB_DEBUG. 2000-06-01 15:51:26 +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 382a7af237 Don't print anything when detecting resume. 2000-05-30 16:56:54 +00:00
augustss e4217da6d0 As a safety, check that the controller is not suspended when we get
an interrupt.
2000-05-30 09:26:06 +00:00
jhawk 6513ba6e74 Make this compile with UHCI_DEBUG in the presence of
-Werror: uhci_dump is no longer static.
2000-05-28 22:02:05 +00:00
mycroft d0d92c23d0 Use USBD_NORMAL_COMPLETION in the previous. 2000-05-03 18:21:36 +00:00
mycroft ffe599486c When emulating UHF_PORT_POWER for the internal hub, make sure to initialize
the status return value.
2000-05-03 18:14:49 +00:00
augustss 30c20f930f Change my email address. 2000-04-27 15:26:44 +00:00
augustss df70862e8c Insert (very conservative!) bus_space_barrier() calls at all register accesses.
The bus_space(9) man page says you've gotta have them...
2000-04-25 14:28:13 +00:00
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