Commit Graph

48 Commits

Author SHA1 Message Date
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
augustss a4a02fda54 Make it compile without USB_DEBUG, fixes PR 6689. Patch from
taca@sky.yamashina.kyoto.jp (Takahiro Kambe).
1998-12-30 13:25:54 +00:00
augustss fe9a1b2b2d Implement short transfers. 1998-12-29 04:15:04 +00:00
augustss d4fa2978fa Imprive debugging message. 1998-12-28 21:05:47 +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 1256add6be Update for new name in usb.h 1998-12-28 16:13:44 +00:00
augustss 8fe37fa62c Cosmetics. 1998-12-28 02:06:25 +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 ca707fcdf2 Make the copyright header conform to the NetBSD template. 1998-11-25 22:32:04 +00:00
augustss ac2b25e392 Improve some error messages.
Make some preparations for isochronous transfers.
1998-08-02 22:30:52 +00:00
augustss f654e0188e Switch from a global flag to tell if the host controller should use
polling to a local one for each controller.
1998-08-01 18:16:19 +00:00
augustss 638fb6a638 A first stab att supporting console access with a USB keyboard. 1998-07-26 17:42:48 +00:00
augustss b916de0f86 Add special memory allocation routines that supports allocation
DMA-able memory in small chunks (USB uses a lot of 8 byte chunks).
Using the bus_dma functions directly is inefficient.
1998-07-24 21:09:07 +00:00
augustss d6ef9cbb33 Add some comments and a function to set the alternate settings in an
interface.
1998-07-23 13:44:21 +00:00
augustss c263b1d26f Don't leak memory if opening a pipe fails. 1998-07-23 09:18:37 +00:00
augustss 964fdc18b8 Use the pipe maximum packet length rather than the device max length when
setting up a transfer.
Update the UHCI data toggle correctly.
1998-07-23 01:46:27 +00:00
augustss 0f40401a23 Fix bug in freeing TD chain after bulk transfer. 1998-07-23 00:27:36 +00:00
drochner 8babb8290c fix egcs warnings 1998-07-15 09:35:35 +00:00
augustss deb00272b9 Add USB support. Supported so far:
* UHCI and OHCI host controllers on PCI
* Hubs
* HID devices withe special drivers for mouse and keyboard
* Printers
1998-07-12 19:51:55 +00:00