Commit Graph

297 Commits

Author SHA1 Message Date
Nick Hibma
bc51947397 The completely rewritten USB Mass Storage driver. It supports the following
devices:

Tested:
   Zip 100 USB drive
   Y-E Data USB floppy drive

Untested: (let me know whether or not it works!)
   TEAC USB floppy drive
   Zip 250 USB drive
2000-03-18 17:33:41 +00:00
Nick Hibma
31bfa89e41 Get rid of the last remnants of powerhook abuse. 2000-03-18 14:54:54 +00:00
Bill Paul
726fcd3955 Add another device/vendor code combination to support yet another
KLSI-based device (Skymaster DHU-0404).
2000-03-18 01:36:37 +00:00
Nick Hibma
e2dbd15f2e Please welcome the URio driver. Written by
Iwasa Kazmi <kzmi\@ca2.so-net.ne.jp>
2000-03-16 09:16:14 +00:00
Nick Hibma
e557a32190 Add the TD's to the hash when they are created not when they are used.
This makes it possible to handle the done queue even when the end of tail
TD has ended up on the done queue as well (the xfer in this case is NULL
but the next field is valid, so we simply skip that element.

Make sure we mark all the handled transfers as handled.

Stop using powerhooks. They are a NetBSD-ism.
2000-03-15 22:27:24 +00:00
Nick Hibma
d0ba6675ce Add an ID for the SiS 5571.
Remove the unnecessary use of parent.
2000-03-15 22:26:17 +00:00
Nick Hibma
330dc9152d powerhooks no longer used 2000-03-15 22:15:21 +00:00
Nick Hibma
49d89e0791 Make the makefile work properly. 2000-03-15 22:13:50 +00:00
Nick Hibma
8be178756c Do not use the powerhooks at all, instead of abusing and empty #define. 2000-03-15 22:12:47 +00:00
Nick Hibma
799c4480f9 Never stop the control pipe 2000-03-15 22:09:53 +00:00
Nick Hibma
bf20c30848 Regen. 2000-03-15 22:04:01 +00:00
Nick Hibma
c7c6f59635 Add Y-E Data floppy drive. 2000-03-15 21:53:09 +00:00
Nick Hibma
14a069312d Update the e-mail address to a valid one. 2000-03-15 21:50:41 +00:00
Masahide MAEKAWA
c62c0f3f76 Add vendor/device ID for Corega FEther USB-TX.
Submitted by:	iwasaki
Approved by:	jkh
2000-03-09 16:35:21 +00:00
Masahide MAEKAWA
45c784a50b Regen. 2000-03-09 16:29:49 +00:00
Masahide MAEKAWA
ceb48d11a3 Add Corega FEther USB-TX.
Submitted by:	iwasaki
Approved by:	jkh
2000-03-09 16:28:58 +00:00
Nick Hibma
290c9a02c3 Fix flushing of the clists before deleting them. Stops the machine
from panicing when disconnecting a USB Wacom Graphire tablet.

jhk approved the fix some time ago, but I forgot to actually commit the
thing.

Reported by:	Dirk van Gulik <dirkx@webweaving.org>
Approved by:	jhk
2000-03-02 16:01:53 +00:00
Nick Hibma
5e78bf3190 Move the warning on wrong IRQ values to the right place, before any
resource allocation is attempted.

It will present the user with a message that he has to switch on USB
support in his BIOS.
2000-02-20 14:22:44 +00:00
Nick Hibma
8f9683e20c Correctly handle the conversion from virtual to physical addresses. The
problem was basically (for offset > 4096):

	vtophys(addr) + offset != vtophys(addr + offset)

Also, use TD's with a maximum size of 4k instead of 8kb for OHCI
controllers.

This problem occurs in drivers that use large transfer sizes:
umass, host2host and ethernet with jumbo frames.
2000-02-10 18:50:19 +00:00
Nick Hibma
4f2e8d6383 Add PCI Id's for i810 chipsets.
PR:		16517
Submitted by:	SAKIYAMA Nobuo <sakichan@lares.dti.ne.jp>
Approved by:	jhk
2000-02-07 12:50:33 +00:00
Nick Hibma
3a119ee1e2 Don't use tsleep when cold booting. It is called before bus->use_polling
is initialised by usb_init.

This might solve problems with some controllers not being initiliased
properly, because a delay was effectively a tsleep that returned
immediately.

Approved by:	jhk
2000-02-06 14:59:00 +00:00
Nick Hibma
ef4da90333 Disable the generation of SMIs (System Management Interrupts). Always set
the PIRQD bit.

This fixes the problem of uhub0 hanging forever during boot when USB
keyboard support is switched on in the BIOS on motherboards with Intel
chipsets (UHCI).

Approved by:	The Sheep
2000-02-06 14:52:27 +00:00
Nick Hibma
b70b9ce019 Commit missing bits, forgotten when committing support for suspend/resume
for USB.

Call uhci_power when suspending and resuming.

Approved by: The One.
2000-02-04 10:18:37 +00:00
Nick Hibma
9a69e6509a bus_release_resource is spellt like bus_release_resource not like
bus_delete_resource.

Fixes a problem when the probe succeeded, but the attach failed. The
release of the resources was done inproperly.

Approved by:	jkh
2000-01-31 14:05:21 +00:00
Nick Hibma
5a250db943 Get the KASSERT right. 2000-01-29 18:53:42 +00:00
Nick Hibma
c50e6e7a39 Fix debugging output. The TDs are linked through the dnext field, not
nexttd.
2000-01-29 18:01:15 +00:00
Nick Hibma
64470e4c96 Remove a warning from LINT 2000-01-29 16:25:55 +00:00
Nick Hibma
acd60c3cb0 Unbreak LINT.
Pointed out by:   Peter Wemm
2000-01-29 15:55:03 +00:00
Nick Hibma
8010b90dc6 First part of the fix for ohci_hash_find_td panic.
Some controllers submit bogus pointers to the Done queue.
ohci_hash_find_td fails to find these in its hash and panics. Instead of
panicing we now assume the whole done queue is lost and let the timeout
code to clean up the mess after us.
2000-01-29 14:53:47 +00:00
Nick Hibma
75fc24dc62 Add comments and debugging info. 2000-01-29 14:41:48 +00:00
Nick Hibma
a59ac0e8be The toggle carry bit is stored in the headp not the tailp. 2000-01-29 14:18:31 +00:00
Nick Hibma
e0d607e198 Mask off the last two bits before comparing. It might just be that some
hardware might leave those bits in the wrong state.
2000-01-29 11:59:31 +00:00
Nick Hibma
fa1df741fb Tripmine for bad hardware. 2000-01-29 11:50:44 +00:00
Bill Paul
e225ecbbd4 Minor tweak: the D-Link 10/100 USB ethernet adapter is apparently using
the same design as the LinkSys adapter and needs the same special handling
to enable its PHY.
2000-01-29 02:16:47 +00:00
Nick Hibma
031ca4fb23 Correct the list of error messages. It was incomplete. 2000-01-28 13:05:26 +00:00
Nick Hibma
e1b2b4098c Regen. 2000-01-28 10:31:12 +00:00
Nick Hibma
d8634f7c3d Correct the entry for the Kodak DC290.
Submitted By:	Oliver Fromme <olli@dorifer.heim3.tu-clausthal.de>
2000-01-28 10:26:29 +00:00
Bill Paul
935e6be657 Fix a bug in the uhci driver that breaks large bulk IN transfers. The
uhci_check_intr() routine needs to be more careful about deciding when
the end of a transfer has been detected.

This allows me to remove the nasty workaround code from if_aue and if_cue.
Receive performance is now much better for these adapters (500KB/sec
vs. 350KB/sec).

Also removed unused KUE_CUTOFF define from if_kuereg.h.

Submitted by: Lennart Augustsson
Reviewed by: n_hibma
2000-01-28 02:15:31 +00:00
Nick Hibma
fd43044e52 The values for OHCI_HALTED and OHCI_TOGGLECARRY were reversed. 2000-01-28 00:03:45 +00:00
Nick Hibma
8648a2cdb9 Move the defines to the right location.
Add a DIAGNOSTIC when closing interrupt pipes.

Insert splx(s) which were left out with iso pipes (non-functional yet) and
in a DIAGNOSTIC.
2000-01-27 23:25:58 +00:00
Nick Hibma
cc16f1b9d9 Add umass.c 2000-01-27 23:19:14 +00:00
Nick Hibma
2aff98945c Properly teardown the allocated and initialised stuff when an error
occurs (OHCIwas already done for UHCI).

Get rid of the usbus variable. It is confusing.

Align uhci_pci.c and ohci_pci.c again.
2000-01-26 10:52:27 +00:00
Nick Hibma
9e2bdb4369 Don't set ivars until we checked the return value from device_add_child. 2000-01-26 10:27:12 +00:00
Nick Hibma
06ffae8586 Add comments 2000-01-26 08:46:41 +00:00
Nick Hibma
f68d3a9c5c Add usbd_clear_endpoint_toggle(pipe) function.
This is needed to implement a asynchronous callback for clear endpoint
stall, needed for the umass driver.
2000-01-25 18:40:39 +00:00
Nick Hibma
ad705781e1 Correct subroutine names in DPRINTF 2000-01-25 18:37:58 +00:00
Nick Hibma
dd3d335141 The previous fix for the USB ugen device set configuration ioctl()
has a slight error, and returns EIO way too often.

PR:		16315
Submitted by:  Louis Mamakos <louie@TransSys.COM>
2000-01-24 10:23:57 +00:00
Peter Wemm
fe8140cd15 Fix some warnings. 2000-01-23 19:27:11 +00:00
Peter Wemm
62797de451 remove "extern int cold" from SPLUSBCHECK - it causes a heap of warnings. 2000-01-23 19:26:16 +00:00
Peter Wemm
10a1190c8b Fix a warning in DIAGNOSTIC code. 2000-01-23 19:25:29 +00:00