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
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
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
319c42848d
Add some sanity checks.
1999-07-06 07:12:03 +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
475ed73e46
Get rid of a bunch of code that was part of an old USBDI proposal, but that
...
is unused in our USB stack.
Once upon a time, when I started writing the USB stack for NetBSD, there
was an effort to make a standard for how USB device drivers should interact
with the rest of the USB stack. This effort had contributors from just
about all Un*x camps (but not Micro$oft :). I based my design on one of their
early proposals since I thought it would be a good idea if we could all
share device drivers with a minimum effort. Shortly after I started my work
all the free Un*x people were thrown out of the USBDI work since we did not
pay the USB membership fee. Well, some time has passed now and the work of
the standardization group is almost public again. But alas, the new standard
has grown to be a monster! I do not want to have this as the basis for the
*BSD USB stack; it is far too complicated.
So, since we are not even close to being compilant with the standard, I've
thrown out some old baggage.
1999-06-14 17:09:57 +00:00
augustss
e16867970c
More DIAGNOSTIC tests.
1999-05-13 23:29:41 +00:00
augustss
63e051b6cf
Minor rearrengment for better readability.
1999-05-09 14:36:42 +00:00
augustss
f963dc8ddb
Some minor updates from FreeBSD.
1999-01-10 19:13:15 +00:00
augustss
875aa92d2c
Various little fixes from the FreeBSD version.
1999-01-08 11:58:25 +00:00
augustss
bf1154922d
Add a length paarmeter to usbd_do_request_flags().
1999-01-03 01:00:56 +00:00
augustss
6b5d35ee9d
Minor change in a debug printf.
1998-12-29 14:29:53 +00:00
augustss
3064141641
Make it possible to specify the request flags when issuing a raw USB request.
1998-12-29 03:13:10 +00:00
augustss
dfad58d4e0
Change the host controller internal API a little and add some incomplete
...
support for isochronous transfers.
1998-12-28 20:13:59 +00:00
augustss
e0c228ae9c
Merge changes to make the USB stack work with FreeBSD. The original
...
diffs from Nick Hibma <n_hibma@freebsd.org>, but with substantial
changes from me.
XXX Not tested on FreeBSD yet.
1998-12-26 12:53:00 +00:00
augustss
46e04a18a1
Take care of some lines > 80 chars.
1998-12-10 23:16:47 +00:00
augustss
f8b9a417f0
Improvement to the ugen driver.
...
Better error checking.
Some code rearrengment.
1998-12-09 00:18:10 +00:00