Commit Graph

81 Commits

Author SHA1 Message Date
augustss
f14db62d03 Add a DIAGNOSTIC. 2001-04-17 00:05:33 +00:00
augustss
38c02444d9 Finally get rid of the UGLY and EVIL hack for avoiding tsleep(). 2001-04-13 11:19:58 +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
79c6c8ec3f Make this compile again after const-ification. 2001-01-19 04:01:10 +00:00
augustss
d9c7baa183 Add a way to do control transfers on other pipes than the default pipe. 2000-09-23 21:02:04 +00:00
augustss
1c94b92bc4 Initialize pointer before doing free of it. 2000-06-06 11:36:21 +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
18cd73168e Be more careful when setting the alternate interface so we don't end up with
nothing set at all if it fails.
2000-05-31 16:14:42 +00:00
augustss
30c20f930f Change my email address. 2000-04-27 15:26:44 +00:00
augustss
5e754a177b Do not accept new xfers for queuing while a pipe is aborting. 2000-03-29 01:45:20 +00:00
augustss
9609f4caa2 Add a comment. 2000-03-28 09:48:25 +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
6a6358ed5c Shake out some bugs from the callout changes. 2000-03-23 18:59:10 +00:00
augustss
e0d3ede01c Get the status right when a polled transfer times out. 2000-03-08 15:34:10 +00:00
augustss
2dda67d4a2 Fix typo in argument to ratecheck(). 2000-03-02 15:49:29 +00:00
augustss
d6c4ac7ff2 Use ratecheck() to limit error messages on disconnect.
Break out some common functionality.
2000-03-02 12:37:50 +00:00
augustss
76c14cd322 Don't stall the control pipe on error. 2000-02-08 18:46:03 +00:00
augustss
c9aa323521 Change the way the HC done method is invoked a little. 2000-01-31 20:13:07 +00:00
augustss
c3716a6bb9 Add an argument to usbd_open_pipe_intr() to specify the polling interval
for an interrupt pipe in case we don't what what the descriptor suggests.
2000-01-19 00:23:58 +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
cc381bcb7c Add usbd_reload_device_desc() to get the device descriptor again from a device.
Useful if e.g. downloading firmware updates the revision number.
2000-01-16 23:11:43 +00:00
augustss
67ad556c60 Get timeout right in the gruesome hack. 2000-01-16 13:34:51 +00:00
augustss
eb7268f16c XXX Add a temporary, gruesome hack. It allows transfers to
XXX be done using delay() instead of tsleep().
XXX This enables transfers to be made from an interrupt context, which
XXX is needed until some more threads are added to the kernel.
XXX Using this hack (which is rare) causes the kernel to busy-wait
XXX for up to 1 ms at splusb().
2000-01-16 13:22:18 +00:00
augustss
c664f35fc5 Let usbd_set_polling() work on a usbd_device_handle instead of
a usbd_interface_handle.
2000-01-16 09:37:18 +00:00
augustss
18f862c072 More USB_DEBUG and DIAGNOSTIC output. 1999-11-28 22:49:53 +00:00
augustss
77bb4d8ce2 Cosmetic change. 1999-11-26 01:40:01 +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
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
f25d1b0a07 Fix a glitch in dequeueing and aborting requests on interrupt pipes. 1999-10-13 23:46:10 +00:00
augustss
1e35ed7989 Temporarily disable a DIAGNOSTIC. 1999-10-13 14:28:07 +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
df435c83b2 Add an event mechanism so that a userland process can watch devices come
and go.
1999-10-12 11:54:56 +00:00
augustss
5260cadff2 Add a sanity check to the computed actual transfer length. 1999-09-15 21:08:59 +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
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
b1a719a6cc Add a flag in the request to determine if the data copying is done by the
driver or the usbdi layer.
1999-09-12 08:23:42 +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
1aa63c9fab Add some comments. 1999-08-28 10:04:01 +00:00
augustss
1f2661798f Make sure to mark the device as dying already in the (de)activate routine.
This avoids access to it before the detach routine has blown it away.
1999-08-23 22:55:14 +00:00