Commit Graph

69 Commits

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