Commit Graph

127 Commits

Author SHA1 Message Date
augustss 8abb6b6ba2 Fix some braindead calls to free memory (only encountered under low memory
conditions).  From OpenBSD.
2002-08-07 20:03:19 +00:00
lukem 06de426449 SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field).  whilst it's O(n),
  this mirrors the functionality of SLIST_REMOVE() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
  this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
2002-06-01 23:50:52 +00:00
augustss 0a15c2acd4 Change DMAADDR macro slightly. 2002-05-28 12:42:38 +00:00
minoura 78d97e78f0 Clear done_head in the HCCA *before* acknoledging the interrupt.
Driver lost some completed transfers under heavy loads.
2002-05-26 03:10:02 +00:00
augustss 4bc0b333ea Update dma memory access API a little. 2002-05-19 06:24:30 +00:00
augustss b32942bb23 Whitespace fixes. 2002-03-17 18:02:52 +00:00
tsutsui e01954f52a Fix a couple of typo:
- s/ehci/ohci/ (in unused arg of macro)
- s/uhci/ohci/ (in debug message)
2002-03-16 16:11:18 +00:00
augustss 7f01f1dd6b Some white space fixes from FreeBSD. 2002-02-03 18:15:20 +00:00
augustss 637dc4b2fe Change xfer abort to wait for the softintr to run. 2001-12-31 12:20:35 +00:00
augustss 04ec4ba316 Add some DIAGNOSTIC stuf that I forgot. From Nate Williams. 2001-12-27 18:48:28 +00:00
augustss d0f9a76506 Update a comment. 2001-12-27 11:27:11 +00:00
augustss 1029005107 Pay more attention to if the HC is being unplugged. 2001-11-21 08:18:39 +00:00
itojun bf755aea42 make it compilable without OHCI_DEBUG 2001-11-21 05:52:50 +00:00
augustss 28a6a57942 Use a task to perform the timeout abort so we have a process context when
sleeping.
2001-11-21 02:41:18 +00:00
augustss 5506bb0f06 Some more debug stuff. 2001-11-21 02:39:31 +00:00
augustss 2478d1b320 Cast some args to bitmask_snprintf(). 2001-11-21 02:38:35 +00:00
augustss 9716a5f26d Don't bother with interrupts when being disconnected. 2001-11-20 21:12:46 +00:00
augustss e5353fd3b5 Use longer reset for root hubs (as told in the spec). 2001-11-20 16:08:10 +00:00
augustss 7e4459fe10 Keep track of device speed for USB 2.0. 2001-11-20 13:48:03 +00:00
lukem 667807e40c add RCSIDs 2001-11-13 06:24:53 +00:00
augustss ff875692db Improve dump routines. 2001-11-10 17:09:28 +00:00
augustss 495b9bd7d5 Fix a bug in xfer abort processing when the HC executes ahead of what
the driver aborts.
Don't block RHSC interrupts.
2001-11-09 15:01:57 +00:00
augustss 14e5f669c2 Improve some debug messages. 2001-11-07 02:55:04 +00:00
augustss 37583aadfc Reenable RHSC interrupt after one second so hot plugging works.
(From OpenBSD.)
2001-09-28 23:57:21 +00:00
augustss 8a0aea16c1 Don't go top mode OPERATIONAL (before reset) on startup even if BIOS claims to
have initialized the controller.
2001-09-11 07:00:19 +00:00
augustss cb47887dc2 Add two missing splx() (inside DIAGNOSTIC). From OpenBSD. 2001-04-01 15:00:29 +00:00
minoura fa6cae09e2 Re-initialize some registers after resuming from suspend.
Some APM BIOSes do not restore them.
Reviewd by augustss.
2001-02-20 15:20:32 +00:00
augustss a96a3fa4ca Put a rate limiter on the scheduling overrun message. 2001-01-28 16:18:09 +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 9a52f80f0f Make the controller survive suspend/resume. Thanks to Steve Woodford
<steve@mctavish.co.uk> for testing.
2000-12-31 14:29:54 +00:00
augustss 79f0bd6e1f Update many URLs. 2000-12-29 01:24:55 +00:00
augustss eb210eda08 Make the ohci driver not hang suspend/resume. It still doesn't resume
correctly.  From itohy@netbsd.org (ITOH Yasufumi) PR kern/11714.
2000-12-13 03:09:06 +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 7e5bb38ef2 Add an XXX comment. 2000-08-17 23:18:56 +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 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
thorpej 622e87734a Quiet some uninitialized variable warnings that do in fact look legitimate. 2000-05-08 18:28:46 +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 3a27942ba8 Add a clarifying comment. 2000-04-22 22:50:44 +00:00
augustss fdeba432d2 Add a comment about a non-obvious use of a #define. 2000-04-21 15:38:55 +00:00
augustss 7311856f29 Add a delay before reading the number of ports from the controller to
avoid getting 0 from it.
2000-04-01 09:27:35 +00:00
augustss a25e27e1eb Some OpenBSD portability fixes. 2000-03-29 18:24:52 +00:00
augustss 7e7ceecd2b A first stab at support for isochronous transfers. 2000-03-29 01:46:26 +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 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 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 eb6e78ce98 Make sure all packets (except the last) have the maximum packet size even
when using multiple TDs.
2000-03-20 00:37:00 +00:00