Commit graph

2255 commits

Author SHA1 Message Date
MIHIRA Sanpei Yoshiro
9ea2290de0 fix typo (adapte -> adapter)
Submitted by:	Daan Vreeken [PA4DAN] <Danovitsch@Vitsch.net>
2004-05-04 11:36:54 +00:00
MIHIRA Sanpei Yoshiro
39b7f9fc17 Sync to 1.175 of usbdevs 2004-05-04 11:23:45 +00:00
MIHIRA Sanpei Yoshiro
5151db7f71 Fix device ID for Linksys USB 2.0 10/100 ethernet controller
(use LINKSYS2)

Submitted by:	takawata-san
2004-05-04 11:22:09 +00:00
MIHIRA Sanpei Yoshiro
10aee7e1c4 Sync to 1.174 of usbdevs 2004-05-04 09:41:08 +00:00
MIHIRA Sanpei Yoshiro
6183ba9d09 Add some device ID for atuwi USB wlan driver
(Atmel at76c503a http://vitsch.net/bsd/atuwi)

Fix ATMEL DWL-120 Wireless adapter product ID.
(I checked http://www.linux-usb.org/usb.ids)

PR:		kern/66227
Submitted by:	Daan Vreeken [PA4DAN] <Danovitsch@Vitsch.net>
2004-05-04 09:39:44 +00:00
MIHIRA Sanpei Yoshiro
d6f89a0596 Sync to 1.173 of usbdevs 2004-05-02 13:23:25 +00:00
MIHIRA Sanpei Yoshiro
a62da76023 Add support SUNTAC U-Cable type A4 (AS144L4)
http://www.sun-denshi.co.jp/scc/products/mobile/as144l4/as144l4.htm (in Japanese)

PR:		kern/66144
Submitted by:	KURASHINA Hideyuki <rushani@FreeBSD.org>
2004-05-02 13:21:28 +00:00
MIHIRA Sanpei Yoshiro
3fa30d6c9a Sync to 1.172 of usbdevs 2004-04-27 13:56:39 +00:00
MIHIRA Sanpei Yoshiro
2137eb2fa7 Add support DELL BC02 Bluetooth USB Adapter(TrueMobile 300)
PR:		kern/65777
Submitted by:	Patrick Hurrelmann <outi@bytephobia.de>
2004-04-27 13:55:26 +00:00
MIHIRA Sanpei Yoshiro
6dc98d2539 Sync to 1.171 of usbdevs 2004-04-25 11:24:40 +00:00
MIHIRA Sanpei Yoshiro
e9d1d719e0 Add support Buffalo(MELCO) USB-Key Lan Adaptor(LUA-U2-KTX)
Submitted by:	KAWAI Kenichi <kawai.kenichi@canon.co.jp>
2004-04-25 11:21:30 +00:00
David E. O'Brien
38974555bd Add support for the ADMtek AN8513 USB Ethernet adapter.
Submitted by:	taxman <taxman@freedombi.com>
2004-04-16 05:24:45 +00:00
David E. O'Brien
e5b1e74d89 Correct $FreeBSD$ style. 2004-04-16 05:22:11 +00:00
Ian Dowse
a76d86b892 Use the correct flag for mbuf allocations (M_DONTWAIT, not M_NOWAIT). 2004-04-06 19:32:00 +00:00
Julian Elischer
10030054ac Do the looping retry trick in the first operation to try to talk
with the device, not the second..

Submitted by: ticso@cicely12.cicely.de
2004-04-01 18:55:28 +00:00
Julian Elischer
c8e8e129a5 MFNetBSD Version 1.146
various probing and attaching tweeks.

Submitted by:	Rudolf Cejka <cejkar@fit.vutbr.cz>

Obtained from:	NetBSD
MFC after: 3 days
2004-03-26 18:56:58 +00:00
Julian Elischer
8737555800 Put the event notification back where it was for freeBSD, after device creation.
Since NetBSD doesn't have devfs the order for them doesn't matter..
Reverses one part of 1.60->1.61 NetBSD diff reduction.

Obtained from:	 Not NetBSD
2004-03-20 07:31:11 +00:00
Julian Elischer
9db42b4960 Diff reduction to NetBSD
Bring over sundry small fixes from NetBSD

Obtained from:	NetBSD
MFC after:	1 week
2004-03-19 08:19:52 +00:00
Julian Elischer
bb841defc0 Diff reduction to NetBSD
Trying to figure out why this only works with SOME EHCI  controllers.

Obtained from:	NetBSD
MFC after:	1 week
2004-03-19 07:14:23 +00:00
Julian Elischer
4de762365a Re-enable detach events after adding a bugfix from NetBSD
that unbreaks them.

Submitted by:	dillon
Obtained from:	NetBSD
MFC after:	2 days
2004-03-19 06:15:45 +00:00
Maxim Sobolev
273ac7b968 Regen after 1.169 of usbdevs. 2004-03-18 01:06:28 +00:00
Maxim Sobolev
7dc0ba8937 Add support for Crystalfontz CFA-632, CFA-633 and CFA-634, all of them
are based on the same USB->COM bridge, but have different product IDs.

PR:
Submitted by:
Reviewed by:
Approved by:
Obtained from:  http://www.tnpi.biz/computing/freebsd/crystalfontz.shtml
MFC after:      3 days
2004-03-18 01:02:46 +00:00
Nate Lawson
5f96beb9e0 Convert callers to the new bus_alloc_resource_any(9) API.
Submitted by:	Mark Santcroos <marks@ripe.net>
Reviewed by:	imp, dfr, bde
2004-03-17 17:50:55 +00:00
Josef Karthauser
6909422ddd Regen. 2004-03-14 21:57:35 +00:00
Josef Karthauser
295964d6a9 Add support for Handspring TREO 600.
Submitted by:	Tuc <tuc@ttsg.com>
MFC after:	1 week
2004-03-14 21:56:51 +00:00
Matthew N. Dodd
e3bbbec2ca Announce ethernet MAC addresss in ether_ifattach(). 2004-03-14 07:12:25 +00:00
Tim J. Robbins
2a5bb2de6b Add support for the Epson Perfection 1670 scanner. 2004-03-13 08:45:16 +00:00
Tim J. Robbins
7e035f1e26 Regen 2004-03-13 08:25:51 +00:00
Tim J. Robbins
1df4c96417 Add EPSON Perfection 1670 scanner. 2004-03-13 08:21:22 +00:00
MIHIRA Sanpei Yoshiro
ff89e92686 Sync to 1.166 of usbdevs 2004-03-07 05:34:36 +00:00
MIHIRA Sanpei Yoshiro
b34b7c59ee Add support 2 devices(USB-DVD-R drives)
- Logitec LDR-H443SU2
	- IO-DATA DVR-UEH8

PR:		kern/63793
Submitted by:	Ryuji MATSUMOTO <matumoto@pluto.ai.kyutech.ac.jp>
MFC after:	1 week
2004-03-07 05:33:09 +00:00
Poul-Henning Kamp
7896170112 Implement a crude but functional usbd_ratecheck() to limit the number
of "usb0: %d scheduling overruns" messages I have to contend with.
2004-03-04 20:49:03 +00:00
MIHIRA Sanpei Yoshiro
d7bd2883ec Sync to 1.165 of usbdevs 2004-03-04 07:22:30 +00:00
MIHIRA Sanpei Yoshiro
a439ea6c55 Add support SimpleTech UCF-100 USB CompactFlash reader(OnSpec Electronic, Inc.)
PR:		kern/63619
Submitted by:	Greg Rivers <gcr@sa.fedex.com>
MFC after:	1 week
2004-03-04 07:20:48 +00:00
Peter Wemm
ed1b77af8c Add new Matrix Orbital LCD panel id's so that they are recognized and
attached via uftdi->ucom.
2004-03-02 19:03:26 +00:00
Peter Wemm
ec88698685 Regen 2004-03-02 19:01:56 +00:00
Peter Wemm
2c711f0694 Add some device id's for Matrix Orbital's newer LCD panels. These use
another ftdi usb->serial bridge with different ID's.
2004-03-02 19:01:30 +00:00
Bernd Walter
7de8778318 add driver for BWCT console management serials 2004-03-01 02:34:49 +00:00
MIHIRA Sanpei Yoshiro
7f869e12d8 Sync to 1.163 of usbdevs 2004-02-28 00:15:08 +00:00
MIHIRA Sanpei Yoshiro
cdd40f3bd6 add support DM9601(DAVICOM USB to Ethernet MAC Controller with Integrated 10/100 PHY)
- Corega FEther USB-TXC

PR:		kern/62932
Submitted by:	HASHI Hiroaki <hashiz@tomba.cskk-sv.co.jp>
Obtained from:	NetBSD
2004-02-28 00:12:47 +00:00
John Baldwin
1f220d57d6 Fix a problem with the USB keyboard driver not properly handling key
rollover resulting in duplicate keypress events.

PR:		57273
PR:		63171
Submitted by:	plasma <plasma at freebsd.sinica.edu.tw>
Submitted by:	Brian Candler <B.Candler at pobox.com>
MFC after:	1 week
2004-02-23 15:36:40 +00:00
Poul-Henning Kamp
dc08ffec87 Device megapatch 4/6:
Introduce d_version field in struct cdevsw, this must always be
initialized to D_VERSION.

Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing
four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
2004-02-21 21:10:55 +00:00
Poul-Henning Kamp
8e1f1df080 Device megapatch 3/6:
Add missing D_TTY flags to various drivers.

Complete asserts that dev_t's passed to ttyread(), ttywrite(),
ttypoll() and ttykqwrite() have (d_flags & D_TTY) and a struct tty
pointer.

Make ttyread(), ttywrite(), ttypoll() and ttykqwrite() the default
cdevsw methods for D_TTY drivers and remove the explicit initializations
in various drivers cdevsw structures.
2004-02-21 20:41:11 +00:00
Poul-Henning Kamp
c9c7976f7f Device megapatch 1/6:
Free approx 86 major numbers with a mostly automatically generated patch.

A number of strategic drivers have been left behind by caution, and a few
because they still (ab)use their major number.
2004-02-21 19:42:58 +00:00
Wilko Bulte
91bdd189c6 Make uscanner recognise EPSON Perfection 3200. Tested with xsane.
PR: kern/63041
MFC after: 3 days
2004-02-19 22:05:10 +00:00
Wilko Bulte
c09eddb36d Add EPSON Perfection 3200 scanner. 2004-02-19 22:01:28 +00:00
Wilko Bulte
1e96c62e79 Add EPSON Perfection 3200 scanner 2004-02-19 21:58:23 +00:00
MIHIRA Sanpei Yoshiro
21dbb6363b MFNetBSD:
netbsd.org -> NetBSD.org(rev.1.109)
	fix typo in comment(rev.1.90)

add list of ``already merged''
2004-02-06 14:38:14 +00:00
MIHIRA Sanpei Yoshiro
e08f155b25 MFNetBSD: URL updates(rev.1.108) 2004-02-02 15:00:15 +00:00
Warner Losh
20d6d1bd21 Add the Canon N1240U to the mix. It appears to be similar to the
1220U and supported by sane

# someone should update the man page to include all the devices that
# uscanner supports.
2004-01-31 18:12:18 +00:00
Maxim Sobolev
e13f9ac88b Regen after rev. 1.161 of usbdevs. 2004-01-24 21:24:36 +00:00
Maxim Sobolev
0bc4abec87 Add support for Crystalfontz CFA-631 USB LCD (uftdi(4) driver).
For some very unclear reason this device contains a FTDI 8U232AM USB->COM
adapter, but reports different device id than original 8U232AM. At the same
time, it reports vendor id of FTDI.

Sponsored by:	Porta Software Ltd
MFC after:	2 weeks
2004-01-24 21:23:12 +00:00
MIHIRA Sanpei Yoshiro
7d825ee7ff Sync to 1.160 of usbdevs 2004-01-24 07:15:23 +00:00
MIHIRA Sanpei Yoshiro
21c5b9f9e5 Add Support
- 2nd type of GL641USB USB-IDE bridge	[1]
	- Plextor Plexwriter 40/12/40U		[2]

PR:		kern/61671	[1]
		kern/61803	[2]
Submitted by:	Ralf Wenk <RZ-FreeBSD0401@fh-karlsruhe.de>	[1]
		Feisal Mohammed <feisal@uwi.tt>			[2]
MFC after:	1 week
2004-01-24 07:14:07 +00:00
MIHIRA Sanpei Yoshiro
146dec80e1 Sync to 1.159 of usbdevs 2004-01-19 12:53:23 +00:00
MIHIRA Sanpei Yoshiro
cf73864749 Add support IO-data DVD Multi-plus unit iU-CD2
PR:		kern/61578
Submitted by:	Masaharu FUJITA <m@fjts.org>
MFC after:	1 week
2004-01-19 12:51:40 +00:00
MIHIRA Sanpei Yoshiro
edac5229ae Empty vendor string overrides knowndevs
ubd_devinfo_vp() is getting an empty string from its  usbd_get_string()
call on the vendor, instead of NULL.  This means usb_knowndevs in not
consulted.

Add lines between grabbing those char *s and the USBVERBOSE ifdef to
set vendor to NULL if it is the empty string (similarly for product).

This causes vendor to be filled-out, although the product name read
overrules usb_knowndevs (this appears to be a conscience decision made
by the NetBSD folks):

PR:		kern/56097
Submitted by:	Hal Burch <hburch@lumeta.com>
MFC after:	1 week
2004-01-18 12:46:19 +00:00
MIHIRA Sanpei Yoshiro
dd4350b4a7 Pay attention to the timeout value passed down by the upper layer.
(NetBSD src/sys/dev/usb/umass.c rev.1.67)

PR:		kern/58649 (Problem 1)
Submitted by:	SAKIYAMA Nobuo <sakichan@sakichan.org>
MFC after:	1 week
2004-01-18 09:19:53 +00:00
MIHIRA Sanpei Yoshiro
3121d08f99 Sync to 1.158 of usbdevs 2004-01-18 09:04:57 +00:00
MIHIRA Sanpei Yoshiro
a4a37c3010 add device id for PANASONIC KXLRW32AN(USB CD-R/RW,not yet support) 2004-01-18 08:02:34 +00:00
MIHIRA Sanpei Yoshiro
203d1f9b68 Sync to 1.157 of usbdevs 2004-01-16 15:31:20 +00:00
MIHIRA Sanpei Yoshiro
24ce22f495 Add support SUNTAC U-Cable type A3(AS64LX)
Submitted by:	TAKAHASHI Daisuke <takaha@mue.biglobe.ne.jp> [FreeBSD-users-jp 72475]
		and MIZUTANI Masaki <m-saki@rr.iij4u.or.jp>
MFC after:	1 week
2004-01-16 15:29:27 +00:00
Brian Feldman
c5fe6793bd Add the Qualcomm CDMA Technologies MSM phone (umodem) device.
Submitted by: Sean Welch <welchsm@earthlink.net>
MFC after: 1 week
2004-01-13 21:42:32 +00:00
Takeshi Shibagaki
7636aa79ab Fix a suspend/resume issue. My Compaq N400c works fine. 2004-01-12 14:18:55 +00:00
MIHIRA Sanpei Yoshiro
b27ef31d1b I added unwanted character. I cleaned 2004-01-12 12:47:36 +00:00
MIHIRA Sanpei Yoshiro
c2f1dd4d71 Sync to 1.154 of usbdevs 2004-01-05 09:53:19 +00:00
MIHIRA Sanpei Yoshiro
15e718175b fix CANOSCAN -> CanoScan
Submitted by:	 MIYAO Akio <miyao@affrc.go.jp>
2004-01-05 09:50:33 +00:00
MIHIRA Sanpei Yoshiro
ba94ce12a7 Sync to 1.153 of usbdevs 2004-01-03 23:06:08 +00:00
MIHIRA Sanpei Yoshiro
a77a8c3ddd Add some ids(not yet support)
[1] EMS PSX Gun controller converter
	[2] CSR USB Bluetooth Device

PR:	kern/60378	[1]
Submitted by:	Samuel Tardieu <sam@rfc1149.net>	[1]
		<jps@scxnet.de>				[2]
2004-01-03 23:04:31 +00:00
MIHIRA Sanpei Yoshiro
6ce0b433a1 Add support Sony CLIE PEG-S500C(Palm OS 3.5)
Submitted by:	Hiroaki Satoh <hsato@iwate-u.ac.jp> [FreeBSD-users-jp 76073]
2004-01-03 15:30:11 +00:00
MIHIRA Sanpei Yoshiro
d9494ca3c1 Sync to 1.152 of usbdevs 2004-01-03 15:03:09 +00:00
MIHIRA Sanpei Yoshiro
31b073a02e Add support SUN TYPE 6 USB KEYBOARD
Submitted by:	<schley@cf-wnd.de>
2004-01-03 15:01:04 +00:00
MIHIRA Sanpei Yoshiro
b124b5e8b3 Fix Scanlogic SL11R usb-ide protocol and quirks
PR:		kern/60389
Submitted by:	Sang Woo Shim <ssw@swoo.org>
2004-01-03 13:52:44 +00:00
MIHIRA Sanpei Yoshiro
7cb5c8a6cb Add the MMC commands to umass_atapi_transform. It seems to work
unmodified for ATAPI type devices with ports/sysutils/cdrtools.
(But we need timeout routine which was in kern/58649 for fixate, I think.)

PR:		kern/58649
Submitted by:	SAKIYAMA Nobuo <sakichan@sakichan.org>
2004-01-03 13:30:19 +00:00
MIHIRA Sanpei Yoshiro
7e277e1fcb Sync to 1.151 of usbdevs 2004-01-03 12:54:04 +00:00
MIHIRA Sanpei Yoshiro
bab0ca7f3a Add support
- Canon USB Scanner N676U	[1]
	- Canon USB Scanner N1220U	[2]

PR:		misc/40280		[1]

Submitted by:	[1] Yasue Koichi / StarRing <starring@fscn.ne.jp>
		[2] MIYAO Akio <miyao@affrc.go.jp> [FreeBSD-users-jp 74516]
2004-01-03 12:51:59 +00:00
Warner Losh
65a690ef74 It appears that we don't need sys/vnode.h, which is a layering violation... 2004-01-02 05:16:01 +00:00
Maksim Yevmenkin
d82a1f81c4 Add few new USB vendor/product IDs for Bluetooth USB devices.
Regen.

Reviewed by:	imp (mentor)
Approved by:	imp (mentor)
2003-12-30 22:10:29 +00:00
MIHIRA Sanpei Yoshiro
6724255495 resort device list 2003-12-22 19:58:27 +00:00
Takeshi Shibagaki
8eabf88dd3 Fixed incomplete initialization in some ohci controllers with
broken BIOS. Separate ohci_controller_init() from ohci_init(),
and call ohci_controller_init() at resume process once more.

Discussed on [bsd-nomads:16737] - [bsd-nomads:16746].

Submitted by Hiroyuki Aizu <eyes@navi.org> [bsd-nomads:16741]
2003-12-22 15:40:10 +00:00
Takeshi Shibagaki
e394a3e85d Enable support for DEVICE_SUSPEND, DEVICE_RESUME and DEVICE_SHUTDOWN
methods for USB devices in the same way of uhci driver. But this change
is not complete because some ohci controlers are not initialized completely.
So "kernel: usb0: 1 scheduling overruns" interrupt will generate many times.

This change will be same one in PR kern/60099.

Discussed on [bsd-nomads:16737] - [bsd-nomads:16746].
2003-12-22 15:18:46 +00:00
MIHIRA Sanpei Yoshiro
304ca9a041 Sync to 1.149 of usbdevs 2003-12-19 12:21:11 +00:00
MIHIRA Sanpei Yoshiro
b5fb3df199 Add support Panasonic KXL-CB35AN(DVD-ROM & CD-R/RW)
Submitted by:	OISHI Masakuni <yamasa@bsdhouse.org> [FreeBSD-users-jp 77672]
2003-12-19 12:19:12 +00:00
MIHIRA Sanpei Yoshiro
92e5b74322 Fix PANASONIC KXLCB20AN Protocol.
Submitted by:	OISHI Masakuni <yamasa@bsdhouse.org> [FreeBSD-users-jp 77672]
2003-12-18 19:59:32 +00:00
MIHIRA Sanpei Yoshiro
18837091e9 Sync to 1.148 of usbdevs 2003-12-18 08:20:02 +00:00
MIHIRA Sanpei Yoshiro
1e295bfbe0 Add support IBM 256MB USB Drive(MSYSTEM DiskOnKey2)
PR:		kern/57050
Submitted by:	Brian J. McGovern <mcgovern@beta.com>
2003-12-18 08:15:10 +00:00
MIHIRA Sanpei Yoshiro
fd25f0d539 Sync to 1.147 of usbdevs 2003-12-18 05:55:52 +00:00
MIHIRA Sanpei Yoshiro
e95ba214a5 Add Support
- PNY Attache Flash Drive  [1]
	- minolta 5400 USB scanner [2]

PR:		kern/58045	[1]
		kern/56496	[2]

Submitted by:	[1] Rick C. Petty <rick@kiwi-computer.com>
		[2] Mark Diekhans <markd@kermodei.com>
2003-12-18 05:47:11 +00:00
Peter Wemm
f91e55b1e9 Recognize the nVidia ehci device id's in addition to the rest. 2003-12-17 17:15:41 +00:00
Peter Wemm
6d5ebb7e55 Recognize the nForce3 id's. This is mostly cosmetic and affects
the usbdevs command.
2003-12-17 17:15:07 +00:00
MIHIRA Sanpei Yoshiro
e15d48d945 Regen. 2003-12-17 14:23:55 +00:00
MIHIRA Sanpei Yoshiro
3e4f6b840b Add support HP hn210e usb ethernet
PR:		kern/60156
Submitted by:	M. L. Dodson <bdodson@scms.utmb.edu>
2003-12-17 14:23:07 +00:00
MIHIRA Sanpei Yoshiro
bb434012ca Regen. 2003-12-17 13:58:31 +00:00
MIHIRA Sanpei Yoshiro
536c542aae Add support
[1] Logitec LDR-H443U2 DVD-RAM/-R/+R/-RW/+RW Drive
	[2] Panasonic KXL-CB20AN Portable DVD-ROM/CD-R/RW

Submitted by:	[1] Taoka Fumiyoshi <fmysh@iijmio-mail.jp> [bsd-usb:727]
		[2] SHIMIZU Kazuhiro <kazuhiro@shimizu.homeip.net> [FreeBSD-users-jp 77608]
2003-12-17 13:48:58 +00:00
Bruce M Simpson
b6679af8f0 Add device IDs for the Bluetake BW002, yet another Atmel AT76C503A
variant. These are found in a flavour of MiniITX board which I'm
playing with right now.
2003-12-16 17:54:41 +00:00
David E. O'Brien
a55a017f42 Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones.
Requested by:	bde,imp
2003-12-08 07:54:15 +00:00
Warner Losh
347934fa63 Sometimes cardbus attachments don't attach, so while we track down
this problem put these lines back in.  While they should be
unnecessary, they appear to be sometimes necessary.

Reviewed in concept: dfr
Approved by: re (scottl@)
2003-11-28 05:28:29 +00:00
Ian Dowse
5bc9164667 Write the correct value to `td_be' for the second and further
transfer descriptors when a large request needs to be split into
more than one 8k chunk. The bug was that the calculation did not
take into account the offset of the chunk within the overall request.
This is reported to fix crashes and data corruption on ohci
controllers.

Submitted by:	green
Approved by:	re
2003-11-25 02:23:29 +00:00
Shunsuke Akiyama
24ad0a6e4e Fix comment typo.
Noticed by:	simon
2003-11-16 13:13:16 +00:00
Shunsuke Akiyama
565f53bbaa Make interrupt pipe interval time configurable.
- Add kernel options: {UPLCOM,UVSCOM}_INTR_INTERVAL
- Add sysctl variables: 'hw.usb.{uplcom,uvscom}.interval'

MFC after:	1 week
2003-11-16 12:26:10 +00:00
Shunsuke Akiyama
6702d85006 Apply some fixups in the driver_t's.
MFC after:	1 week
2003-11-16 12:13:39 +00:00
Shunsuke Akiyama
a6c22ecd4d Regen. 2003-11-16 12:07:01 +00:00
Shunsuke Akiyama
74745f66de Add vendor IDs, and device IDs supported by uplcom(4).
- SOURCENEXT Corp. KeikaiDenwa 8 [1]
- SOUECENEXT Corp. KeikaiDenwa 8 with charger [2]
- HAL Corp. Crossam2+USB [3]

Submitted by:	[1] Ryo ONODERA <ryo3327@netscape.net>
		[2] Masaki Mizutani <m-saki@rr.iij4u.or.jp>
		[3] FUJISHIMA Satsuki <sf@FreeBSD.org>
MFC after:	1 week
2003-11-16 12:05:11 +00:00
Shunsuke Akiyama
2fbe4b5149 Add missing ioctl functions.
MFC after:	1 week
2003-11-16 11:58:21 +00:00
Johan Karlsson
33a3109794 Remove duplicate
#include <sys/cdefs.h>
__FBSDID(...);

Leave the one matching the other files in this directory.
2003-11-14 11:09:45 +00:00
Warner Losh
01f5b32809 Despam the const poisoning
Despam the u_->u change
2003-11-14 06:02:51 +00:00
David E. O'Brien
aa8255025a Try to create some sort of consistency in how the routings to find the
multicast hash are written.  There are still two distinct algorithms used,
and there actually isn't any reason each driver should have its own copy
of this function as they could all share one copy of it (if it grew an
additional argument).
2003-11-13 20:55:53 +00:00
David E. O'Brien
3b1c7064a3 It is obivous this started out as a copy of a Bill Paul driver so he has
a copyright on this driver as well.  Bill uses a 4-clause BSDL, so we need
to add a complete copy of Bill's copyright.
2003-11-13 19:54:37 +00:00
Josef Karthauser
447f52c8b4 Remove a gremlin so that this code compiles under -stable without
a "syntax error before `struct'" error.
2003-11-12 01:40:11 +00:00
Josef Karthauser
7a4a3d9f69 MFNetBSD:
date: 2003/10/18 04:50:35;  author: simonb
    Remove assigned-to but otherwise unused variables.
    Remove unreachable break after return statements.
2003-11-10 00:20:52 +00:00
Josef Karthauser
f395d6798d MFNetBSD:
revision 1.142
    date: 2003/10/11 03:04:26;  author: toshii
    Fix a done list handling bug which exhibits under high shared
    interrupt rate and bus traffic.  As the interrupt register is
    read after checking hcca_done_head, there was a small chance
    of dropping a done list.  Ignore OHCI_WDH interrupt bit if
    hcca_done_head is zero so that OHCI_WDH is processed later.
2003-11-10 00:16:36 +00:00
Josef Karthauser
9c96cea538 MFNetBSD:
revision 1.141
    date: 2003/09/10 20:08:29;  author: mycroft;
    Update actlen even in the case where a TD returns an error --
    this is critical for the umass bulk-only STALL case.
2003-11-10 00:12:39 +00:00
Josef Karthauser
238894c5ee MFNetBSD:
revision 1.176
    date: 2003/11/04 19:11:21;  author: mycroft;
    Ignore a CRCTO error on a SETUP transaction in combination with
    STALLED or NAK.  This fixes problems with the GL641.
2003-11-10 00:08:41 +00:00
Josef Karthauser
97287bdb44 MFNetBSD:
date: 2003/09/12 16:18:08;  author: mycroft;
    Tweak a debugging printf().
2003-11-09 23:59:53 +00:00
Josef Karthauser
fe5e683b90 Revise the NetBSD revision control strings. 2003-11-09 23:56:19 +00:00
Josef Karthauser
35b64e1272 MFNetBSD:
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
  this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
2003-11-09 23:54:21 +00:00
Seigo Tanimura
512824f8f7 - Implement selwakeuppri() which allows raising the priority of a
thread being waken up.  The thread waken up can run at a priority as
  high as after tsleep().

- Replace selwakeup()s with selwakeuppri()s and pass appropriate
  priorities.

- Add cv_broadcastpri() which raises the priority of the broadcast
  threads.  Used by selwakeuppri() if collision occurs.

Not objected in:	-arch, -current
2003-11-09 09:17:26 +00:00
Sam Leffler
7902224c6b o add a flags parameter to netisr_register that is used to specify
whether or not the isr needs to hold Giant when running; Giant-less
  operation is also controlled by the setting of debug_mpsafenet
o mark all netisr's except NETISR_IP as needing Giant
o add a GIANT_REQUIRED assertion to the top of netisr's that need Giant
o pickup Giant (when debug_mpsafenet is 1) inside ip_input before
  calling up with a packet
o change netisr handling so swi_net runs w/o Giant; instead we grab
  Giant before invoking handlers based on whether the handler needs Giant
o change netisr handling so that netisr's that are marked MPSAFE may
  have multiple instances active at a time
o add netisr statistics for packets dropped because the isr is inactive

Supported by:	FreeBSD Foundation
2003-11-08 22:28:40 +00:00
Josef Karthauser
68ded8480c I've had a couple of reports that the Sony Clie_40 doesn't need the
PALM_4 initialisation hack.  I've not confirmed it myself, but
seeing as we already don't use it for the Sony Clie_41, let's drop
it from the Clie_40 also and see what happens.

(Question: What about the Clie_S360 and Clie_NX60 devices?  Do we
 need to drop Palm4 from those as well?  Possibly, but I've not had
 any reports about those so I don't know.)

PR:		kern/56575
MFC after:	3 days
2003-11-08 11:23:07 +00:00
Doug Rabson
0be389f3ca Remove explicit cardbus attachments from drivers where this is identical
to the pci attachment. Cardbus is a derived class of pci so all pci
drivers are automatically available for matching against cardbus devices.

Reviewed by: imp
2003-11-03 09:22:18 +00:00
Brooks Davis
9bf40ede4a Replace the if_name and if_unit members of struct ifnet with new members
if_xname, if_dname, and if_dunit. if_xname is the name of the interface
and if_dname/unit are the driver name and instance.

This change paves the way for interface renaming and enhanced pseudo
device creation and configuration symantics.

Approved By:	re (in principle)
Reviewed By:	njl, imp
Tested On:	i386, amd64, sparc64
Obtained From:	NetBSD (if_xname)
2003-10-31 18:32:15 +00:00
Warner Losh
97bf3cc2cc Const poison the crc calcuation routines so const data can be sent to
it.
2003-10-23 16:55:27 +00:00
Bernd Walter
8b43efbd44 Cache dev_t values in the right structure.
Tested by:	Jay Cornwall <jay@evilrealms.net>
2003-10-12 15:51:40 +00:00
Bruce M Simpson
c3f4241601 Add the Intersil Prism2/Atmel device. These particular devices are strange
beasts which are reported to exist in both Atmel and Prism2 flavours. In
particular, Itronix branded laptops have the Atmel part with an Intersil
radio.

Obtained from:	NetBSD
2003-10-10 21:01:00 +00:00
Bruce M Simpson
d7a65264fd Add the Actiontec 801UAT1/HWU01170-01 802.11b USB Wireless Ethernet adapter. 2003-10-10 16:04:21 +00:00
Warner Losh
3bb2d995f0 sync to 1.140 2003-10-05 18:59:09 +00:00
Warner Losh
bb0cd662ca 2662W-AR Wireless Adapter
Submitted by: Stuart Walsh <stu@ipng.org.uk>
2003-10-05 18:58:37 +00:00
Bruce M Simpson
ea5c2ab712 Correct a typo on line 552 of revision 1.92 which was breaking GENERIC:-
_FreeBSD_version should be __FreeBSD_version.
2003-10-05 06:06:09 +00:00
Josef Karthauser
272487f507 Make it easier to run this code on RELENG_4.
Submitted by:	luoqi
2003-10-04 22:13:21 +00:00
Josef Karthauser
cd719b55bd Make it easier to run this code on RELENG_4.
Submitted by:	luoqi
2003-10-04 21:41:01 +00:00
Bernd Walter
1313b38492 Fix indention
Noticed by:	johan
2003-10-01 14:49:53 +00:00
Bernd Walter
a244477908 Don't call makedev().
Cache result of make_dev() and use it when calling destroy_dev().
2003-10-01 13:53:51 +00:00
Poul-Henning Kamp
ed692400eb I don't know from where the notion that device driver should or
even could call VOP_REVOKE() on vnodes associated with its dev_t's
has originated, but it stops right here.

If there are things people belive destroy_dev() needs to learn how to
do, please tell me about it, preferably with a reproducible test case.

Include <sys/uio.h> in bluetooth code rather than rely on <sys/vnode.h>
to do so.

The fact that some of the USB code needs to include <sys/vnode.h>
still disturbs me greatly, but I do not have time to chase that.
2003-09-28 20:48:13 +00:00
John Birrell
4e7b8fcec4 Add VidzMedia MonsterTV (MPEG video/TV capture box). 2003-09-24 02:02:41 +00:00
Stefan Eßer
cf3153c9c9 Add vendor Samsung and device Samsung ML-6060. 2003-09-20 20:01:08 +00:00
Gary Jennejohn
eb3c983360 In umass_bbb_get_max_lun() move maxlun to before the DPRINTF so that
the actual number of LUNs is printed.
2003-09-20 08:18:16 +00:00
John Birrell
5ec40b82ff Add HP 4400C, Belkin F5U208 VideoBusII 2003-09-19 22:42:51 +00:00
David E. O'Brien
d69e50be45 Support the Hawking Technology's UF100 Pegasus II 10/100 USB Ethernet. 2003-09-18 15:41:07 +00:00
David E. O'Brien
0204ca844f Recognize the OHCI USB device on Opteron-based nForce3 motherboards
(such as the Asus SK8N).
2003-09-03 07:40:17 +00:00
Bernd Walter
c4bc00e509 Try a port reset if initial contact to a device failed.
tested by:	Lee Damon <nomad@castle.org>
2003-09-01 07:47:42 +00:00
John-Mark Gurney
c5b3755306 eliminate casts from the DMAADDR macro. This depends upon bus_addr_t being
a type that you can do arithmetic with.  This eliminates many warnings when
compiling with PAE.

Various by:	scottl
2003-09-01 01:07:24 +00:00
Josef Karthauser
3af4b6b4d7 Implement the last commit properly. 2003-08-25 22:10:52 +00:00
Josef Karthauser
219b479f9f Fix the cdevsw compatibility for -stable. 2003-08-25 22:01:06 +00:00
David E. O'Brien
aad970f1fe Use __FBSDID().
Also some minor style cleanups.
2003-08-24 17:55:58 +00:00
Warner Losh
90cf0136c4 Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 07:08:17 +00:00
Nate Lawson
f6681bd6f0 SHUTTLE_INIT quirk for EXATELECOM i-Bead mp3 player 2003-08-22 05:54:57 +00:00
Nate Lawson
e1dca0e939 Add quirks for the EXATELECOM i-Bead mp3 player.
PR:		kern/51675
Submitted by:	Nicolas Jombart <ecu@ipv42.net>
MFC after:	3 days
2003-08-22 05:43:30 +00:00
Josef Karthauser
338a591019 Crank down UVISORBUFSIZE from 1024 to 64 to avoid a problem where
the Palm device and the USB host controller deadlock. The USB host
controller is expecting an early-end-of-transmission packet with 0
data, and the Palm doesn't send one because it's already communicated
the amount of data it's going to send in a header (which ucom/uvisor
are oblivious to). This is the problem that has been known on the
pilot-link lists as the "[Free]BSD USB problem", but not understood.

Submitted by:	Nathan J. Williams <nathanw@MIT.EDU>
2003-08-14 00:15:23 +00:00
Nate Lawson
2b2187130e Remove the 6-10 byte translation from UFI and ATAPI command sets. It is
no longer needed now that we have PIM_NO_6_BYTE.

Requested by:	jhb
2003-08-06 17:19:06 +00:00
John-Mark Gurney
44de8a989d fix another bus_dma leak due to not having a size param for our bus_dma
allocation function.  With this patch, it prevents continous growth of
the devbuf memory pool.

Tested with ssh <host> dd of=/dev/null < /dev/zero and vmstat -m | grep devbuf
2003-07-29 05:07:37 +00:00
Nate Lawson
1deac58179 Add a PATH_INQ flag, PIM_NO_6_BYTE, which indicates the SIM never wishes to
receive 6 byte commands.  Add a check for this flag to da(4) and cd(4) so
that they honor it.  This is a quick workaround for many devices (especially
USB) that require da(4) quirks to operate.  The more complete approach is
to finish the new transport code which will be aware of the SCSI version a
transport implements.

MFC after:	1 day
2003-07-28 06:15:59 +00:00
Peter Wemm
899c48a1cb Fix a 64 bit bug lost in the inline warning noise. sizeof is not always
an int.  Do not printf() it as though it were.
2003-07-22 06:58:04 +00:00
John-Mark Gurney
9e17948f72 override the tag. usb_block_allocmem allocates a new tag, which when we
go looking for free fragments won't match.  Since we never free this, we
can "throw away" the tag.  This is very dirty, and needs to be reimplemented
properly, but fixes performance problems with uhci.

Also assert that when we overlay a structure on some space, that the
space is large enough for the structure.
2003-07-21 02:41:01 +00:00
John-Mark Gurney
587757b066 seems like i386 && DIAGNOSTIC needs sys/proc.h
Noticed by:	tinderbox
2003-07-16 08:15:02 +00:00
John-Mark Gurney
fb393615ed add missing machine/bus.h headers that are now necessary because of the
bus_dma addition.
2003-07-16 02:20:14 +00:00
John-Mark Gurney
57499a32b1 make allocation of the necessary data structures most efficent by using
a full page instead of only part of a page.

Reviewed by:	joe
2003-07-15 23:19:49 +00:00
John-Mark Gurney
86231a1846 fix support for umass and related devices on ohci. This is a partial
sync of the NetBSD code.

fix isochornous support for ohci.  This gets webcams like my OV511
working on sparc64.

PR:		kern/52589
Submitted by:	Bruce R. Montague (isochonous support)
Reviewed by:	joe among others
2003-07-15 23:12:54 +00:00
John-Mark Gurney
45dd937507 make usb bus_dma aware.
Reviewed by:	joe among others
2003-07-15 22:42:37 +00:00
John-Mark Gurney
9f4b5407ca sync w/ NetBSD
part of:
revision 1.101
date: 2002/06/01 23:51:04;  author: lukem;  state: Exp;  lines: +5 -7
2003-07-15 22:19:00 +00:00
John-Mark Gurney
e65f8c784d minor white space fix up
initalize itds
remove extra htole32.  Things don't work to well when you do
htole32(htole32(var))
2003-07-15 22:14:22 +00:00
Josef Karthauser
094fb32de7 Update to reflect the NetBSD patches that are already included. 2003-07-14 20:31:03 +00:00
Alexander Kabaev
fc71f32c53 Use swi to process port status changes. Calling ucom layer directly
from interrupt handler panics the machine.
2003-07-14 20:26:37 +00:00
Josef Karthauser
8695068f27 Make note that we already have these NetBSD patches. 2003-07-14 20:19:21 +00:00
Josef Karthauser
5c8ea6280c Make note of some NetBSD patches that we already have. 2003-07-14 20:11:52 +00:00
Josef Karthauser
f16f7f274c Make a note of some patches from NetBSD that we already have. 2003-07-14 20:08:21 +00:00
Josef Karthauser
b214af6eba Backout the last commit!
MFNetBSD: revision 1.137
    date: 2003/01/20 07:12:13;  author: simonb;
    Grrr.  So much for my ability to use grep(1) effectively.  Pointed out
    by Stephen Degler in private mail.
2003-07-14 19:56:32 +00:00
Josef Karthauser
563a940856 MFNetBSD: revision 1.136
date: 2003/01/20 05:30:09;  author: simonb;
    The Double-Semi-Colon Police.
2003-07-14 19:54:21 +00:00
Josef Karthauser
a237c6ec2e MFNetBSD: revision 1.135
date: 2002/12/10 14:07:37;  author: toshii;  state: Exp;  lines: +6 -6
    Add a couple of le32toh which were missing in the previous.
    Pointed out by SOMEYA Yoshihiko.
2003-07-14 19:51:53 +00:00
Josef Karthauser
e35285ad59 MFNetBSD: revision 1.134
date: 2002/12/07 07:33:20;  author: toshii;  state: Exp;  lines: +50 -29
    Update xfer->frlengths for input isoc transfer.  Based on patches from
    SOMEYA Yoshihiko.
    Also fix error handling for isoc transfer somewhat; usb_transfer_complete
    shouldn't be called for more than once.
2003-07-14 19:50:06 +00:00
Josef Karthauser
0ab3fe8a80 MFNetBSD: revision 1.133
date: 2002/12/07 07:14:28;  author: toshii;
    Fix several nits.  Mostly from SOMEYA Yoshihiko.
    - Call usbd_transfer_complete at splusb.
    - Fix a botched for loop in ohci_rem_ed.
    - In ohci_close_pipe, wait 1ms after removing an ED to avoid possible race
     condition.

The splusb change is non-functional on FreeBSD.
The botched loop and race condition changes came from us.

This patch is non-functional.
2003-07-14 19:47:59 +00:00
Josef Karthauser
4999f44917 MFNetBSD: revision 1.132
date: 2002/12/07 06:52:11;  author: toshii;
    Remove junk at the end of a DPRINTF.  From SOMEYA Yoshihiko.
2003-07-14 19:42:05 +00:00
Josef Karthauser
99112dddf2 MFNetBSD: revision 1.129
date: 2002/09/29 20:58:25;  author: augustss;
    Add some spl calls to protect critical regions. From kern/18440,
    Takeshi Nakayama.

(No functional change on FreeBSD).
2003-07-14 19:39:16 +00:00
Josef Karthauser
69e07da0ff Regen. 2003-07-14 19:30:49 +00:00
Josef Karthauser
83c1347694 MFNetBSD: Update the list of devices that can attach to uvisor (untested). 2003-07-14 19:30:01 +00:00
Josef Karthauser
771b291ad0 MFNetBSD:
date: 2003/05/13 04:41:59;  author: gson;
    Function names printed in debug messages did not always match the
    actual name of the function.
2003-07-14 18:56:33 +00:00
Josef Karthauser
d0eba3629e MFNetBSD: revision 1.172
date: 2003/02/23 04:19:26;  author: simonb;
    Remove unreachable break after return.
2003-07-14 18:52:12 +00:00
Josef Karthauser
b6cc3bf979 MFNetBSD: revision 1.170
date: 2003/02/19 01:35:04;  author: augustss;
    Bail out early in isoc_done if the ii is not on the interrupt list.
2003-07-14 18:49:18 +00:00
Josef Karthauser
40d6041c4d MFNetBSD: rev 1.169
date: 2003/02/16 23:15:28;  author: augustss;
    Don't take xfers off the interrupt list if they are not on it yet.
2003-07-14 18:47:27 +00:00
Josef Karthauser
40facef91c Make a note of which patches we already have incorporated from NetBSD. 2003-07-14 18:42:58 +00:00
Josef Karthauser
4dbc7c2826 Merge up-to-date with NetBSD. No functional changes. 2003-07-14 18:37:47 +00:00
Josef Karthauser
8c14b22d09 MFNetBSD:
date: 2002/10/01 01:25:25;  author: thorpej;
    Use CFATTACH_DECL().

Not a functional change on FreeBSD.
2003-07-14 18:33:55 +00:00
Josef Karthauser
d4322278fa MFNetBSD:
date: 2002/09/23 05:51:20;  author: simonb;
    Remove breaks after returns, unreachable returns and returns after
    returns(!).
2003-07-14 18:25:47 +00:00
Josef Karthauser
222841679f MFNetBSD:
date: 2003/02/08 03:32:51;  author: ichiro;
    change URL pointers of USB[1,2] specification
2003-07-14 18:14:15 +00:00
Josef Karthauser
e36ee542ba MFNetBSD: rev 1.166
date: 2002/12/31 02:21:31;  author: dsainty;
    Be somewhat more persuasive about enabling the port on a port reset.
    USB protocol dictates that the port enable must be implied by the port
    reset. To implement this on (at least) the VIA VT83C572 this means we
    need to wait around tweaking the chip state until the port actually
    transitions to enabled (or the device goes away).  Likely fixes
    kern/11018.
2003-07-14 18:07:54 +00:00
Josef Karthauser
bddc8bd3e9 MFNetBSD: 1.165
date: 2002/12/31 02:04:49;  author: dsainty;
    CONSTCOND away some lint warnings
2003-07-14 17:58:26 +00:00
Josef Karthauser
753bb32e49 As defined by USB Specification Rev 2.0 (in section 11.24.2.5), to
get a Hub descriptor, we have to set req.wValue to "Descriptor Type
and Descriptor Index". In this case, Descriptor Type is 0x29
(UDESC_HUB), Descriptor Index should be 0.

If I don't do a check (dev->address > 1 ... ), root hub fails.

A new Cytronix 4-port USB 2.0 Hub (Cypress CY7C65640 chip) now works
after this patch.

Submitted by:	Alexander Pohoyda <alexander.pohoyda@gmx.net>
MFC after:	7 days
2003-07-14 17:46:27 +00:00
Josef Karthauser
4fbf101dc9 Regen. 2003-07-14 17:15:29 +00:00
Josef Karthauser
aaa3471f0b Add an entry for the Cypress slim hub.
Submitted by:	Alexander Pohoyda <alexander.pohoyda@gmx.net>
2003-07-14 17:14:04 +00:00
Josef Karthauser
4608d6b170 Regen. 2003-07-11 21:17:53 +00:00
Josef Karthauser
02fe91185f Added a few more entries.
Submitted by:	Lars Eggert <larse@ISI.EDU>
2003-07-11 21:17:29 +00:00
Bill Paul
e0b2dc9329 Regenerate. 2003-07-10 18:43:39 +00:00
Bill Paul
e7b9ab3aaa Add support for a bunch of Microsoft networking products:
- MN-110 10/100 USB ethernet (ADMtek Pegasus II, if_aue)
- MN-120 10/100 cardbus (ADMtek Centaur-C, if_dc)
- MN-130 10/100 PCI (ADMtek Centaur-P, if_dc)

Also update dc(4) man page to mention support for MN-120 and MN-130.
2003-07-10 18:43:17 +00:00
Andrey A. Chernov
171f8dccf7 Add ID for UMAX Astra 2100U 2003-07-09 17:05:59 +00:00
Bill Paul
39e674767e Add a workaround for the USB_PRODUCT_MCT_SITECOM_USB232 device: limit
the bulk out buffer size to 16 bytes. The bulk out endpoint descriptor
reports 32 bytes, but if you use this value, data will get dropped.

Reviewed/approved by: scottl
2003-07-07 18:01:23 +00:00
John-Mark Gurney
58ac352f32 remove \n at end of panic strings. They are added by the call to panic.
This brings us more in line with Net/OpenBSD

Obtained from:	Net/OpenBSD
2003-07-04 23:11:13 +00:00
John-Mark Gurney
c97325b0c8 WARNING: white space diff
This code reduces the number of trailing white space to be more in line
w/ NetBSD.  I don't regenerate usbdevs, saving that for when it really
changes.
2003-07-04 01:50:39 +00:00
Josef Karthauser
5d37567d73 Regen. 2003-07-01 12:17:18 +00:00
Josef Karthauser
4f1e4d55e7 USB scanner support for Mustek BearPaw scanner.
Submitted by:	netchild
2003-07-01 12:16:46 +00:00
Josef Karthauser
6b38550512 Regen. 2003-07-01 08:46:55 +00:00
Josef Karthauser
702966f238 Support the Epson GT-9300UF usb scanner.
PR:		kern/53929
2003-07-01 08:46:01 +00:00
Scott Long
871f5c8c2d Add 'umct', a driver for MCT Corp. and Belkin F5U109 USB-Serial adapters.
This is based on the ubsa driver by Alexander Kabaev along with documentation
gleaned from the Linux mct_u232 driver.  I've had this driver sitting in my
tree for almost 6 months, and several others have found it useful.
2003-06-28 05:45:55 +00:00
Josef Karthauser
3305fa5359 Regen. 2003-06-25 22:56:13 +00:00
Josef Karthauser
59f2899384 Added some new devices and made slight changes to some existing ones.
Submitted by:	Andre Guibert de Bruet <andy@siliconlandmark.com>
2003-06-25 22:50:57 +00:00
Matthew N. Dodd
17d7127c64 Set pointers to NULL after free() to prevent multiple free().
PR:		 kern/48808
Submitted by:	 Eugene Grosbein <eugen@grosbein.pp.ru>
2003-06-25 19:58:38 +00:00
Bill Paul
20ea6dd580 In the device attach routine, don't depend on uaa->iface being
populated. Apparently, if you use an ehci controller, it's not.
Use usbd_device2interface_handle() to retrieve the interface handle.
NOTE: uaa->iface is populated in the probe routine, so I suspect the
fact that it's NULL in the attach routine is a bug in the ehci driver.

Also, don't depend on the PHY addresses returned by the AXE_CMD_READ_PHYID
command. The address is correct for my LinkSys NIC, but a user has
reported that with a D-Link NIC, the PHYID command returns address 4
while the attached Broadcom PHY is in fact strapped for address 0.
Instead, latch onto the first PHY address that returns valid data
during a readreg operation.
2003-06-15 21:45:43 +00:00
Ian Dowse
688514ced0 If the device goes away during ulpt_reset(), make sure not to call
ulpt_status() afterwards. This fixes a crash that can occur if a
USB printer is power-cycled when printing is just starting. The
problem is similar to that fixed in revision 1.33, but it is much
less likely to occur.

MFC after:	1 week
2003-06-15 11:55:50 +00:00
Nate Lawson
c7bbca402a Merge common XPT_CALC_GEOMETRY functions into a single convenience function.
Devices below may experience a change in geometry.

* umass(4) drives exactly 1 GB in size now no longer use extended geometry.
2003-06-14 22:40:08 +00:00
Josef Karthauser
7ced6062bf Regen. 2003-06-13 11:24:45 +00:00
Josef Karthauser
62db9d4d27 Allow the EPSON USB scanner 1250 to be recognised as a uscanner device.
Submitted by:	Cristiano Deana <deana@bmm.it>
By way of:	n_hibma
MFC after:	3 days
2003-06-13 11:20:26 +00:00
Warner Losh
078f2f3123 Enable bus mastering in the attach routine. This appears to fix the
USB 2.0 cardbus cards that have been floating around.

Submitted by: Craig Boston
2003-06-12 05:29:15 +00:00
Poul-Henning Kamp
16cef37ea3 Don't define memcpy() to bcopy() and in particular not memset() to
bzero() when we have them all already.

Found by:       FlexeLint
2003-05-31 19:38:43 +00:00
Poul-Henning Kamp
78b52202d0 Fix indentation.
Found by:       FlexeLint
2003-05-31 19:02:20 +00:00
Bernd Walter
6445c6bdf1 Correct the fix in rev 1.70
Some lines were misslocated

Submitted by:	Jay Cornwall <jay@evilrealms.net>
Approved by:	re (rwatson)
2003-05-29 23:47:12 +00:00
Nate Lawson
742d91f211 Quirk for Hitachi DVD USB drive. It returns "invalid field in cdb" for
normal INQUIRY requests so enable the NO_INQUIRY quirk.

Submitted by:	Lars Eggert <larse@ISI.EDU>
Approved by:	re (scottl)
2003-05-21 00:22:07 +00:00
Nate Lawson
2f8f9581dd Remove a redundant quirk. Instead, we wildcard all Asahi Optical chips.
Approved by:	re
2003-05-20 18:04:42 +00:00
Bernd Walter
d7a1c636e1 Recreate devnodes on USB_SET_ALTINTERFACE ioctl.
This fixes net/pppoa port for Alcatel Speedtouch devices.

Submitted by: Jay Cornwall <jay@evilrealms.net>
Tested by: Francois Rogler <francois@rogler.org>
Approved by: re (scottl)
2003-05-18 21:22:00 +00:00
Nate Lawson
d6061de923 Generalize a quirk for Asahi Optical-based cameras (i.e. Pentax). It appears
all of the Optio series have the same problems.  It might be a better
approach eventually to add wildcard support to USB quirks.

PR:		kern/50271, kern/46369
Approved by:	re (rwatson)
2003-05-15 17:36:22 +00:00
Murray Stokely
281b971b68 Regen.
Approved by:	re
2003-05-12 04:27:22 +00:00
Josef Karthauser
8e274c38c2 Extend the digital camera support (umass) to the PENTAX Optio 330GS.
Submitted by:	Jan-Oliver Neumann <neumannj@arcor.de>
By way of:	n_hibma
Approved by:	re (jhb & bmah)
MFC After:	7 days
2003-05-11 23:55:28 +00:00
John Baldwin
d40a3f6f47 Add PCI ID's for the 4 USB hubs on the ICH5 controller.
Approved by:	re (murray)
2003-05-06 19:30:41 +00:00
Murray Stokely
c4ed9fe323 regen. 2003-05-05 08:22:15 +00:00
Murray Stokely
60260d67c1 Add KEYSPAN USA19QW, JRC PHONE, SANDISK SDDR75.
PR:		misc/48141, bin/51265, kern/49053, kern/50144
2003-05-05 08:18:53 +00:00
Shunsuke Akiyama
3dfc942fa1 Regen. 2003-05-03 10:19:43 +00:00
Shunsuke Akiyama
11e04b0528 Add RealTek RTL8150 USB to fast Ethernet controller driver.
This driver now supports the Melco LUA-KTX and the GREEN HOUSE
GH-USB100B.

Reviewed by:	imp
MFC after:	2 weeks
2003-05-03 10:16:56 +00:00
Alexander Kabaev
104a9b7e3e Deprecate machine/limits.h in favor of new sys/limits.h.
Change all in-tree consumers to include <sys/limits.h>

Discussed on:	standards@
Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>
2003-04-29 13:36:06 +00:00
Takanori Watanabe
1f96e3e8b9 Regen. 2003-04-21 17:36:03 +00:00
Takanori Watanabe
beb4384bf8 Add another product ID for if_axe and correct vendor ID description
for Linksys USB200M.The USB vendor ID list is available from
http://www.usb.org/app/pub/dump/comp_dump/

Reviewed by: wpaul
2003-04-21 17:34:13 +00:00
Bill Paul
7aeaaee867 Regenerate. 2003-04-20 20:17:10 +00:00
Bill Paul
e5c195da55 Add support for the Netgear FA120 and the D-Link DUBE100 (AX88172-based
devices).
2003-04-20 20:15:42 +00:00
Bill Paul
6d179e5b69 Regen usbdevs. 2003-04-20 19:07:51 +00:00
Bill Paul
87b4a25958 Add device driver support for the ASIX Electronics AX88172 USB 2.0
ethernet controller. The driver has been tested with the LinkSys
USB200M adapter. I know for a fact that there are other devices out
there with this chip but don't have all the USB vendor/device IDs.

Note: I'm not sure if this will force the driver to end up in the
install kernel image or not. Special magic needs to be done to exclude
it to keep the boot floppies from bloating again, someone please
advise.
2003-04-20 19:05:33 +00:00
Matthew N. Dodd
f246e4a17f - Express hard dependencies on bus (pci, isa, pccard) and
network layer (ether).
- Don't abuse module names to facilitate ifconfig module loading;
  such abuse isn't really needed.  (And if we do need type information
  associated with a module then we should make it explicit and not
  use hacks.)
2003-04-15 06:37:30 +00:00
Bernd Walter
65193b3e5d Use a sim for each device on it's own instead of one for all umass
devices.
This reduces complexity and fixes a number of small problems.

Approved by:	gallatin (mentor)
Reviewed by:	njl
2003-04-14 14:28:17 +00:00
Bernd Walter
ca3acad1d7 add EHCI (USB 2.0) controller support.
Approved by:	joe
		gallatin (mentor)
Obtained from:  NetBSD
2003-04-14 14:04:08 +00:00
Matthew N. Dodd
5bff20ef7c Add quirk for LOGITECH WMRPAD.
Submitted by:	Mathew Kanner <mat@cnd.mcgill.ca>
2003-04-10 08:25:09 +00:00
Matthew N. Dodd
17a22e1463 - Add LOGITECH WMRPAD, MOTOROLA SB410, and SANDISK SDDR05.
- Regenerate.
2003-04-10 08:24:33 +00:00
Matthew N. Dodd
efddc6c820 At least pretend to handle USB_GET_REPORT_ID. 2003-04-09 08:43:01 +00:00
Warner Losh
0b269efc05 resync 2003-04-07 15:36:46 +00:00
Murray Stokely
65793abdff Add ID for Kawasaki LSI Inc. USB-Ethernet, rev 1.00/2.02 adapter.
PR:		kern/50064
Submitted by:	Scott Renfro <scott@renfro.org>
MFC after:	3 days
2003-04-07 10:26:59 +00:00
Scott Long
e48fff82ef Add support for the CLIE 5.0 series of PDAs 2003-04-06 17:34:50 +00:00
Scott Long
2a33b44247 Regen from usbdevs v.116 2003-04-06 17:34:08 +00:00
Scott Long
4ba81f4602 Regen 2003-04-06 17:32:39 +00:00
Scott Long
e220a08537 Add ID's for the CLIE 5.0 series and the Belkin F5U109 usb->serial adapter. 2003-04-06 17:32:12 +00:00
David E. O'Brien
8368cf8f75 Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
Nate Lawson
f8ee56571c Add code to implement two new USB quirk types: NO_INQUIRY and NO_INQUIRY_EVPD
The former fakes a valid response to an inquiry command.  (I am completely
blown away that there are devices which hang upon receiving inquiry).  The
latter returns "invalid request" to any inquiry commands with EVPD set.
NO_INQUIRY implies NO_INQUIRY_EVPD but not vice versa.  Both quirks have been
tested separately on my USB key although it didn't require either of them.

While I'm here, fix wildcarding so that any/all of vendor, product, revision
can be wildcarded.

Idea from:	Linux
MFC after:	2 weeks
2003-03-25 16:21:09 +00:00
Matthew N. Dodd
868d8b6286 - Use if_broadcastaddr from struct ifnet rather than relying on
extern 'etherbroadcastaddr'.
- Make 'etherbroadcastaddr' static.

Reviewed by:	 imp
2003-03-21 17:53:16 +00:00
Takanori Watanabe
869c12cbb4 Add module dependency. This makes udbp.ko to be loaded. 2003-03-15 13:03:30 +00:00
Ian Dowse
ec8b828fc4 Make uhci_waitintr() robust to interrupts being enabled, even though
it is expected that they will not be enabled at the time that it
is called. This is reported to work around a problem in RELENG_4
where the kernel panics on boot if FAST_IPSEC and crypto support
are enabled.

Tested by:	Scott Johnson <scottj@insane.com>
2003-03-11 09:12:55 +00:00
Nate Lawson
2a7e0bee37 Quirk for Pentax Optio 230 USB camera. Note that other products probably
use the underlying AsahiOptical USB chip and thus this quirk may need to
be generalized in the future.

PR:		kern/46369
Submitted by:	Tim Vanderhoek <vanderh@ecf.utoronto.ca>
MFC After:	3 days
2003-03-11 01:55:11 +00:00
Nate Lawson
bc25d60d7c usbdevs entry for Asahi Optical OPTIO 230 digital camera. Regen. 2003-03-11 01:41:33 +00:00
Shunsuke Akiyama
20280807ca Fix device freeze to reduce output packet size.
And make this value configurable by kernel config or sysctl.
2003-03-09 11:50:27 +00:00
Shunsuke Akiyama
4e6f1adc6b Fix page fault with FTDI's USB serial device.
Fix lost characters counting.
Move setting receiver state to proper place on ucomstopread().
2003-03-09 11:33:26 +00:00
Shunsuke Akiyama
86aa13bdbf Fix duplicate sc_dying usage.
All drivers which depend on ucom interfaces should use only one
sc_dying.
2003-03-09 11:19:18 +00:00
Shunsuke Akiyama
5ce609f75b Add missing module dependency. 2003-03-09 11:14:34 +00:00
Poul-Henning Kamp
60794e0478 Centralize the devstat handling for all GEOM disk device drivers
in geom_disk.c.

As a side effect this makes a lot of #include <sys/devicestat.h>
lines not needed and some biofinish() calls can be reduced to
biodone() again.
2003-03-08 08:01:31 +00:00
Takeshi Shibagaki
ca49234e7c Used correct aue_flags in ELECOM LD-USB/T and ELECOM LD-USB/TX.
Submitted by: Yasushi Oshima <oshimaya@sc.starcat.ne.jp>
              Takeshi Shibagaki <shiba@freebsd.org>
                 (refer to [bsd-usb:685],[bsd-usb:686])
2003-03-05 13:25:35 +00:00
Takeshi Shibagaki
f6e333276b Fixed an issue which transfer no packets in combination with aue driver.
Submitted by Hiroyuki Aizu <eyes@navi.org>
                (refer to [FreeBSD-users-jp 65061])
Tested by    Hiroharu Tamaru <tamaru@myn.rcast.u-tokyo.ac.jp>
                (refer to [bsd-usb:689])
2003-03-05 13:17:15 +00:00
Jonathan Lemon
1cafed3941 Update netisr handling; Each SWI now registers its queue, and all queue
drain routines are done by swi_net, which allows for better queue control
at some future point.  Packets may also be directly dispatched to a netisr
instead of queued, this may be of interest at some installations, but
currently defaults to off.

Reviewed by: hsu, silby, jayanth, sam
Sponsored by: DARPA, NAI Labs
2003-03-04 23:19:55 +00:00
Poul-Henning Kamp
182a9f7455 Make nokqfilter() return the correct return value.
Ditch the D_KQFILTER flag which was used to prevent calling NULL pointers.
2003-03-03 16:24:47 +00:00
Poul-Henning Kamp
7ac40f5f59 Gigacommit to improve device-driver source compatibility between
branches:

Initialize struct cdevsw using C99 sparse initializtion and remove
all initializations to default values.

This patch is automatically generated and has been tested by compiling
LINT with all the fields in struct cdevsw in reverse order on alpha,
sparc64 and i386.

Approved by:    re(scottl)
2003-03-03 12:15:54 +00:00
Poul-Henning Kamp
95e4359c8e Use canonical format for cdevsw initialization. 2003-03-02 18:51:46 +00:00
Dag-Erling Smørgrav
521f364b80 More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9). 2003-03-02 16:54:40 +00:00
Scott Long
1a3a935b84 Fix 'bulk in' and 'bulk out' being reversed in a couple of error messages. 2003-03-02 02:35:00 +00:00
John Hay
11229bf39e Implement outgoing interrupt pipes. It is part of the USB 1.1 spec.
The Lego Infrared Tower use it.
2003-02-28 19:28:29 +00:00
Warner Losh
56dd04580a ufm doesn't care what major it uses. 2003-02-28 13:23:31 +00:00
Warner Losh
cfb14e7100 These appear to work as cardbus cards too 2003-02-28 13:21:17 +00:00
Marcel Moolenaar
0f265fea23 Use the correct size for reading and writing the PCI config space.
Reading the PCI config space with the wrong (larger) size is not
a problem in this case, but writing can be as it clobbers unrelated
registers. In this case the clobbering is for reserved fields, which
too is mostly harmless... for now. Hence, this change is mostly
preventive in nature.
2003-02-23 23:09:17 +00:00
Kenneth D. Merry
56eac725a3 Fix ATAPI/USB/Firewire CDROM drive handling in cd(4) and hopefully fix
a number of related problems along the way.

 - Automatically detect CDROM drives that can't handle 6 byte mode
   sense and mode select, and adjust our command size accordingly.
   We have to handle this in the cd(4) driver (where the buffers are
   allocated), since the parameter list length is different for the
   6 and 10 byte mode sense commands.

 - Remove MODE_SENSE and MODE_SELECT translation removed in ATAPICAM
   and in the umass(4) driver, since there's no way for that to work
   properly.

 - Add a quirk entry for CDROM drives that just hang when they get a 6
   byte mode sense or mode select.  The reason for the quirk must be
   documented in a PR, and all quirks must be approved by
   ken@FreeBSD.org.  This is to make sure that we fully understand why
   each quirk is needed.  Once the CAM_NEW_TRAN_CODE is finished, we
   should be able to remove any such quirks, since we'll know what
   protocol the drive speaks (SCSI, ATAPI, etc.) and therefore whether
   we should use 6 or 10 byte mode sense/select commands.

 - Change the way the da(4) handles the no_6_byte sysctl.  There is
   now a per-drive sysctl to set the minimum command size for that
   particular disk.  (Since you could have multiple disks with
   multiple requirements in one system.)

 - Loader tunable support for all the sysctls in the da(4) and cd(4)
   drivers.

 - Add a CDIOCCLOSE ioctl for cd(4) (bde pointed this out a long
   time ago).

 - Add a media validation routine (cdcheckmedia()) to the cd(4)
   driver, to fix some problems bde pointed out a long time ago.  We
   now allow open() to succeed no matter what, but if we don't detect
   valid media, the user can only issue CDIOCCLOSE or CDIOCEJECT
   ioctls.

 - The media validation routine also reads the table of contents off
   the drive.  We use the table of contents to implement the
   CDIOCPLAYTRACKS ioctl using the PLAY AUDIO MSF command.  The
   PLAY AUDIO TRACK INDEX command that we previously used was
   deprecated after SCSI-2.  It works in every SCSI CDROM I've tried,
   but doesn't seem to work on ATAPI CDROM drives.  We still use the
   play audio track index command if we don't have a valid TOC, but
   I suppose it'll fail anyway in that case.

 - Add _len() versions of scsi_mode_sense() and scsi_mode_select() so
   that we can specify the minimum command length.

 - Fix a couple of formatting problems in the sense printing code.

MFC after: 	4 weeks
2003-02-21 06:19:38 +00:00
Warner Losh
a163d034fa Back out M_* changes, per decision of the TRB.
Approved by: trb
2003-02-19 05:47:46 +00:00
MIHIRA Sanpei Yoshiro
ba5014037c Sync to 1.114 of usbdevs 2003-02-13 12:57:24 +00:00
MIHIRA Sanpei Yoshiro
f3e45b4bdc Add support SUNTAC Ir-Trinity IS96U
PR:		48212
Submitted by:	Masaharu FUJITA <m@fjts.org>
2003-02-13 12:55:18 +00:00
MIHIRA Sanpei Yoshiro
fe84a7c1b9 Sync to 1.113 of usbdevs 2003-02-12 13:22:55 +00:00
MIHIRA Sanpei Yoshiro
7d44829c5e Add support YAMAHA NetVolante Routers
NetVolante RTA54i Broadband&ISDN Router
	NetVolante RTA55i Broadband VoIP Router
	NetVolante RTW65b Broadband Wireless Router
	NetVolante RTW65i Broadband&ISDN Wireless Router

PR:		bin/42574
Submitted by:	Yoshihiko Sarumaru <mistral@imasy.or.jp>
2003-02-12 13:20:39 +00:00
MIHIRA Sanpei Yoshiro
3b88c9eb7a Regen 2003-02-11 00:16:56 +00:00
MIHIRA Sanpei Yoshiro
a109b1c786 Add support SUNTAC U-Cable TypeD2 (DS96L)
PR:		kern/47547
Submitted by:	Kazu TAKAMUNE <takamune@mail.com>
2003-02-11 00:15:01 +00:00
MIHIRA Sanpei Yoshiro
553684bcea Regen 2003-02-07 13:19:29 +00:00
MIHIRA Sanpei Yoshiro
c524738eae Add support FUJITSU AH-F401U Air H device
Submitted by:	[bsd-nomads:16601]
		Kouichi ABE (WALL) <kouichi@MysticWALL.COM>
2003-02-07 12:53:21 +00:00
MIHIRA Sanpei Yoshiro
8541fbec79 Fix `umass0: BBB bulk-in clear stall failed, IOERROR' problem with
some USB devices.  (Make sure to set xfer data length when we force
a short inquiry.)

Obtained from: NetBSD(sys/dev/usb/umass_scsipi.c rev.1.8)
Original idea from: Shingo WATANABE <nabe@nabechan.org>
2003-02-04 13:45:41 +00:00
MIHIRA Sanpei Yoshiro
ab0a90de0a Remove duplicated entry
Put the Trek Smart Thumbdrives (8MB model) entry in the right place.
(Entries are sorted by vendor id).
2003-02-04 13:36:32 +00:00
Marcel Moolenaar
a3909515f4 Regenerate after fixing duplicate device entries. 2003-02-02 01:58:28 +00:00
Marcel Moolenaar
7c125c1c6a Unbreak kernel builds caused by what appears to be a merge conflict.
This change has been tested.
2003-02-02 01:57:31 +00:00
MIHIRA Sanpei Yoshiro
c799e00130 Regen 2003-02-01 23:09:33 +00:00
MIHIRA Sanpei Yoshiro
a9451985f7 Add Genesys Logic products
- GL650 HUB
	- GL641USB CompactFlash Card Reade
	- GL641USB USB-IDE Bridge
Add MELCO product
	- USB-IDE Bridge: DUB-PxxG
2003-02-01 22:50:50 +00:00
Tom Rhodes
40cbf25dbb Add support for the Trek Thumbdrive 8MB USB Drive.
PR:		46004
Submitted by:	Brian J. McGovern <mcgovern@tick.beta.com> (original version)
2003-01-30 18:33:01 +00:00
Josef Karthauser
4de19bd9c8 Put the Perfection 1660 scanner entry in the right place. (Entries
are sorted by product id).
2003-01-27 09:43:24 +00:00
Josef Karthauser
d617f4ca0c Regen 2003-01-21 11:38:17 +00:00
Josef Karthauser
652fde6f1f Add support for Epson 1660 scanner.
Submitted by:	Bruno Schwander <bruno@tinkerbox.org>
MFC after:	3 days
2003-01-21 11:37:54 +00:00
Alfred Perlstein
44956c9863 Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
2003-01-21 08:56:16 +00:00
Josef Karthauser
f4e618b499 Regen 2003-01-20 00:51:19 +00:00
Josef Karthauser
6ee4bee25a Support for the "Seiko Epson Perfection 1260 scanner".
Submitted by:	Michael Lestinsky <michael@lestinsky.de>
MFC After:	3 days
2003-01-20 00:41:30 +00:00
Josef Karthauser
e22514406d Some USB devices are not prepared to deal with a single byte string
descriptor request, which usbd_get_string_desc() uses to get the
length of a descriptor.  One device for instance returns a full 8
byte long packet instead which confuses the rest of the stack and
leads to the USB port being reset.  The fix is to instead request
two bytes, but not to complain if we only get one.

Submitted by:	kan
MFC after:	3 days
2003-01-14 23:07:43 +00:00
Warner Losh
26b6ab4e45 Make compile cleanly when USB_DEBUG is defined. 2003-01-12 08:28:14 +00:00
Warner Losh
52b019b3ed Merge from NetBSD and arrange for FreeBSD's slight differences in
ucom.

This gets my Sanyo SCP-4900 working.

Approved by: joe
2003-01-09 04:24:28 +00:00
David Xu
ce5c58974a Retry to get full device descriptor, this let my slow CD Tower device work. 2003-01-08 05:03:35 +00:00
Warner Losh
3225a9881d Update to correct NetBSD Id 2003-01-02 04:22:44 +00:00
Warner Losh
d77b690ff6 Sync to 1.104 of usbdevs 2003-01-02 04:21:38 +00:00
Warner Losh
cb33fc95b9 Add NEODIO TURBOCONNECT (from NetBSD) 2003-01-02 04:21:04 +00:00
Warner Losh
1732632481 MFNetBSD through 1.42 (to be committed in a moment by me).
o Whitespace nits
o NEODIO added
2003-01-02 04:15:55 +00:00
Alexander Kabaev
851d388443 Do not print the value of sc pointer before is has been ininialized. 2003-01-02 02:46:13 +00:00
Alexander Kabaev
64fe778489 Create debug sysctl nodes if USB_DEBUG is defined.
UBSA_DEBUG is inconsistent with other drivers.
2003-01-02 02:38:57 +00:00
Warner Losh
82e10e2428 It appears that the SANYO SCP-4900 needs similar quirks to the
Metricom Ricochet GS modem.  Add them here.

# A new umodem appears to be needed to make the sanyo phone work, but that's
# more extensive and will come after coordination.
2003-01-01 20:21:48 +00:00
Warner Losh
4dac02c8db Sync to usbdevs 1.103 2003-01-01 20:18:58 +00:00
Warner Losh
4cce0eba8d Add Sanyo SCP-4900 phone. It needs quirks. 2003-01-01 20:18:15 +00:00
Warner Losh
f56d03c008 Now that we've 'branched' 5.0, desupport FreeBSD 3.x in this driver. It
appears that NetBSD has already done this in their tree.
2003-01-01 20:15:42 +00:00
Jens Schweikhardt
9d5abbddbf Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.
2003-01-01 18:49:04 +00:00
Ian Dowse
326b4d74c4 When resuming after a system suspend, re-issue the UHCI_CMD_MAXP
command in case this setting was not saved. Since bandwidth reclamation
(-current only) often results in bus activity continuing to the end
of every frame, most transfers would fail with IOERROR if this
setting is missed.

Reviewed by:	n_hibma
MFC after:	1 week
2002-12-26 13:25:57 +00:00
Matthew Dillon
6c82636572 Revert part of the last commit. Do not fake-up the cylinders to make
the sectors fit (at least, don't fake them up any more then they are
already faked up).
2002-12-22 04:46:44 +00:00
Matthew Dillon
cc7bab9032 Modify the fake cylinders calculation so it is >= the size of the device,
not < the size of the device.  This avoids geom complaints.

Fix a serious bug in the handling of the RS_NO_CLEAR_UA quirk.  When we
go and insert the test-unit-ready command the umass_cam_quirk_cb() function
sets the status as if the READ_CAPACITY command suceeded when, in fact, it
did not.  This leads to the CAM layer trying to use garbage in the return
buffer and panicing the system (or doing other bad things).

Add a quirk entry for MSYSTEMS DISK-ON-KEY, which is sold under the Sony
brand as a solid state disk-on-key usb device.  This device requires
several quirks to work properly.

Note that the disk-on-key device will not work properly until CAM also
gets a quirk entry for it, which has been submitted to the CAM maintainer,
and you may have to temporarily uncomment the DELAY() as well.  -current
does not properly wait for devices to power up so you may also have
to temporarily uncomment the DELAY(300000) to make your device work.
A solution must be found to that issue.

MFC after:	3 days
X-MFC note:	the quirk support must MFCd before this patch can be
2002-12-20 18:56:55 +00:00
Matthew Dillon
698df1f738 Fix two bugs in the DMA chaining code for OHCI. The first bug is that
the dataphysend calculation could only possibly work if the virtual buffer
is also physically contiguous.  Calculate dataphysend by calculating the
ending virtual address first, then converting to a physical address.

The second bug applies only to NetBSD and OpenBSD and involves the curlen
calculation in the two-contiguous-physical-pages case (which we don't support).

Also cleanup the use of the OHIC_PAGE() macro on dataphysend and add a panic
if len goes negative (meaning we lost the physical page translation
representing the end of the buffer).

IMHO the dataphysend is still bokered since it might be misrepresented
by shared userland page mappings.  The whole section needs to be rewritten
to use the virtual address range.

MFC after:	3 days
2002-12-20 18:47:39 +00:00
Dag-Erling Smørgrav
f0d91fb7ea Ignore IEEE1284 descriptors when looking for bidirectional mode. We don't
really know how to talk IEEE1284, so attaching to that interface makes the
printer unusable.

Approved by:	joe
2002-12-16 14:22:59 +00:00
Dag-Erling Smørgrav
6ed6884063 MFNetBSD: 1.52-1.55
Mostly OpenBSD-related changes.  Remove newline from panic string.  Remove
an unreachable break statement.
2002-12-16 14:20:26 +00:00
Bernd Walter
765187cac7 The uftdi driver runs with multiple instances.
Remove a comment claiming the opposite.

Approved by: re (rwatson)
             gallatin (Mentor)
MFC after: 1 week
2002-12-12 19:03:43 +00:00
Josef Karthauser
85105890c2 MFNetBSD: (partial 1.133)
- In ohci_close_pipe, wait 1ms after removing an ED to avoid possible race
  condition.

Approved by:	re (rwatson)
2002-12-09 01:41:24 +00:00
Josef Karthauser
2c123d54ee MFNetBSD:
date: 2002/09/29 20:59:30;  author: augustss;  state: Exp;  lines: +2 -7
    Remove extra call to ohci_rem_ed().  From kern/18448, Takeshi Nakayama.

Approved by:	re (rwatson)
2002-12-09 01:39:32 +00:00
Josef Karthauser
317cca359c Don't corrupt the ED list whilst removing an entry.
Submitted by:	Bernd Walter <ticso@cicely8.cicely.de>
Approved by:	re (rwatson)
2002-12-09 00:55:50 +00:00
Josef Karthauser
11f314d4cb Apply some fixups in the driver_t's.
Submitted by:	akiyama
MFC after:	3 days
2002-11-17 14:22:37 +00:00
Josef Karthauser
97764f126a Use a sysctl for controlling the debugging output.
Submitted by:	akiyama
2002-11-17 14:08:48 +00:00
Josef Karthauser
263de9cd60 Fix a typo in a console message.
Submitted by:	akiyama
MFC after:	3 days
2002-11-17 13:33:55 +00:00
Sam Leffler
673d91916d network interface driver changes:
o don't strip the Ethernet header from inbound packets; pass packets
  up the stack intact (required significant changes to some drivers)
o reference common definitions in net/ethernet.h (e.g. ETHER_ALIGN)
o track ether_ifattach/ether_ifdetach API changes
o track bpf changes (use BPF_TAP and BPF_MTAP)
o track vlan changes (ifnet capabilities, revised processing scheme, etc.)
o use if_input to pass packets "up"
o call ether_ioctl for default handling of ioctls

Reviewed by:	many
Approved by:	re
2002-11-14 23:54:55 +00:00
Michael Reifenberger
ad59e7ecbd Reviewed by: n_hibma
MFC after:	2 weeks
fix XPT_CALC_GEOMETRY to fill in some reasonable values.
Inspired by aic/sbp.
2002-11-08 07:57:42 +00:00
John Baldwin
9cbe11ea18 Cast a ptrdiff_t value to an int to quiet a warning since we don't support
%t in the kernel printf yet.
2002-11-07 21:34:21 +00:00
Josef Karthauser
8ecdcb3ff3 Packed structures are defined differently in older gcc's, like the one
currently in -stable.  Put the exception into usb.h instead of having it
hard coded in the sound code.
2002-11-06 21:37:21 +00:00
Josef Karthauser
cfccb34a24 There's no need for a locally defined usb_proc_t when we've got
usb_proc_ptr that does the same thing.
2002-11-06 14:29:27 +00:00
Ian Dowse
9ce4f7a0f0 Specify the correct protocol for the Olympus C-1 camera. It appears
that this entry was accidentally given the wrong protocol in revision
1.61.

PR:		kern/42417
Submitted by:	"Moriki, Toshiomi" <toshiomi@whi.m-net.ne.jp>
2002-11-01 01:13:20 +00:00
Ian Dowse
8a7562d079 Check for errors and zero-length transfers in the ulpt_input() input
pipe callback function, and just return if these cases are detected.
Without these checks, the ulpt driver may cause an infinite loop
of failing USB transfers that can hang the whole machine. This makes
printing work for me on a HP DJ950C printer.
2002-10-30 01:18:58 +00:00
Alexander Kabaev
87e89c7595 Whitespace fixes per style(9)
Approved by:	obrien
2002-10-19 21:58:11 +00:00
Alexander Kabaev
7d59efa9a8 Add device driver for Belkin F5U103 and compatible USB-to-serial adapters.
Reviewed by:	n_hibma
Approved by:	obrien
2002-10-08 03:09:57 +00:00
Alexander Kabaev
139b2d67cd Regen after usbdevs rev. 1.102.
Reviewed by:	n_hibma
Approved by:	obrien
2002-10-08 03:04:14 +00:00
Alexander Kabaev
469f01ba8c Add entries for:
Belkin F5U103
	Belkin F5U120-PC Hub
	GoHubs GoCOM232
	Peracom single port
USB-to-serial adapters.

Reviewed by:	n_hibma
Approved by:	obrien
2002-10-08 03:00:37 +00:00
Scott Long
316ec49abd Some kernel threads try to do significant work, and the default KSTACK_PAGES
doesn't give them enough stack to do much before blowing away the pcb.
This adds MI and MD code to allow the allocation of an alternate kstack
who's size can be speficied when calling kthread_create.  Passing the
value 0 prevents the alternate kstack from being created.  Note that the
ia64 MD code is missing for now, and PowerPC was only partially written
due to the pmap.c being incomplete there.
Though this patch does not modify anything to make use of the alternate
kstack, acpi and usb are good candidates.

Reviewed by:	jake, peter, jhb
2002-10-02 07:44:29 +00:00
Josef Karthauser
854add2319 Gremlins ate my comment!
Submitted by:	Clive Lin <clive@tongi.org>
2002-09-30 19:12:43 +00:00
Josef Karthauser
fe74650816 In rev 1.51 of usb_port.h I switched over to using the USB_USE_SOFTINTR
code path to fix a bug in the non USB_USE_SOFTINTR path that caused
the usb bus to hang and generally misbehave when devices were unplugged.
In the process though it also reduced the throughput of usb devices because
of a less than optimal implementation under FreeBSD.

This commit fixes the non USB_USE_SOFTINTR code in uhci and ohci
so that it works again, and switches back to using this code path.

The uhci code has been tested, but the ohci code hasn't.  It's
essentially the same anyway and so I don't envisage any difficulties.

Code for uhci submitted by:	Maksim Yevmenkin <myevmenk@exodus.net>
2002-09-30 17:50:18 +00:00
Josef Karthauser
0fbf938869 MFNetBSD: Increasre the reset recovery time. (rev 1.69) 2002-09-27 19:55:37 +00:00
Josef Karthauser
33e8332333 MFNetBSD: Update class codes. (rev 1.68) 2002-09-27 19:52:42 +00:00
Josef Karthauser
8bca50af6b MFNetBSD: Add Bluetooth related classes etc. (rev 1.67) 2002-09-27 19:45:37 +00:00
Josef Karthauser
fef80c2cba MFNetBSD: revision 1.66
Get rid of trailing white space.
2002-09-27 19:42:29 +00:00
Alfred Perlstein
ebc82cbbf0 s/__attribute__((__packed__))/__packed/g 2002-09-23 06:25:08 +00:00
Josef Karthauser
56c4ff5427 Deprecate the USB_SETDEBUG IOCTL as debug levels can now be set
using sysctl.
2002-09-15 22:35:58 +00:00
Josef Karthauser
9f1c775798 Add a device description for Intel 82801CA/CAM (ICH3) USB controller
USB-C.

PR:	kern/41963
2002-08-28 20:24:49 +00:00
Philippe Charnier
93b0017f88 Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
Archie Cobbs
4a6a94d8d8 Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
Josef Karthauser
24177c6cb0 Use uhci_pci_match to return the device description and rework the
vendor description code.
2002-08-18 11:52:47 +00:00
Josef Karthauser
f992fafdd7 Add a comment to remind that uhci_pci_match will never return NULL.
Don't display the "New UHCI DeviceId" message unless booting verbosely.
Use a switch statement for the vendor match code.
2002-08-18 11:42:11 +00:00
Josef Karthauser
8f5fc1b728 Consolidate the device recognition code. 2002-08-18 00:24:03 +00:00
Josef Karthauser
1e03ff6cf0 MFNetBSD: 1.51
Move a quirk tests so the message printed about directionality is
right.
2002-08-16 12:16:07 +00:00
Josef Karthauser
a6103a945a MFNetBSD: (1.50) Get rid of trailing white space. 2002-08-16 12:13:26 +00:00
Josef Karthauser
3a89188b79 MFNetBSD:
revision 1.127
	date: 2002/08/07 20:03:19;  author: augustss;  lines: +4 -8
	Fix some braindead calls to free memory (only encountered
	under low memory conditions).  From OpenBSD.
2002-08-16 09:10:43 +00:00
Josef Karthauser
c5849647cc UHCI_DEBUG -> USB_DEBUG. 2002-08-15 22:41:20 +00:00
Josef Karthauser
31f48889ad Add the uftdi ucom driver which supports the following adapters:
Inland UAS111
	QVS USC-1000
	HP USB-Serial adapter shipped with some HP laptops

Submitted by:	takawata
MFC After:	7 days
2002-08-11 23:32:33 +00:00
Josef Karthauser
0d7655be61 Regen 2002-08-11 21:19:18 +00:00
Josef Karthauser
4910ddcf3f Add Palm M515.
Submitted by:	Luiz Eduardo Roncato Cordeiro <cordeiro@nic.br>
2002-08-11 21:11:14 +00:00
Josef Karthauser
3b7efc56d0 Use the hw.usb sysctl tree instead of debug.usb.
Requested by:	imp
2002-08-08 12:05:51 +00:00
Josef Karthauser
528d1a7fbc Replace the FOO_DEBUG definitions with USB_DEBUG, and switch the
debugging levels to off by default.  Now that debug levels can be
tweaked by sysctl we don't need to go through hoops to get the
different usb parts to produce debug data.
2002-07-31 14:34:36 +00:00
Josef Karthauser
163ddd953b Wake up Joe! It would help if I included sys/sysctl.h. 2002-07-31 14:20:07 +00:00
Josef Karthauser
140d7e756f Add a sysctl (debug.usb.uhub) for tweaking the uhub debug levels. 2002-07-31 13:58:15 +00:00
Josef Karthauser
0e6b196686 Get bored with hard coded debug level variables and introduce a debug.usb
sysctl tree for tweaking them real-time.

Reviewed by:	iedowse
2002-07-31 13:33:55 +00:00
Josef Karthauser
5e33115f05 It should be "ucom", not "usio". 2002-07-31 10:52:46 +00:00
Josef Karthauser
39db6f7ae0 Regen 2002-07-31 10:05:58 +00:00
Josef Karthauser
0919ca4bc4 MFNetBSD: uvisor.c (1.14, 1.15)
Add support for Palm (M500, M505, M125) and Sony devices (Clie 4.0 and 4.1).
2002-07-31 10:05:26 +00:00
Josef Karthauser
34b549fdf3 Remove trailing white spaces
Obtained from: NetBSD (1.16)
2002-07-31 09:24:41 +00:00
Josef Karthauser
f8d314e7c6 Regen 2002-07-31 09:09:50 +00:00
Josef Karthauser
1dc3ed04a2 Add the HP ScanJet 2200C. 2002-07-31 09:07:56 +00:00
Josef Karthauser
7ab45e978a Enable the HP 2200C and Visioneer Scanport 3000 scanners, and remove
some trailing spaces whilst I'm here.

Obtained from:	NetBSD.
2002-07-31 09:05:52 +00:00
Josef Karthauser
b2dd67bba5 Add the Primax (Visioneer) 6200 scanner.
Obtained from:	OpenBSD (via NetBSD)
2002-07-31 08:51:32 +00:00
Josef Karthauser
7ebe6f9e2f Regen 2002-07-30 23:30:56 +00:00
Josef Karthauser
3fc6710b56 Add support for a couple of network adapters; the 3Com 3C460B and
the Belkin USB2LAN.

Obtained from:	NetBSD
2002-07-30 23:30:15 +00:00
Ian Dowse
b4dc6ff9bc Remove some strange code that allocates memory and then immediately
frees it again. The idea was to perform M_WAITOK allocations in a
process context to reduce the risk of later interrupt-context
M_NOWAIT allocations failing, but in fact this code can be called
from contexts where it is not desirable to sleep (e.g. if_start
routines), so it causes lots of witness "could sleep" warnings.
2002-07-30 23:26:22 +00:00
Josef Karthauser
ca095220db Commit a version of the uvisor driver for connecting Handspring
Visors via USB.

Submitted by:	Chia-liang Kao <clkao@clkao.org>
2002-07-30 17:44:28 +00:00
Maxim Sobolev
3c7d68acc8 Regen after usbdevs rev.1.95. 2002-07-30 11:03:50 +00:00
Maxim Sobolev
b8d95a688e Add ID for Luwen EasyDisk USB flash memory drive.
PR:		41081
Submitted by:	demon
MFC after:	5 days
2002-07-30 11:02:35 +00:00
Takanori Watanabe
2e673adddb Regen. 2002-07-25 14:16:47 +00:00
Takanori Watanabe
86b3064d09 MFNetBSD: FTDI USB-serial converter chips description. 2002-07-25 14:15:49 +00:00
John Baldwin
d6ac80d12f Add PCI IDs for the A, B, and C UHCI controllers in the ICH4.
Sponsored by:	The Weather Channel
2002-07-19 22:17:02 +00:00
Ian Dowse
417d8f25fc Re-fetch the interface handle after setting the config number,
because the previous interface handle gets freed when the config
number is set. This fixes a problem where memory could be accessed
after it was freed when the interface was ifconfig'd up.

Reviewed by:	n_hibma
2002-07-15 14:37:36 +00:00
Hajimu UMEMOTO
767f578267 Correct module name of my previous commit. 2002-07-15 11:22:37 +00:00
Hajimu UMEMOTO
ad85ae6de1 When usb is kld, ucom and uplcom were failed to load because of
usbd_abort_pipe undefined.
2002-07-13 10:41:35 +00:00
Josef Karthauser
04b401aa8a It's not "usio" anymore, it's "ucom".
Submitted by:	nsayer
2002-07-10 01:42:25 +00:00
Josef Karthauser
f411925536 Improve detach operation.
Submitted by:	akiyama
2002-07-10 00:52:16 +00:00
Josef Karthauser
d365977464 Include the bmaj entry in the cdevsw for versions of FreeBSD that need it. 2002-07-10 00:46:44 +00:00
Josef Karthauser
c2dc904947 Regen. 2002-07-10 00:43:50 +00:00
Josef Karthauser
92e19cc17e Add another ucom device (ELECOM UC-SGT).
Submitted by:	akiyama
2002-07-10 00:43:10 +00:00
Josef Karthauser
455a6759e8 Regen for SMC 2206USB/ETH EZ Connect adapter. 2002-07-09 16:46:31 +00:00
Josef Karthauser
7109e2c4df MFNetBSD: Add support for the SMC 2206USB/ETH EZ Connect adapter (Pegasus II) 2002-07-09 16:45:03 +00:00
Josef Karthauser
7db8d4d987 Delay the creation of the ugenX device node until we're certain
that the attach succeeded.  (Fixes a potential panic for devices
that fail to attach properly and are subsquently unplugged and then
plugged back in again.)
2002-07-09 01:01:25 +00:00
Nick Hibma
d8880ad0bd Avoid reprobing on loading a driver. This does not work as the ivars set
during the previous probe are stale.

What really should be done is route the probe through
device_probe_and_attach bit this is one of those ICBBATIASS (I can't be
bothered as there is a simpler solution). The user can easily replug the
device after kldloading a new device driver.
2002-06-17 20:57:54 +00:00
Nick Hibma
3a6a5935a8 Set the ivars _after_ checking that the bdev was correctly created instead
of before.
2002-06-17 20:52:26 +00:00
Nick Hibma
1a283dd436 clean up some KASSERTS. 2002-06-17 20:44:37 +00:00
Nick Hibma
eb38329015 Rewrite the probe routine. This makes adding drives and quirks more easy.
While there change a few names to less confusing ones.
2002-06-16 20:53:35 +00:00
Alfred Perlstein
058dc44ca0 Should have been part of recent commit:
Fix GCC warnings caused by initializing a zero length array. In the process,
  simply things a bit by getting rid of 'struct ng_parse_struct_info' which
  was useless because it only contained one field.
But now I'm unbreaking compilation by adjusting these files to the recent
netgraph change.
2002-06-01 07:18:32 +00:00
Alfred Perlstein
fa900b3699 Call destroy_dev in detach routine to cleanup properly otherwise we
panic because of a repeat make_dev if/when the device is reattached
to the system.

Remove an "#if __FreeBSD__" in code that's nested under a "#if __NetBSD__"
(*sigh*)

Reported by: Seth Hettich <sjh@whiskey.ucf.ics.uci.edu>
Tested by: Seth Hettich <sjh@whiskey.ucf.ics.uci.edu>
2002-06-01 06:23:47 +00:00
Josef Karthauser
43c6b63e82 NetBSD have adopted our usage of the DMAADDR macro:
date: 2002/05/28 12:42:39;  author: augustss;
    Change DMAADDR macro slightly.

Update the $NetBSD$ tags to reflect this and make slight changes to
usb_mem.h so that we're in sync with each other.
2002-05-28 20:51:43 +00:00
Josef Karthauser
ca3971124e Regen. 2002-05-27 00:01:21 +00:00
Josef Karthauser
b826a68b7f Add a couple of new aue ethernet adapters from NetBSD:
ELECOM LDUSBLTX
	IODATA USBETTXS
2002-05-27 00:00:48 +00:00
Josef Karthauser
12d2a2a729 Use aue_lookup for looking up devices. 2002-05-26 23:54:37 +00:00
Josef Karthauser
5908b50130 Correct the usage of DMAADDR in a piece of '#if 0'd code. (The compiler
didn't pick it up.)
2002-05-26 22:13:09 +00:00
Josef Karthauser
cc12206976 MFNetBSD:
revision 1.124
    date: 2002/05/26 03:10:02;  author: minoura;  state: Exp;  lines: +3 -3
    Clear done_head in the HCCA *before* acknoledging the interrupt.
    Driver lost some completed transfers under heavy loads.
2002-05-26 22:11:34 +00:00
Josef Karthauser
883d14d6c6 MFNetBSD: ohci.c (1.124), uhci.c (1.159), usbdi.c (1.100)
date: 2002/05/19 06:24:31;  author: augustss;  state: Exp;
    Update dma memory access API a little.

NetBSD have adopted our way of using the KERNADDR macro.  Update
the revision tags to show that we're in sync, and remove the casts
that they did in their adaptation.
2002-05-26 22:00:06 +00:00
Josef Karthauser
4de1678702 Fix a panic by allocating the iface structure locally in the attach
function instead of in usb_probe_and_attach.
2002-05-23 00:36:14 +00:00
Josef Karthauser
0f19b0d03a Reflect some changes in the NetBSD code path, and sligh adjustments to ours.
(Non-functional changes).
2002-05-23 00:26:06 +00:00
Josef Karthauser
a257364105 Sync with NetBSD. (Non functional changes). 2002-05-22 23:01:13 +00:00
Josef Karthauser
1acba7451d Fix a bug: Use USBD_DEFAULT_INTERVAL instead of USBD_DEFAULT_TIMEOUT
in a call to usbd_open_pipe_ival.
2002-05-22 22:58:38 +00:00
Maxim Sobolev
a88c5d84d1 Regen after changing Device ID string for DaisyTech devices.
MFC after:	1 week
2002-05-20 12:02:54 +00:00
Maxim Sobolev
b42df94a61 Change Device ID string for DaisyTech devices.
Submitted by:	Olexander Kunytsa <kunia@istc.kiev.ua>
MFC after:	1 week
2002-05-20 12:01:58 +00:00
Josef Karthauser
f737c3ae0a MFNetBSD: Bring in the most recent NetBSD and OpenBSD parts. 2002-05-09 21:55:47 +00:00
Peter Wemm
7cca309311 Use usb_callout_init() instead of directly calling callout_init() with
NetBSD's expected arguments.  This unbreaks the kernel compile.

Pointy hat to: joe
2002-05-09 21:08:34 +00:00
Josef Karthauser
4722fea82e MFNetBSD:
revision 1.43
    date: 2001/04/12 01:39:04;  author: thorpej;  state: Exp;  lines: +2 -2
    Switch to USB_USE_SOFTINTR.  The callout hack does indeed work
    fine for systems without generic soft interrupts, even if it is
    a little sub-optimal.  Consider it a penalty for ports not
    implementing a kernel API.

    Addresses kern/11957.  The PR has been open for 4 months, and
    I have work blocked on the continued existence of splimp() in
    the networking code.

The NetBSD patch only switches it on for NetBSD, but I've also
switched it on for FreeBSD in this commit.
2002-05-09 12:49:25 +00:00
Josef Karthauser
567f4af63d MFNetBSD: ugen.c (1.57), ulpt.c (1.48), usb.c (1.67), usbdi.c (1.96),
usbdi.h (1.60)
	  (and local changes compatibility changes to ufm.c and urio.c)

    date: 2002/02/11 15:11:49;  author: augustss;
    Give usbd_do_request_flags() an extra argument for the timeout.
2002-05-06 18:23:36 +00:00
Josef Karthauser
38c162edb3 MFNetBSD:
revision 1.94
    date: 2001/12/30 20:26:59;  author: augustss;  state: Exp;  lines: +5 -2
    Make sure we don't have any pending softintrs when entering polling mode.
    Thanks to Darrin for finding and fixing this problem when using USB
    keyboards in DDB.
2002-05-02 22:47:37 +00:00
Josef Karthauser
8a7a68b108 Some non-functional changes to make the differences between NetBSD's
and our version clear to see.
2002-04-29 16:23:14 +00:00
Maxim Sobolev
f4b27e80b3 Regen after rev.1.89 of usbdevs. 2002-04-29 15:02:30 +00:00
Maxim Sobolev
daa77b45ce Change Device ID string for DaisyTech devices to be more sensible.
PR:		37197
Submitted by:	Olexander Kunytsa <kunia@istc.kiev.ua>
2002-04-29 15:01:35 +00:00
Mike Barcroft
a30d4b3270 Move the new byte order function prototypes from <sys/param.h> to
<sys/endian.h>.  This puts us in line with NetBSD and OpenBSD.
2002-04-26 22:48:23 +00:00
Josef Karthauser
c628479a57 Add a power exceeded debug message.
Update the $NetBSD$ ident to match reality.
2002-04-25 12:58:30 +00:00
Josef Karthauser
8e0c4b3892 MFNetBSD:
revision 1.96
    date: 2001/11/22 21:59:33;  author: augustss;  state: Exp;  lines: +3 -3
    Correct a comment.
2002-04-25 12:51:08 +00:00
Josef Karthauser
9206cd4c25 MFNetBSD:
revision 1.95
    date: 2001/11/20 16:09:01;  author: augustss;  state: Exp;  lines: +39 -6
    Sanity check max packet lengths.
2002-04-25 12:49:38 +00:00
Josef Karthauser
cafee33353 MFNetBSD:
revision 1.94
    date: 2001/11/20 13:50:07;  author: augustss;  state: Exp;  lines: +16 -9
    Update for new speed handling.
2002-04-25 12:37:55 +00:00
Josef Karthauser
865fe6dbe4 Revert part of revision 1.49 which was supposed to be white space
only.  In the device probe we don't want to match unless there is
an iface structure already set up.
2002-04-17 12:03:20 +00:00
John Baldwin
3aa68913bc Make this compile again when UMASS_DEBUG isn't defined. 2002-04-11 21:09:41 +00:00
Nick Hibma
b2f485ca0d Delay umass_cam_rescan by 200 ms to make sure attach is finished by the
time we tell CAM to rescan the bus. Together with the previous patch
this should avoid the problem where the devices would wedge because they
got spoken to over two different pipes.

Tested by:	Tomas Pluskal <plusik@pohoda.cz>
2002-04-11 10:34:15 +00:00
Nick Hibma
380ee390fd Postpone I/O to the device until attach has finished. This fixes
attachment after boot in some cases where the device gets confused if
spoken to over two different pipes simultaneously (resulting in TIMEOUT
errors on requesting INQUIRY data).

This solution is far from perfect, as after umass_attach has returned
the USB stack fetches the string descriptors in order for creating the
event that is sent to userland. It just makes the chances of collisions
less likely.

Tested by: 	Tomas Pluskal <plusik@pohoda.cz>
2002-04-10 13:22:12 +00:00
Josef Karthauser
242fcd8d18 Slight tidy up to reduce the differences between our version and NetBSD's.
(No functional changes).
2002-04-09 12:55:46 +00:00
Josef Karthauser
0ad441b80d Lock down Giant in the usb_task_thread() kthread. 2002-04-08 18:13:21 +00:00
Josef Karthauser
64503575e3 Regenerate. 2002-04-08 10:17:19 +00:00
Josef Karthauser
43de0d9175 Add an entry for HP LaserJet 1200. 2002-04-08 10:16:19 +00:00
Josef Karthauser
c9627c73b3 General white space cleanup, to synchronise with NetBSD. 2002-04-07 18:33:12 +00:00
Josef Karthauser
40367ccba9 MFNetBSD:
revision 1.157
    date: 2002/03/16 16:13:41;  author: tsutsui;  state: Exp;  lines: +4 -4
    Fix a couple of typo:
    - s/ehci/uhci/ (in unused arg of macro)
    - s/ohci/uhci/ (in panic message)
2002-04-07 18:15:37 +00:00
Josef Karthauser
24c73fed01 MFNetBSD:
revision 1.156
    date: 2002/03/04 00:53:33;  author: augustss;  state: Exp;  lines: +3 -3
    Use the correct pointer for the timeout abort.
2002-04-07 18:14:08 +00:00
Josef Karthauser
d5b41c2348 MFNetBSD:
revision 1.155
    date: 2002/02/27 12:42:41;  author: augustss;  state: Exp;  lines: +8 -8
    Move the interrupt bailout when a cancelled ii is found.
2002-04-07 18:13:16 +00:00
Josef Karthauser
88bda4a206 MFNetBSD:
revision 1.154
    date: 2002/02/27 12:12:45;  author: augustss;  state: Exp;  lines: +14 -9
    Remove spurious splusb().
    Lower abort hardware wait.
2002-04-07 18:10:10 +00:00
Josef Karthauser
b146ba499d MFNetBSD: uhcireg.h (1.15), uhcivar.h (1.33)
date: 2002/02/11 11:41:30;  author: augustss;
    Switch to new abort mechanism.
2002-04-07 18:06:34 +00:00
Josef Karthauser
7080df5183 MFNetBSD:
revision 1.153
    date: 2002/02/11 11:40:33;  author: augustss;  state: Exp;  lines: +67 -26
    Switch to the same abort mechanism as in [eo]hci; it should be more
    robust.
2002-04-07 18:03:45 +00:00
Josef Karthauser
de36d7b363 MFNetBSD:
revision 1.151
    date: 2002/01/27 23:00:34;  author: augustss;  state: Exp;  lines: +3 -3
    Use M_WAITOK instead of M_NOWAIT when allocating extra descriptors.
    Spotted by OpenBSD.
2002-04-07 17:55:16 +00:00
Josef Karthauser
3ccc9447a9 MFNetBSD: hid.c (1.22), uhci.c (1.150), usb_subr.c (1.97)
date: 2002/01/14 13:23:37;  author: tsutsui;
    Call malloc(9) with M_ZERO flag instead of memset() after malloc().
2002-04-07 17:53:58 +00:00
Josef Karthauser
8c8cd21069 MFNetBSD: uhid.c (1.45), ums.c (1.49), usbdi_util.c (1.35), usbdi_util.h (1.23)
date: 2001/10/26 17:58:21;  author: augustss;
    s/usbd_alloc_report_desc/usbd_read_report_desc/
2002-04-07 17:13:00 +00:00
Josef Karthauser
5de3d8b11f MFNetBSD:
revision 1.44
    date: 2001/09/15 16:16:28;  author: yamt;  state: Exp;  lines: +3 -3
    correct debug messages.
2002-04-07 17:05:50 +00:00
Josef Karthauser
a0864e3a2a MFNetBSD: uhid.c (1.42 & 1.43), ugraphire_rdesc.h (1.1)
date: 2000/12/29 01:47:49;  author: augustss;
    Supply our own report descriptor (from Nick Hibma) for the Wacom Graphire.
    The descriptor it reports is broken.
    XXX Not tested, because I don't have the device.

    date: 2001/08/15 00:06:49;  author: augustss;  state: Exp;  lines: +3 -1
    If there was a vendor+product locator match return a higher match value.
    Rationale, if you have a device (e.g., a mouse) with a more specific
    driver but want to recognize it with the more generic driver you can
    do that by supplying vendor and product locators for the generic one.
2002-04-07 17:04:01 +00:00
Josef Karthauser
3aebbbbc02 Update $NetBSD$ idents. 2002-04-07 17:02:25 +00:00
Josef Karthauser
cea1dfbfb8 MFNetBSD:
revision 1.148
    date: 2001/11/21 12:25:55;  author: augustss;  state: Exp;  lines: +3 -3
    Fix typo in comment.
2002-04-07 16:38:14 +00:00
Josef Karthauser
9933dd4a4d Remove the overt differences between ours and NetBSD's version of this file. 2002-04-07 16:36:30 +00:00
Josef Karthauser
192ed2a524 Re-add the definitions of htole32(x) and le32toh(x) for OpenBSD. 2002-04-07 15:41:45 +00:00
Josef Karthauser
c82c28223c MFNetBSD:
revision 1.121
    date: 2002/03/16 16:11:18;  author: tsutsui;  state: Exp;  lines: +4 -4
    Fix a couple of typo:
    - s/ehci/ohci/ (in unused arg of macro)
    - s/uhci/ohci/ (in debug message)
2002-04-07 15:18:00 +00:00
Josef Karthauser
041ed0fb76 MFNetBSD: ohci.c (1.119), ohcivar.h (1.30)
date: 2001/12/31 12:20:35;  author: augustss;
    Change xfer abort to wait for the softintr to run.
2002-04-07 15:16:31 +00:00
Josef Karthauser
d9a23dc02c MFNetBSD:
revision 1.118
    date: 2001/12/27 18:48:28;  author: augustss;  state: Exp;  lines: +24 -5
    Add some DIAGNOSTIC stuf that I forgot.  From Nate Williams.
2002-04-07 15:12:07 +00:00
Josef Karthauser
1c6db1a232 MFNetBSD:
revision 1.117
    date: 2001/12/27 11:27:11;  author: augustss;  state: Exp;  lines: +5 -3
    Update a comment.
2002-04-07 15:08:39 +00:00
Josef Karthauser
daae4fc6d9 MFNetBSD:
revision 1.116
    date: 2001/11/21 08:18:40;  author: augustss;  state: Exp;  lines: +30 -3
    Pay more attention to if the HC is being unplugged.
2002-04-07 15:07:23 +00:00
Josef Karthauser
8f3c17c9ba MFNetBSD:
revision 1.27
    date: 2001/02/21 10:19:30;  author: minoura;  state: Exp;  lines: +2 -3
    There is no reason to exclude FreeBSD :).
2002-04-07 15:01:01 +00:00
Josef Karthauser
cc29ac735d MFNetBSD: ohci.c (1.114), ohcivar.h (1.29)
date: 2001/11/21 02:41:18;  author: augustss;
    Use a task to perform the timeout abort so we have a process context when
    sleeping.
2002-04-07 14:57:31 +00:00
Josef Karthauser
4e006c4cde MFNetBSD:
revision 1.113
    date: 2001/11/21 02:39:31;  author: augustss;  state: Exp;  lines: +10 -4
    Some more debug stuff.
2002-04-07 14:53:52 +00:00
Josef Karthauser
a19ddcb74b MFNetBSD: ohci.c (1.112), uhci.c (1.147)
date: 2001/11/21 02:38:35;  author: augustss;
    Cast some args to bitmask_snprintf().
2002-04-07 14:49:14 +00:00
Josef Karthauser
0f077873fe MFNetBSD: ohci.c (1.111), uhci.c (1.146)
date: 2001/11/20 21:12:46;  author: augustss;
    Don't bother with interrupts when being disconnected.
2002-04-07 14:45:38 +00:00
Josef Karthauser
dc6d4959c0 MFNetBSD: ohci.c (1.101), ohcivar.h (1.26)
revision 1.101
    date: 2001/02/20 15:20:32;  author: minoura;
    Re-initialize some registers after resuming from suspend.
    Some APM BIOSes do not restore them.
    Reviewd by augustss.
2002-04-07 14:40:15 +00:00
Josef Karthauser
916f3fce33 MFNetBSD:
revision 1.97
    date: 2000/12/31 14:29:54;  author: augustss;  state: Exp;  lines: +17 -3
    Make the controller survive suspend/resume.  Thanks to Steve Woodford
    <steve@mctavish.co.uk> for testing.
2002-04-07 14:34:23 +00:00
Josef Karthauser
0f3cf7038b MFNetBSD:
revision 1.95
    date: 2000/12/13 03:09:06;  author: augustss;  state: Exp;  lines: +19 -3
    Make the ohci driver not hang suspend/resume.  It still doesn't resume
    correctly.  From itohy@netbsd.org (ITOH Yasufumi) PR kern/11714.
2002-04-07 14:31:03 +00:00
Josef Karthauser
daad38f29f MFNetBSD: ohci.c (1.100), ohcivar.h (1.25)
ohci.c
    revision 1.100
    date: 2001/01/28 16:18:09;  author: augustss;  state: Exp;  lines: +7 -2
    Put a rate limiter on the scheduling overrun message.

ohcivar.h:
    revision 1.25
    date: 2001/01/28 19:01:20;  author: augustss;  state: Exp;  lines: +4 -1
    Commit second half of rate limit change.
2002-04-07 14:25:02 +00:00
Josef Karthauser
3119539124 MFNetBSD:
revision 1.58
    date: 2001/11/20 23:53:26;  author: augustss;  state: Exp;  lines: +61 -33
    Create a special kernel thread to run the usb short lived tasks (instead
    of using the device discovery threads).
2002-04-07 14:21:32 +00:00
Josef Karthauser
0f349fb04e MFNetBSD:
revision 1.65
    date: 2002/01/03 22:20:45;  author: augustss;  state: Exp;  lines: +9 -2
    Add a DIAGNOSTIC check.  From FreeBSD.

(Just wrap these changes, that we already had, with a #ifdef DIAGNOSTIC).
2002-04-07 14:12:56 +00:00
Josef Karthauser
00955db9e4 MFNetBSD:
revision 1.62
    date: 2002/01/02 20:55:58;  author: augustss;  state: Exp;  lines: +11 -10
    Some more usb_proc_ptr changes.
    Also some minor stylistic changes.

    revision 1.63
    date: 2002/01/02 20:58:12;  author: augustss;  state: Exp;  lines: +4 -4
    Fix typo in last commit.

    revision 1.64
    date: 2002/01/02 22:44:44;  author: augustss;  state: Exp;  lines: +7 -4
    Add a comment.

The usb_proc_ptr changes were introduced in 1.62 and backed out in 1.64.
2002-04-07 14:10:52 +00:00
Josef Karthauser
0af822462a MFNetBSD:
revision 1.61
    date: 2001/12/31 15:55:51;  author: augustss;  state: Exp;  lines: +3 -5
    Delay bus enumeration a little in case the controller is a companion
    controller.  This way the main controller can gain ownership of the port
    before enumeration starts.
2002-04-07 14:02:31 +00:00
Josef Karthauser
9a7693dbe2 MFNetBSD:
revision 1.59
    date: 2001/11/26 20:16:55;  author: augustss;  state: Exp;  lines: +3 -3
    Change wchan name for usb task thread.
2002-04-07 13:59:32 +00:00
Josef Karthauser
c47378c38f MFNetBSD: usb.c (1.58)
date: 2001/11/20 23:53:26;  author: augustss;  state: Exp;  lines: +61 -33
    Create a special kernel thread to run the usb short lived tasks (instead
    of using the device discovery threads).

The change to usb_port.h is a little hack whilst I address an issue
with NetBSD.
2002-04-07 13:58:06 +00:00
Nick Hibma
147fb5d0ca Regen. 2002-04-07 13:47:19 +00:00
Nick Hibma
c5c0113fd8 Add Scanlogic SL11R IDE Adapter. 2002-04-07 13:45:24 +00:00
Josef Karthauser
6d4cdfa024 Synchronise the code style with NetBSD. (No functional changes). 2002-04-07 13:37:46 +00:00
Josef Karthauser
47f7268805 MFNetBSD:
revision 1.69
    date: 2001/12/27 18:43:46;  author: augustss;  state: Exp;  lines: +3 -3
    Change some DIAGNOSTIC #defines.
2002-04-07 13:27:56 +00:00
Josef Karthauser
c6b0a4ae15 MFNetBSD:
revision 1.68
    date: 2001/12/24 21:36:16;  author: augustss;  state: Exp;  lines: +2 -1
    Add some more DIAGNOSTIC tests.
    Make usb_match_device() match on USB_PRODUCT_ANY.
2002-04-07 13:26:59 +00:00
Josef Karthauser
be55f9a1f2 MFNetBSD:
revision 1.67
    date: 2001/11/21 13:44:47;  author: augustss;  state: Exp;  lines: +3 -1
    Wrap dump routine prototypes in #ifdef USB_DEBUG
2002-04-07 13:20:26 +00:00
Josef Karthauser
7c21b0290d MFNetBSD: ukbd.c (1.52), usbdi.c (1.54), usbdi.h (1.35)
date: 2000/01/16 09:37:18;  author: augustss;
    Let usbd_set_polling() work on a usbd_device_handle instead of
    a usbd_interface_handle.
2002-04-07 13:16:18 +00:00
Josef Karthauser
58af1b84da MFNetBSD: usbdi.c (1.93), usbdi.h (1.59)
date: 2001/12/24 21:36:15;  author: augustss;
    Add some more DIAGNOSTIC tests.
    Make usb_match_device() match on USB_PRODUCT_ANY.
2002-04-07 12:42:18 +00:00
Josef Karthauser
4d20078c4a MFNetBSD:
revision 1.92
    date: 2001/12/12 15:38:58;  author: augustss;  state: Exp;  lines: +7 -3
    Some more paranoia checks when DIAGNOSTIC.
2002-04-07 12:38:16 +00:00
Josef Karthauser
59b1ccec79 Move a function to a different place in the source so that we match
NetBSD.
2002-04-07 12:32:55 +00:00
Josef Karthauser
f7f4bdbbcb Update $NetBSD$ ident. 2002-04-07 12:29:55 +00:00
Josef Karthauser
0de7764a0a MFNetBSD:
revision 1.88
    date: 2001/11/22 04:31:01;  author: augustss;  state: Exp;  lines: +3 -3
    Improve dump routine slightly.
2002-04-07 12:25:55 +00:00
Josef Karthauser
081d87cd07 MFNetBSD:
revision 1.87
    date: 2001/11/21 15:37:41;  author: augustss;  state: Exp;  lines: +5 -5
    Fix indentation and typos.
2002-04-07 12:24:55 +00:00
Josef Karthauser
906e5d2c1b We not long need to use USBD_NO_TSLEEP. 2002-04-07 12:19:50 +00:00
Josef Karthauser
f046c9272a MFNetBSD: usbdi.c (1.80), usbdi.h (1.51)
date: 2001/04/13 11:19:58;  author: augustss;
    Finally get rid of the UGLY and EVIL hack for avoiding tsleep().
2002-04-07 12:18:52 +00:00
Josef Karthauser
3847d1fda8 MFNetBSD: if_aue.c (1.26), if_auereg.h (1.6), if_cue.c (1.10),
if_cuereg.h (1.5), if_kue.c (1.11), if_kuereg.h (1.5)

    date: 2000/03/02 12:37:51;  author: augustss;
    Use ratecheck() to limit error messages on disconnect.
    Break out some common functionality.
2002-04-07 12:04:02 +00:00
Josef Karthauser
dfdec0c69e MFNetBSD: usbdi.c (1.63), usbdi.h (1.41)
date: 2000/03/02 12:37:51;  author: augustss;
    Use ratecheck() to limit error messages on disconnect.
    Break out some common functionality.

We don't have ratecheck() in our kernel yet, so I've hardcoded
usb_ratecheck() to return true always.
2002-04-07 11:56:19 +00:00
Josef Karthauser
7f31496b8f MFNetBSD:
revision 1.110
    date: 2001/11/20 16:08:10;  author: augustss;  state: Exp;  lines: +5 -4
    Use longer reset for root hubs (as told in the spec).
2002-04-07 11:42:39 +00:00
Josef Karthauser
9bf191c521 MFNetBSD: ohci.c (1.104), ohcivar.h (1.28)
date: 2001/09/28 23:57:21;  author: augustss;
    Reenable RHSC interrupt after one second so hot plugging works.
    (From OpenBSD.)
2002-04-07 11:33:55 +00:00
Josef Karthauser
b6955189b1 Reduce the difference between our version and NetBSD's. (No
functional changes.)
2002-04-07 11:29:31 +00:00
Josef Karthauser
896b2b5334 MFNetBSD:
revision 1.57
    date: 2001/11/20 16:08:37;  author: augustss;  state: Exp;  lines: +3 -2
    Add a comment.
2002-04-07 11:20:41 +00:00
Josef Karthauser
05f37aafc4 MFNetBSD: ohci.c (1.109), uhci.c (1.144), uhub.c (1.56), usb.c (1.57),
usbdi.c (1.86), usbdivar.h (1.66)
	  [Some partial, because most of this was merged in a while ago]

    date: 2001/11/20 13:48:03;  author: augustss;
    Keep track of device speed for USB 2.0.
2002-04-07 11:19:05 +00:00
Josef Karthauser
3b0f6960df MFNetBSD:
revision 1.55
    date: 2001/11/16 02:21:54;  author: augustss;  state: Exp;  lines: +4 -4
    Better error message.
2002-04-07 10:59:02 +00:00
Josef Karthauser
bcfc7cc136 MFNetBSD: uhub.c (1.54), usb_subr.c (1.92)
date: 2001/11/16 01:57:47;  author: augustss;
    Handle devices that disappear during reset gracefully.
2002-04-07 10:57:42 +00:00
Josef Karthauser
05172ec004 MFNetBSD: usbdi.c (1.85), usbdi.h (1.54), usbdi_util.c (1.37)
date: 2001/11/15 15:15:59;  author: augustss;
    usbd_interface2device_handle() cannot fail.
2002-04-07 10:50:41 +00:00
Josef Karthauser
2bffc02359 MFNetBSD: usbdi.c (1.82), usbdivar.h (1.64)
date: 2001/11/10 16:54:56;  author: augustss;
    Add some dump routines for debugging.
2002-04-07 10:41:51 +00:00
Josef Karthauser
264bb28fd4 MFNetBSD:
revision 1.81
    date: 2001/04/17 00:05:33;  author: augustss;  state: Exp;  lines: +7 -1
    Add a DIAGNOSTIC.
2002-04-07 10:38:07 +00:00
Josef Karthauser
eaf587ef2b MFNetBSD: usb_subr.c (1.90), usbdi.c (1.83), usbdivar.h (1.65)
date: 2001/11/10 17:11:38;  author: augustss;  state: Exp;  lines: +1 -2
    Get rid of unused abort_handle.
2002-04-07 10:36:15 +00:00
Josef Karthauser
93eb6f1095 MFNetBSD:
revision 1.52
    date: 2001/10/26 17:53:59;  author: augustss;  state: Exp;  lines: +8 -2
    Compare pointer with NULL instead of using them as a condition.
2002-04-07 10:31:39 +00:00
Josef Karthauser
60fb1d5b78 MFNetBSD:
revision 1.51
    date: 2001/10/24 15:30:17;  author: augustss;  state: Exp;  lines: +3 -3
    Better debug message.
2002-04-07 10:29:48 +00:00
Josef Karthauser
88f36e5813 MFNetBSD:
revision 1.107
    date: 2001/11/10 17:09:28;  author: augustss;  state: Exp;  lines: +31 -26
    Improve dump routines.
2002-04-07 10:24:52 +00:00
Josef Karthauser
138483b713 MFNetBSD:
revision 1.106
    date: 2001/11/09 15:01:57;  author: augustss;  state: Exp;  lines: +73 -57
    Fix a bug in xfer abort processing when the HC executes ahead of what
    the driver aborts.
    Don't block RHSC interrupts.
2002-04-07 10:21:16 +00:00
Josef Karthauser
f1310c18b4 MFNetBSD:
revision 1.105
    date: 2001/11/07 02:55:04;  author: augustss;  state: Exp;  lines: +17 -3
    Improve some debug messages.
2002-04-07 10:12:40 +00:00
Josef Karthauser
649e8d680c MFNetBSD: ohci.c (1.104), ohcireg.h (1.28)
date: 2001/09/28 23:57:21;  author: augustss;
    Reenable RHSC interrupt after one second so hot plugging works.
    (From OpenBSD.)
2002-04-07 10:09:23 +00:00
Josef Karthauser
44f1123ff9 MFNetBSD:
revision 1.103
    date: 2001/09/11 07:00:19;  author: augustss;  state: Exp;  lines: +4 -1
    Don't go top mode OPERATIONAL (before reset) on startup even
    if BIOS claims to have initialized the controller.
2002-04-07 10:04:16 +00:00
Josef Karthauser
fbc2dfc441 MFNetBSD:
revision 1.102
    date: 2001/04/01 15:00:29;  author: augustss;  state: Exp;  lines: +3 -1
    Add two missing splx() (inside DIAGNOSTIC).  From OpenBSD.
2002-04-07 10:02:45 +00:00
Josef Karthauser
16b08d2552 MFNetBSD:
revision 1.142
	date: 2001/10/25 02:08:13;  author: augustss;  lines: +14 -16
	Change reset sequence to get status change bits set right on startup.
2002-04-07 09:57:23 +00:00
Josef Karthauser
4792bfc8f6 MFNetBSD:
revision 1.141
	date: 2001/10/24 21:04:04;  author: augustss;  Exp;  lines: +20 -4
	Some more paranoia tests when entering the interrupt routine.
2002-04-07 09:52:49 +00:00
Josef Karthauser
db3c6cb423 Iron out some obvious differences between NetBSD's and own version of
this file.
2002-04-06 22:06:16 +00:00
Josef Karthauser
8d3dd017ad Define away 'Static' when compiling with USB_DEBUG defined, to make it
easier to debug.
2002-04-06 21:46:47 +00:00
Josef Karthauser
6a69a08a22 Use the UE_GET_XFERTYPE macro. 2002-04-06 21:28:57 +00:00
Josef Karthauser
dc2aa84c92 Remove some old unused cruft. 2002-04-06 21:03:49 +00:00
Josef Karthauser
2ce84795da Another step in merging our if_aue driver with NetBSD's. 2002-04-06 20:50:21 +00:00
Josef Karthauser
396a51fb2f Rename csr_{read,write}_* to cue_csr_{read,write}_*. 2002-04-06 20:24:25 +00:00
Josef Karthauser
47c61eef1b Rename foo_gone to foo_dying, in keeping with the rest of the usb code. 2002-04-06 20:17:13 +00:00
Josef Karthauser
3d9e00aa02 Replace device_t with device_ptr_t. 2002-04-06 19:55:52 +00:00
Josef Karthauser
fc5290cfa4 Regenerate. 2002-04-06 19:35:00 +00:00
Josef Karthauser
4ad5d253df Remove a erroneous entry for HP 5400C.
Spotted by:	phk
2002-04-06 15:00:41 +00:00
Poul-Henning Kamp
86383b37c0 Fix a typo in the definition of HP1220C and add a quick entry for
broken bidir mode for at as well.
2002-04-06 13:28:02 +00:00
Josef Karthauser
28543fc9c6 Regenerate. 2002-04-06 13:07:05 +00:00
Josef Karthauser
46d8539f1c Add some more printer devices:
DeskJet 1220C		from phk
  Scanjet 5400C		from NetBSD
  Inkjet P-2000U	from NetBSD
2002-04-06 13:06:07 +00:00
Josef Karthauser
1ea26b29b6 Synchronise with NetBSD for order and formatting; no functional changes. 2002-04-06 13:01:39 +00:00
Josef Karthauser
9ad42ab594 Add a new vendor: MINOLTA, and some products by them.
Partially submitted by:	asmodai
2002-04-06 12:27:23 +00:00
Poul-Henning Kamp
e9ad04e4e6 Make LINT compile again. 2002-04-05 17:45:47 +00:00
John Baldwin
6008862bc2 Change callers of mtx_init() to pass in an appropriate lock type name. In
most cases NULL is passed, but in some cases such as network driver locks
(which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used.

Tested on:	i386, alpha, sparc64
2002-04-04 21:03:38 +00:00
Josef Karthauser
86cf1335d5 Back the last commit out. The network drivers need reworking first. :( 2002-04-02 14:54:52 +00:00
Josef Karthauser
920153807b MFNetBSD: usbdi.c (1.80), usbdi.h (1.51)
date: 2001/04/13 11:19:58;  author: augustss;
    Finally get rid of the UGLY and EVIL hack for avoiding tsleep().
2002-04-02 14:28:18 +00:00
Josef Karthauser
5b33e5c6be MFNetBSD:
revision 1.89
    date: 2001/11/10 17:10:42;  author: augustss;  state: Exp;  lines: +2 -1
    Abort any xfers on the control pipe before closing it on detach.
2002-04-02 14:16:06 +00:00
Josef Karthauser
54d369e6e5 MFNetBSD: usb_port.h (1.45 partial), usb_subr.c (1.88)
date: 2001/11/10 16:53:32;  author: augustss;
    Small portability improvement.
2002-04-02 14:14:14 +00:00
Josef Karthauser
e92dc1d513 MFNetBSD: usb_subr.c (1.87), usbdi.h (1.53)
date: 2001/08/15 00:04:59;  author: augustss;
    Add a little infrastructure so that individual drivers can easily check
    if thee was a vendor+product locator match.
2002-04-02 14:08:43 +00:00
Josef Karthauser
246a3f534a Reduce differences between NetBSD's version and ours.
(Should be all white space related, but there's the removal of the
odd 'register' directive also).
2002-04-02 13:26:40 +00:00
Josef Karthauser
c8d05bc5f5 Use ANSI prototypes and declarations. 2002-04-02 11:54:28 +00:00
Josef Karthauser
4e6e5105b0 Use ANSI prototypes and declarations.
Rename csr_{write|read}_* to aue_csr_* in keeping with NetBSD.
2002-04-02 11:42:57 +00:00
Josef Karthauser
548db09f32 MFNetBSD:
revision 1.50
    date: 2001/04/12 01:18:24;  author: thorpej;  state: Exp;  lines: +6 -2
    Only if __HAVE_GENERIC_SOFT_INTERRUPTS is then splusb == splsoftnet
    (because we register the interrupt with IPL_SOFTNET).  However, if
    we're using a callout, then splusb == splsoftclock (because the
    callouts happen from the softclock interrupt).

    Note that splsoftnet blocks softclock interrupts, but this is
    meant to better describe what's going on.
2002-04-02 10:53:42 +00:00
Josef Karthauser
e373532341 MFNetBSD: (partial merge, as part was already there).
revision 1.56
    date: 2001/11/13 07:55:30;  author: augustss;  state: Exp;  lines: +4 -4
    Add some #endif comments.
2002-04-02 10:48:58 +00:00
Josef Karthauser
44e0c682e0 MFNetBSD:
revision 1.54
    date: 2001/11/09 14:59:11;  author: augustss;  state: Exp;  lines: +2 -1
    Add a debug message.
2002-04-02 10:47:01 +00:00
Josef Karthauser
09f681d7b7 MFNetBSD: usb.c (1.53), usbdi.h (1.49)
date: 2001/01/23 17:04:30;  author: augustss;
    Ad function to remove a usb task.
2002-04-02 09:58:16 +00:00
Josef Karthauser
7e9590a260 MFNetBSD:
revision 1.52
    date: 2001/01/21 19:00:29;  author: augustss;  state: Exp;  lines: +5 -0
    Ad a comment.
2002-04-02 09:51:10 +00:00
Josef Karthauser
e469fe6e0a MFNetBSD: uhub.c (1.49), usb.c (1.51), usbdi.h (1.48), usbdivar.h (1.63)
date: 2001/01/21 19:00:06;  author: augustss;
    Change the operation of the USB event thread.  Before it only
    performed USB device discovery, now it can also perform (short)
    tasks for device drivers that need a process context, but don't
    have one.  This is not pretty, but better than using busy-wait
    in an interrupt context.
2002-04-02 09:49:36 +00:00
Warner Losh
f585cabf8e Make this compile again after the recent NetBSD merge 2002-04-02 03:39:33 +00:00
Josef Karthauser
8cc91a531e MFNetBSD:
revision 1.140
    date: 2001/10/24 20:20:03;  author: augustss;  state: Exp;  lines: +9 -5
    More debug.
2002-04-01 22:03:37 +00:00
Josef Karthauser
96668eef93 MFNetBSD:
revision 1.138
    date: 2001/10/02 17:59:38;  author: pooka;  state: Exp;  lines: +6 -6
    move DIAGNOSTIC-printf up one block to make it reachable
    noted by Christophe Kalt in private email
2002-04-01 21:56:42 +00:00
Josef Karthauser
657544fc48 MFNetBSD:
revision 1.136
    date: 2001/07/11 14:11:00;  author: augustss;  state: Exp;  lines: +5 -5
    Rearrange register dump when the controller is dying.  Fixes PR 13430.
2002-04-01 21:52:45 +00:00
Josef Karthauser
dd355d5455 MFNetBSD:
revision 1.135
    date: 2001/04/01 14:59:52;  author: augustss;  state: Exp;  lines: +2 -4
    Avoid a potential null pointer dereference.  From OpenBSD.
2002-04-01 21:43:53 +00:00
Josef Karthauser
cf78a5199e MFNetBSD:
revision 1.134
    date: 2001/03/25 22:52:21;  author: augustss;  state: Exp;  lines: +4 -1
    Try to make resume work on more machines.
2002-04-01 21:42:43 +00:00
Josef Karthauser
8be36692c3 MFNetBSD: ohci.c (1.99), uhci.c (1.133), usb.c (1.49), usb_port.h
(1.39), usbdi.c (1.79), usbdi.h (1.47), usbdivar.h (1.62)

    date: 2001/01/21 02:39:52;  author: augustss;
    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.
2002-04-01 21:34:01 +00:00
John Baldwin
44731cab3b Change the suser() API to take advantage of td_ucred as well as do a
general cleanup of the API.  The entire API now consists of two functions
similar to the pre-KSE API.  The suser() function takes a thread pointer
as its only argument.  The td_ucred member of this thread must be valid
so the only valid thread pointers are curthread and a few kernel threads
such as thread0.  The suser_cred() function takes a pointer to a struct
ucred as its first argument and an integer flag as its second argument.
The flag is currently only used for the PRISON_ROOT flag.

Discussed on:	smp@
2002-04-01 21:31:13 +00:00
Josef Karthauser
a4a49508b4 MFNetBSD:
revision 1.132
    date: 2001/01/20 23:36:02;  author: augustss;  state: Exp;  lines: +6 -7
    Change some splusb() to splhardusb().
2002-04-01 21:18:50 +00:00
Josef Karthauser
a011c2e7a8 MFNetBSD: Update many URLs. 2002-04-01 21:13:22 +00:00
Josef Karthauser
9aee8efbeb MFNetBSD:
revision 1.40
    date: 2000/10/10 12:37:01;  author: augustss;  state: Exp;  lines: +4 -3
    Don't free unallocated pointer in detach (can happen if detach happens
    before attach has finished).
2002-04-01 20:32:50 +00:00
Josef Karthauser
236c85a379 MFNetBSD:
revision 1.60
    date: 2000/12/28 10:40:36;  author: augustss;  state: Exp;  lines: +2 -1
    #define for USB_2_0
2002-04-01 20:26:38 +00:00
Josef Karthauser
33ad8c22ff MFNetBSD:
revision 1.58
    date: 2000/06/24 04:12:53;  author: thorpej;  state: Exp;  lines: +5 -2
    Kill SPLUSBCHECK -- it's not portable, and quite annoying on some
    platforms which otherwise function just fine.
2002-04-01 20:23:50 +00:00
Josef Karthauser
493a192aa3 MFNetBSD:
revision 1.130
    date: 2000/12/18 15:55:30;  author: tsutsui;  state: Exp;  lines: +2 -2
    Add missed le32toh() in uhci_device_isoc_abort().
2002-04-01 20:18:21 +00:00
Josef Karthauser
ce2613651f MFNetBSD:
revision 1.129
    date: 2000/12/16 16:09:24;  author: augustss;  state: Exp;  lines: +4 -3
    Don't repeat 'host controller halted' message.  From OpenBSD.
2002-04-01 20:14:23 +00:00
Josef Karthauser
5b78cc48f6 MFNetBSD:
revision 1.127
    date: 2000/11/22 05:50:59;  author: soren;  state: Exp;  lines: +5 -5
    In uhci_intr(), only warn about power state confusion if the
    interrupt was actually for us.
2002-04-01 20:04:00 +00:00
Josef Karthauser
3974e26c89 MFNetBSD: ohci.c rev 1.94, uhci.c rev 1.126
date: 2000/11/10 14:11:49;  author: augustss;
    Update frlengths after a isoc transfer.
    Suggested by Yuri <yuri@tsoft.com>
2002-04-01 20:01:41 +00:00
Josef Karthauser
273b8b7d6f MFNetBSD: ohci.c rev 1.92, uhci.c rev 1.122 (part)
date: 2000/08/08 19:51:46;  author: tv;  state: Exp;  lines: +24 -13
    %b -> bitmask_snprintf()

    Because this code is shared, add a macro for bitmask_snprintf()
    that should expand to the equivalent snprintf() on non-NetBSD
    systems. This is only used in ?HCI_DEBUG cases anyway.
2002-04-01 19:42:51 +00:00
Josef Karthauser
b74ee36d30 MFNetBSD:
revision 1.86
    date: 2001/05/16 04:50:11;  author: lukem;  state: Exp;  lines: +1 -2
    delint: remove unnecessary assignment to same objection (hidden
    in #define)
2002-04-01 19:26:36 +00:00
Josef Karthauser
a4c63369dd constify 2002-04-01 19:22:04 +00:00
Josef Karthauser
174ea84839 Use ANSI prototypes and declarations.
Update $NetBSD$ idents to better reflect reality.
2002-04-01 19:01:09 +00:00
Josef Karthauser
8271e9b194 Update $NetBSD$ idents to better reflect reality. 2002-04-01 18:31:16 +00:00
Josef Karthauser
b47a67cb20 Merge from NetBSD:
revision 1.81
    date: 2000/10/24 15:01:26;  author: augustss;  lines: +36 -10
    Add a hack to try and figure out if the TI UTUSB41 hub is bus
    powered despite claiming to be self powered (it's important to
    know so that the power budget can be met).
2002-04-01 18:22:31 +00:00
Josef Karthauser
8d6c171c25 Merge from NetBSD: revision 1.72
Part of this got merged in a previous commit, but not all.

    revision 1.72
    date: 2000/04/14 14:13:56;  author: augustss;  state: Exp;  lines: +34 -27
    Make attach of ugen work as it should so product&vendor locators
    can be used.
2002-04-01 18:03:00 +00:00
Josef Karthauser
84aa7f035a Update $NetBSD$ idents to reflect reality. 2002-04-01 17:54:07 +00:00
Josef Karthauser
cf39046c9d Merge from NetBSD: Removed unnecessary variable declaration. 2002-04-01 17:49:12 +00:00
Josef Karthauser
44b382cbc0 Synchronise with the NetBSD version of this header file for formatting. 2002-04-01 17:43:28 +00:00
Josef Karthauser
d262a59fb2 Merge from NetBSD: usbdi.c rev 1.77, usbdi.h rev 1.44
date: 2000/09/23 21:02:04;  author: augustss;
    Add a way to do control transfers on other pipes than the default pipe.
2002-04-01 17:30:24 +00:00
Josef Karthauser
b588f0eca0 Use ANSI prototypes and declarations. 2002-04-01 17:24:49 +00:00
Josef Karthauser
7b51deb455 Merge from NetBSD: Make it compile with USB_DEBUG. 2002-04-01 17:05:55 +00:00
Josef Karthauser
167145ddc0 Merge from NetBSD:
usb.c rev 1.43, usb_port.h rev 1.26, usb_subr.c rev 1.71

Some OpenBSD portability fixes.
2002-04-01 16:53:29 +00:00
Josef Karthauser
0f657c164b Merge from NetBSD:
usb.c 1.40:
    revision 1.40
    date: 2000/03/14 23:13:12;  author: augustss;  state: Exp;  lines: +4 -1
    Make sure the USB event thread discovers all devices first time
    it call usb_discover().  It should now be possible to have the
    root NFS mounted over a USB Ethernet Adapter.
2002-04-01 16:29:24 +00:00
Josef Karthauser
c0fdce4463 Merge from NetBSD:
usb_port.h (1.33), usbdi_util.c (1.32), usbdi_util.h (1.22):

    ----------------------------
    date: 2000/06/01 14:37:51;  author: augustss;
    Improve some portability items.
    ----------------------------
2002-04-01 16:09:43 +00:00
Josef Karthauser
85b64f4cea Tidy up the formatting so that it's in the style of NetBSD's copy of
this file.
2002-04-01 15:37:00 +00:00
Josef Karthauser
dd78396c46 Use ANSI prototypes and declarations. 2002-04-01 15:01:29 +00:00
Josef Karthauser
981149d059 Merge from NetBSD:
----------------------------
    revision 1.26
    date: 1999/11/28 22:49:53;  author: augustss;  state: Exp;  lines: +12 -8
    More USB_DEBUG and DIAGNOSTIC output.
    ----------------------------
2002-04-01 13:50:42 +00:00
Josef Karthauser
21034e3fc8 Merge from NetBSD:
----------------------------
    revision 1.73
    date: 2000/05/31 16:14:42;  author: augustss;  state: Exp;  lines: +19 -6
    Be more careful when setting the alternate interface so we don't
    end up with nothing set at all if it fails.
    ----------------------------
2002-04-01 13:43:02 +00:00
Josef Karthauser
04b496f565 Merge from NetBSD:
----------------------------
	revision 1.117
	date: 2000/05/30 09:26:06;  author: augustss;  lines: +7 -1
	As a safety, check that the controller is not suspended when we get
	an interrupt.
	----------------------------
2002-04-01 13:36:09 +00:00
Josef Karthauser
55b7d12d51 Merge from NetBSD:
----------------------------
	revision 1.90
	date: 2000/05/08 18:28:46;  author: thorpej;  lines: +8 -3
	Quiet some uninitialized variable warnings that do in fact
	look legitimate.
	----------------------------
2002-04-01 13:28:49 +00:00
Josef Karthauser
3b53380927 Add a clarifying comment (from NetBSD).
Update the $NetBSD$ ident to reflect reality.
2002-04-01 13:26:27 +00:00
Josef Karthauser
a5450efd66 Merge from NetBSD:
ohci.c (1.85), ohcireg.h (1.17):

	----------------------------
	date: 2000/04/01 09:27:35;  author: augustss;
	Add a delay before reading the number of ports from the controller to
	avoid getting 0 from it.
	----------------------------
2002-04-01 13:21:43 +00:00
Josef Karthauser
6688a3fdbe Merge from NetBSD:
ohci.c (1.83), ohcireg.h (1.16), ohcivar.h (1.21)

	===================================================================
	date: 2000/03/29 01:46:26;  author: augustss;
	A first stab at support for isochronous transfers.
	===================================================================
2002-04-01 13:18:11 +00:00
Josef Karthauser
d1c9105874 Regen. 2002-03-31 21:38:38 +00:00
Josef Karthauser
b730bb6d61 Add more usb adapters, from NetBSD. 2002-03-31 21:38:05 +00:00
Josef Karthauser
990e9fea48 Use usb_lookup instead of rolling our own.
Suggested by:	Lennart Augustsson <lennart@augustsson.net>
2002-03-28 12:22:58 +00:00
Josef Karthauser
fed2df0509 Remove some surplus whites. 2002-03-28 12:06:29 +00:00
Josef Karthauser
c465d35466 Move some includes around to make it more *BSD compliant.
Suggested by:	Lennart Augustsson <augustss@netbsd.org>
2002-03-27 13:32:42 +00:00
David E. O'Brien
06989891ed Fix warnings on 64-bit hosts. 2002-03-20 18:04:11 +00:00
Alfred Perlstein
e51a25f850 Remove __P. 2002-03-20 02:08:01 +00:00
Peter Wemm
0d87e7d007 Fix some gcc-3.1+ warnings:
warning: deprecated use of label at end of compound statement
umass.c:2626:46: multi-line string literals are deprecated
2002-03-19 23:20:21 +00:00
Josef Karthauser
2d4ac0e834 Sync the uhci_dump_foo routines with NetBSD, and remove an errant additional
uhci_dump_ii function that landed there, probably during a recent merge.

Spotted by:	alfred
2002-03-19 22:14:08 +00:00
Alfred Perlstein
67b362072d add missing semicolon. 2002-03-19 21:44:49 +00:00
Peter Wemm
9a8fa41c6f Regen; post SMC id's and also pick up a previously forgotten regen(?). 2002-03-19 10:55:39 +00:00
Peter Wemm
58b0048916 Add another SMC device ID and the hub ID that it went with. 2002-03-19 10:54:40 +00:00
Josef Karthauser
916e6e02e5 Add a USB comm driver.
Ported from NetBSD by:	akiyama
2002-03-18 18:23:42 +00:00
Josef Karthauser
3ede2e88ea Merge from NetBSD:
ohcivar.h (1.22), uhcivar.h (1.29):
	============================================================
	date: 2000/04/25 09:20:55;  author: augustss;
	Move the size of the mapped bus_space region into the bus
	independent softc.
	============================================================

ohci.c (1.88), uhci.c (1.112):
	============================================================
	date: 2000/04/25 14:28:13;  author: augustss;
	Insert (very conservative!) bus_space_barrier() calls at
	all register accesses.
	The bus_space(9) man page says you've gotta have them...
	============================================================
2002-03-16 12:44:21 +00:00
Josef Karthauser
cdd493aa00 Bump some $NetBSD$ idents for patches that have already been previously
ported.
2002-03-16 12:24:00 +00:00
Josef Karthauser
5a11d73afa Huge merge from NetBSD:
usbdi.c (1.61):
	===================================================================
	revision 1.61
	date: 2000/01/31 20:13:07;  author: augustss;  lines: +20 -4
	Change the way the HC done method is invoked a little.
	===================================================================

usbdi.c (1.65):
	===================================================================
	revision 1.65
	date: 2000/03/08 15:34:10;  author: augustss;  lines: +4 -2
	Get the status right when a polled transfer times out.
	===================================================================

ohci.c (1.79), uhci.c (1.89), uhcivar.h (1.24), usb_port.h (1.22),
usbdivar.h (1.48):
	===================================================================
	date: 2000/03/23 07:01:46;  author: thorpej;
	New callout mechanism with two major improvements over the old
	timeout()/untimeout() API:
	- Clients supply callout handle storage, thus eliminating problems of
	  resource allocation.
	- Insertion and removal of callouts is constant time, important as
	  this facility is used quite a lot in the kernel.

	The old timeout()/untimeout() API has been removed from the kernel.
	===================================================================

uhci.c (1.80), usbdi.c (1.66):
	===================================================================
	date: 2000/03/23 18:59:10;  author: thorpej;
	Shake out some bugs from the callout changes.
	===================================================================

ohci.c (1.80), uhci.c (1.91), uhcivar.h (1.25), usb_port.h (1.23),
usbdi.c (1.67), usbdivar.h (1.49):
	===================================================================
	date: 2000/03/24 22:03:30;  author: augustss;
	Some cleanup and renaming of the callouts used in USB drivers.
	===================================================================

uhci.c (1.92), uhcivar.h (1.26):
	===================================================================
	date: 2000/03/24 22:57:58;  author: augustss;
	Two major changes:

	  Make each xfer have its own intr_info.  This is necessary if we want
	  to queue multiple xfers on an endpoint.  This should get rid of the
	  (mostly harmless) DIAGNOSTICs about intr_infos (not) being done.

	  Change (again!) how xfers are aborted.  Aborting a TD is a nightmare
	  on the braindead UHCI controller.  (Unless you stop the HC, thereby
	  losing isoc traffic.)  Hopefully I got it right this time.
	===================================================================

usbdivar.h (1.50):
	===================================================================
	revision 1.50
	date: 2000/03/25 00:10:19;  author: augustss;  lines: +4 -2
	GC an unsued field and add some DIAGNOSTIC in xfer.
	===================================================================

ums.c: Use the callout functions instead of the timeout ones.

uhci.c (1.93):
	===================================================================
	revision 1.93
	date: 2000/03/25 00:11:21;  author: augustss;
	lines: +26 -1
	Add more DIAGNOSTIC when aborting isoc.
	===================================================================

uhci.c (1.94), usbdivar.h (1.51):
	===================================================================
	date: 2000/03/25 07:13:05;  author: augustss;
	More DIAGNOSTIC.
	Initialize a callout handle I forgot.
	===================================================================

uhci.c (1.95):
	===================================================================
	revision 1.95
	date: 2000/03/25 07:23:12;  author: augustss;
	Exp;  lines: +24 -7
	Improve uhci_dump_ii().
	===================================================================

ohci.c (1.81), uhci.c (1.96), uhcivar.h (1.27), usb_subr.c (1.68),
usbdi.c (1.68), usbdivar.h (1.52):
	===================================================================
	date: 2000/03/25 18:02:33;  author: augustss;
	Rename and move around callout handles to make it more sane.
	Add some DIAGNOSTIC.
	Fix buglet in isoc abort on UHCI.
	===================================================================

uhci.c (1.98):
	===================================================================
	revision 1.98
	date: 2000/03/27 07:39:48;  author: augustss;  lines: +12 -4
	Make it compile without DIAGNOSTIC.
	===================================================================

uhci.c (1.99):
	===================================================================
	revision 1.99
	date: 2000/03/27 08:01:09;  author: augustss;  lines: +1 -5
	Remove some debug nonsense.
	===================================================================

uhci.c (1.100):
	===================================================================
	revision 1.100
	date: 2000/03/27 09:41:36;  author: augustss;  lines: +13 -3
	Don't mess with QH in bulk abort for the moment.
	===================================================================

uhci.c (1.102):
	===================================================================
	revision 1.102
	date: 2000/03/27 22:42:57;  author: augustss;  lines: +66 -26
	Be a little more careful when aborting.
	Preallocate some TDs for large buffers.
	===================================================================

uhci.c (1.103):
	===================================================================
	date: 2000/03/28 09:47:10;  author: augustss;  lines: +11 -1
	Another patch for xfer abort...
	XXX The current xfer queueing and aborting semantics should really
	XXX be changed.  It cannot be implemented in a sane way on UHCI.
	XXX One day when I have lots of time I'll redesign it...
	===================================================================

uhci.c (1.104): Correct a debug message.
uhci.c (1.105): Be more defensive in a DIAGNOSTIC test.

uhci.c (1.106):
	===================================================================
	revision 1.106
	date: 2000/03/29 01:49:13;  author: augustss;  lines: +14 -309
	*SIGH*  Revert back to the old method of aborting xfers.
	I had tested the new stuff for two months now, but as soon as I commited
	it the problems started to appear.  Murphy, no doubt...
	===================================================================

usb_subr.c (1.70), usbdi.c (1.71), usbdivar.h (1.53):
	===================================================================
	revision 1.70
	date: 2000/03/29 01:45:20;  author: augustss;  lines: +2 -1
	Do not accept new xfers for queuing while a pipe is aborting.
	===================================================================
2002-03-16 12:06:01 +00:00
Alfred Perlstein
85f190e4d1 Fixes to make select/poll mpsafe.
Problem:
  selwakeup required calling pfind which would cause lock order
  reversals with the allproc_lock and the per-process filedesc lock.
Solution:
  Instead of recording the pid of the select()'ing process into the
  selinfo structure, actually record a pointer to the thread.  To
  avoid dereferencing a bad address all the selinfo structures that
  are in use by a thread are kept in a list hung off the thread
  (protected by sellock).  When a selwakeup occurs the selinfo is
  removed from that threads list, it is also removed on the way out
  of select or poll where the thread will traverse its list removing
  all the selinfos from its own list.

Problem:
  Previously the PROC_LOCK was used to provide the mutual exclusion
  needed to ensure proper locking, this couldn't work because there
  was a single condvar used for select and poll and condvars can
  only be used with a single mutex.
Solution:
  Introduce a global mutex 'sellock' which is used to provide mutual
  exclusion when recording events to wait on as well as performing
  notification when an event occurs.

Interesting note:
  schedlock is required to manipulate the per-thread TDF_SELECT
  flag, however if given its own field it would not need schedlock,
  also because TDF_SELECT is only manipulated under sellock one
  doesn't actually use schedlock for syncronization, only to protect
  against corruption.

Proc locks are no longer used in select/poll.

Portions contributed by: davidc
2002-03-14 01:32:30 +00:00
Warner Losh
a2df0b493e On FreeBSD make usb_proc_t the same as d_thred_t always. 2002-03-11 16:38:53 +00:00
Josef Karthauser
be036866cf Be more specific about when block major numbers disappeared from
the cdev switch.
2002-03-11 16:22:15 +00:00
Luigi Rizzo
7c1e1cf188 Fix one genuine bug and a potential one:
-#if defined(__FreeBSD__) && __FreeBSD_version__ >= 500023
  +#if defined(__FreeBSD__) && __FreeBSD_version >= 500023

is a genuine bug -- __FreeBSD_version__ does not exist.
The other one:

  -#if (__FreeBSD__ < 5)
  +#if (__FreeBSD_version < 500000)

pops out when you cross-compile the code:

  __FreeBSD__			is a compiler predefine,
  __FreeBSD_version		is defined in <sys/param.h> .

Given that in this case (and all others in sys/dev/usb and sys/i4b)
the goal is to adapt to a different kernel interface, and not to
a compiler feature, I believe the correct form is the second one
(in the best case the two are synonyms so the change does not break
anything anyways).
2002-03-10 08:29:53 +00:00
Alfred Perlstein
63c6b757ab Support for USB fm radio.
Submitted by: David Yeske <dyeske@yahoo.com>
2002-03-04 03:51:21 +00:00
Peter Wemm
e51c24920f Fix debug printf formats 2002-02-28 00:06:59 +00:00
Julian Elischer
ca9d2dbac9 Add a comment explaining a code change.. 2002-02-27 19:24:55 +00:00
Thomas Moestl
90ce56c287 Add the following functions/macros to support byte order conversions and
device drivers for bus system with other endinesses than the CPU (using
interfaces compatible to NetBSD):

- bwap16() and bswap32(). These have optimized implementations on some
  architectures; for those that don't, there exist generic implementations.
- macros to convert from a certain byte order to host byte order and vice
  versa, using a naming scheme like le16toh(), htole16().
  These are implemented using the bswap functions.
- stream bus space access functions, which do not perform a byte order
  conversion (while the normal access functions would if the bus endianess
  differs from the CPU endianess).

htons(), htonl(), ntohs() and ntohl() are implemented using the new
functions above for kernel usage. None of the above interfaces is currently
exported to user land.

Make use of the new functions in a few places where local implementations
of the same functionality existed.

Reviewed by:	mike, bde
Tested on alpha by:	mike
2002-02-27 17:16:18 +00:00
Julian Elischer
13b33111fe Fix warnings that have become fatal
1/ conditionalise (#if 0) function that is not used.
 Unused code left in place for netBSD compatibility.
2/ Recode loop to convince gcc that it does initialise a variable
 (use do-while instead of for() so gcc knows that we always go through
 at least once.  Feel free to check my logic.
2002-02-27 09:16:00 +00:00
Josef Karthauser
dae0af0c83 Revert part of the last commit. A couple of defines were removed
by NetBSD because they don't use them (they've no usbd), but we do.
2002-02-26 10:00:32 +00:00
Alfred Perlstein
6f65a2bd46 in ulpt_reset() req.bmRequestType was unitialized, fix it. 2002-02-26 01:19:56 +00:00
Josef Karthauser
648b06a6ed Merge from NetBSD:
usb.h (rev 1.61):

    date: 2002/01/01 14:23:37;  author: augustss;
    Add a missing subclass definition.

usb.h (rev 1.63) and usb_port.h (rev 1.52):

    date: 2002/02/25 00:46:37;  author: augustss;
    Some portability improvement.
    Add define for usb.h version.
2002-02-26 01:15:08 +00:00
Alfred Perlstein
5bcd0580d7 Prefix structure members to protect them against clashes with eg.
c++ keywords.

This keeps us in sync with NetBSD because they actually committed
my delta first.

Ok'd by: lennard
2002-02-20 20:47:21 +00:00
Nick Hibma
dfe6efdcae Clean up some debugging output.
Add function to display the CBI command block.
2002-02-19 10:53:25 +00:00
Josef Karthauser
6f72be8e18 Merge from NetBSD:
* rev 1.47: Update a URL
* rev 1.56: Keep track of device speed for USB 2.0.
2002-02-19 02:00:27 +00:00
Josef Karthauser
a10b07e4ec Fix a formatting error. 2002-02-17 12:41:50 +00:00
Josef Karthauser
97e5881fe1 KNF style the code, ready for an MFC. 2002-02-17 12:29:39 +00:00
Josef Karthauser
1b262fd0c5 KNF style the code, ready for an MFC. 2002-02-17 11:58:58 +00:00
Josef Karthauser
4d0649fbad Merge from NetBSD:
Pave the way for USB2, by replacing 'lowspeed' with 'speed', so
that it can take the values USB_SPEED_LOW, USB_SPEED_FULL or in
time USB_SPEED_HIGH.
2002-02-16 00:51:26 +00:00
Josef Karthauser
c67fd26e98 Re-add bmaj to the cdevsw's, but don't compile it in on -current.
This makes the code more portable between -current, -stable and the
other BSDs.
2002-02-15 22:54:10 +00:00
Brian Feldman
d515a5410b Fix a bug introduced in rev.1.40 which can cause systems to crash when
detaching USB devices.  Specifically, a variable which was not meant
to be reused was, in fact, being reused.
2002-02-14 08:22:37 +00:00
Josef Karthauser
c0af27c95f Regenerate. 2002-02-14 03:03:08 +00:00
Josef Karthauser
09ecaa66fc Support the HP 5400C scanner.
PR:		kern/34783
2002-02-14 02:51:12 +00:00
Josef Karthauser
7dcd88f85f Rework revision 1.12, and wrap the bmaj entry with an #if doesn't
compile it in on FreeBSD-current, but does in all other cases
(-stable, NetBSD, OpenBSD, etc).
2002-02-14 00:35:03 +00:00
Josef Karthauser
d0d80d05a6 Reinstate revision 1.14. The empty uscannerioctl() was accidently
re-added during a recent NetBSD merge.
2002-02-14 00:32:03 +00:00
Josef Karthauser
d740688b87 Fix some bugs in the ohci driver with respect to irq setup failure.
Submitted by:	nyan
2002-02-11 14:39:57 +00:00
Josef Karthauser
d41fcbf0d0 Merge from NetBSD: revs 1.89 and 1.90.
Also, add some 'const's to supress warnings. (Submitted back to NetBSD).

The original logs from NetBSD:

	----------------------------
	revision 1.90
	date: 2001/12/03 01:47:12;  author: augustss;  lines: +4 -4
	Handle vendor/product lookup with a common routine.
	----------------------------
	revision 1.89
	date: 2001/12/02 23:25:25;  author: augustss;  lines: +18 -2
	Add a subroutine to search for a vendor/product pair.
	----------------------------
2002-02-11 10:09:29 +00:00
Josef Karthauser
f2671fcf9f Regenerate. 2002-02-11 03:36:13 +00:00
Josef Karthauser
2097055fac Merge from NetBSD.
Add lots of new scanner devices:

	AGFA SNAPSCAN1236U
	AGFA SNAPSCANE40
	AGFA SNAPSCANE50
	AGFA SNAPSCANE20
	AGFA SNAPSCANE25
	AGFA SNAPSCANE26
	AGFA SNAPSCANE52
	CANON N656U
	HP 3400CSE
	SCANLOGIC 336CX
	MUSTEK BEARPAW1200F
	MUSTEK 600USB
	MUSTEK 1200USBPLUS
	NATIONAL BEARPAW2400
	EPSON 640U
	EPSON 1650
	EPSON GT9700F
	UMAX ASTRA3400
	ULTIMA 1200UBPLUS
2002-02-11 03:35:53 +00:00
Josef Karthauser
4f26a426ab Quiet a qualifier warning. 2002-02-11 03:29:35 +00:00
Josef Karthauser
ce3eae9093 Merge from NetBSD: revs 1.55 and 1.56
Original NetBSD logs:

	----------------------------
	revision 1.56
	date: 2001/12/03 01:47:12;  author: augustss;  lines: +5 -3
	Handle vendor/product lookup with a common routine.
	----------------------------
	revision 1.55
	date: 2001/12/02 23:25:25;  author: augustss;  lines: +8 -1
	Add a subroutine to search for a vendor/product pair.
	----------------------------
2002-02-11 03:15:08 +00:00
Josef Karthauser
50a56fbebd Merge from NetBSD: revs 1.12 and 1.21 - 1.23
Original NetBSD log messages are:

	----------------------------
	revision 1.23
	date: 2001/12/12 15:48:18;  author: augustss;  lines: +132 -114
	Add a scanner quirk for keeping the pipes open between device opening.
	Idea from Enami.
	----------------------------
	revision 1.22
	date: 2001/12/03 01:47:13;  author: augustss;  lines: +8 -16
	Handle vendor/product lookup with a common routine.
	----------------------------
	revision 1.21
	date: 2001/12/01 09:42:39;  author: enami;  lines: +4 -4
	Shorten wmesg so that they can be distinguished in ps/top output.
	----------------------------
	revision 1.12
	date: 2001/01/23 14:04:14;  author: augustss;  lines: +7 -1
	Make sure driver attach/detach events are generated in a
	consistent manner.
	----------------------------

PR:
Submitted by:
Reviewed by:
Approved by:
Obtained from:
MFC after:
2002-02-11 02:57:50 +00:00
Josef Karthauser
2c0634eab6 ANSIfy the function declarations, in line with NetBSD. 2002-02-11 02:25:47 +00:00
Josef Karthauser
d7b35d44a1 Merge from NetBSD: revs 1.43 + 1.45
From the NetBSD logs:

    revision 1.45
    date: 2001/11/29 11:07:12;  author: augustss;  state: Exp;  lines: +12 -2
    Plug a memory leak in an error case.
    ----------------------------
    revision 1.43
    date: 2001/10/19 15:30:25;  author: nathanw;  state: Exp;  lines: +5 -3
    Match printers that report their interface as IEEE 1284 in addition to
    bidirectional.
2002-02-11 01:04:46 +00:00
Josef Karthauser
f512ee4052 Fill in the uhci_dump_ii function (from NetBSD). 2002-02-10 15:38:47 +00:00
Julian Elischer
4ad88f2ca4 Make LINT compile after fruitless attempts to get the authors
to fix their code.

ata stuff:
Change name of ar_attach to not colide with existing ar_attach in if_ar.c.
usb stuff:
Create a dummy function to satisfy a call to it when in DEBUG mode.
2002-02-06 19:35:37 +00:00
Josef Karthauser
0a7fe9cc0b Follow NetBSD and ANSIfy the function definitions.
Remove trailing whitespaces (submitted to NetBSD).
2002-02-03 17:03:34 +00:00
Josef Karthauser
f353db9f9a Regenerate. 2002-02-02 21:12:22 +00:00
Josef Karthauser
8df3da9acc Update comments and product identifiers so that they're the same
as NetBSD's definitions.
2002-02-02 21:09:54 +00:00
Josef Karthauser
a342523198 Add some missing usb vendors (from NetBSD). 2002-02-02 21:02:13 +00:00
Josef Karthauser
c910612aa9 Sync with NetBSD's version, dropping all the 'ltd', 'corp', etc.
It's more important to keep this file easily syncable across the
BSDs, and NetBSD have stated a preference for not adding them to
theirs.
2002-02-02 20:59:43 +00:00
Maxim Sobolev
e6f56180e3 Add support of PhotoClip USB Camera (http://www.myphotoclip.com):
- Vendor&Device IDs for USB product,
- quirk for SCSI CAM.

PR:		34481
Submitted by:	Olexander Kunytsa <kunia@x-telecom.net>
MFC in:		3 days
2002-01-31 11:39:17 +00:00
Josef Karthauser
a07e9d4af3 Merge from NetBSD.
uhub.c:     revision 1.37
    usb.4:      revision 1.30
    usb.c:      revision 1.38
    usb.h:      revision 1.40
    usb_port.h: revision 1.21
    usb_subr.c: revision 1.65
    usbdi.h:    revision 1.40

Split the attach/detach events up into device, driver and controller
attach and detach events.

The commit message from NetBSD was:
        date: 2000/02/02 07:34:00;  author: augustss;  state: Exp;
        Change the USB event mechanism to include more information
        about devices and drivers.  Partly from FreeBSD.

Also rework usbd to take these new event types into account.
2002-01-28 01:03:19 +00:00
Josef Karthauser
67a2e47022 Rearrange the code in USB_DETACH, so that it's like NetBSD's. No
functional change.
2002-01-26 14:00:25 +00:00
Josef Karthauser
eb92aa3c3e Back out the last commit. I committed the wrong file by accident.
The commit message wasn't relevant to that change.  This code will
be committed later.
2002-01-26 13:57:08 +00:00
Josef Karthauser
7fac607b74 Rearrange the code in USB_DETACH, so that it's like NetBSD's.
No functional change.
2002-01-26 13:52:53 +00:00
Josef Karthauser
3d21044dd1 Update the $NetBSD$ ident. 2002-01-26 13:09:52 +00:00
Josef Karthauser
baf3f0817e Reduce the diffs between NetBSD and our version where appropriate
(comments, etc.)
2002-01-26 13:08:57 +00:00
Josef Karthauser
31c1f0005b Merge from NetBSD:
usb.c:	revision 1.39

	revision 1.39
	date: 2000/02/22 11:30:56;  author: augustss;  lines: +7 -1
	Prepare a little for having USB interrupt processing done
	outside the hard interrupt level (in a thread or a softintr).
	No real soft processing done yet.
2002-01-26 12:48:57 +00:00
Josef Karthauser
29ac7b3190 Merge from NetBSD:
usb.c:	revision 1.41

	revision 1.41
	date: 2000/03/16 00:46:38;  author: augustss;  lines: +2 -2
	Make the USB event queue longer.  Mine overflows before the
	(user-land) event handler has started.  But then I have
	about 25 devices connected. :)
2002-01-26 12:40:03 +00:00
Josef Karthauser
c2e0959f73 Update the $NetBSD$ ident to show that some patches have been applied
in the past.
2002-01-26 12:25:32 +00:00
Josef Karthauser
b7e4eb198d Merge from NetBSD:
ohci.c:	revision 1.72 and 1.73
    ohcivar.h:	revision 1.19 and 1.20
    uhci.c:	revision 1.85
    usbdi.h:	a small part of revision 1.40
    usbdivar.h:	revision 1.47

Relevant commit messages from NetBSD are:

	date: 2000/02/22 11:30:54;  author: augustss;  state: Exp;
	Prepare a little for having USB interrupt processing done
	outside the hard interrupt level (in a thread or a softintr).
	No real soft processing done yet.
	----------------------------
	date: 2000/02/01 05:42:53;  author: augustss;  state: Exp;
	Put some #ifdefs around power and shutdown hooks.
2002-01-26 12:04:22 +00:00
Josef Karthauser
46d0cbc2cd Merge from NetBSD:
usb.c:	-r1.35 - 1.37
    usb_port.h:	tiny bit of -r1.26 + an extra bit in the FreeBSD config section.

	revision 1.37
	date: 2000/01/24 18:35:51;  author: thorpej;  state: Exp;  lines: +7 -1
	Use config_pending.
	----------------------------
	revision 1.36
	date: 1999/12/22 23:54:09;  author: augustss;  state: Exp;  lines: +2 -2
	Use the flags `locator' to govern if devices are detected early or
	late during cold boot.
	----------------------------
	revision 1.35
	date: 1999/12/20 02:12:23;  author: augustss;  state: Exp;  lines: +8 -5
	Make sure tsleep() is not called during cold boot.
2002-01-24 20:21:17 +00:00
Guido van Rooij
a3e5380a47 1) Fix a debug statement by filling in its data before the printf in
stead of after
2) Honour NO_TEST_UNIT_READY quirk for atapi devices as well
3) Actually support FujiFilm FinePix 6800 camera's. Will very likely also
work for other FinePix models.

Based on a debug session about half a year ago with Nik Hibma.
MFC after:	2 weeks
2002-01-24 15:10:53 +00:00
Josef Karthauser
c3da78970e Merge from NetBSD:
ohci.c:	-r1.69 to 1.71
    ohcireg.h:	-r1.14

Some of these deltas are based upon patches that we submitted back to
NetBSD.  They got manifested slightly differently though, so I've brought
back those differences to bring our code bases closer together.

The logs from the NetBSD version of ohci.c:

	revision 1.71
	date: 2000/02/01 05:42:52;  author: augustss;  state: Exp;  lines: +13 -2
	Put some #ifdefs around power and shutdown hooks.
	----------------------------
	revision 1.70
	date: 2000/01/31 22:35:13;  author: augustss;  state: Exp;  lines: +7 -7
	Rename TAILMASK to HEADMASK, since it really masks the head pointer.
	From FreeBSD.
	----------------------------
	revision 1.69
	date: 2000/01/31 22:09:13;  author: augustss;  state: Exp;  lines: +18 -14
	Change where the has table for physical-to-virtual address translation
	is handled.  Partly from FreeBSD.
2002-01-21 05:02:21 +00:00
Josef Karthauser
851522be27 Merge from NetBSD:
ohci.c:	-r1.68
    ohcireg.h:	-r1.13

	date: 2000/01/31 20:17:25;  author: augustss;  state: Exp;
	Fiddle with over-current protect when turning on port power to make
	things work for some OHCI controllers.
2002-01-21 04:24:33 +00:00
Josef Karthauser
3bedcae34f Merge from NetBSD:
revision 1.65
	date: 2000/01/25 12:06:21;  author: augustss;  state: Exp;  lines: +10 -2
	Add done method for root control transfers.
2002-01-21 04:15:39 +00:00
Josef Karthauser
4cd5d8f292 Merge from NetBSD:
revision 1.84
	date: 2000/01/28 00:44:27;  author: augustss;  state: Exp;  lines: +9 -2
	Add uhci_root_ctrl_done() method.
2002-01-21 03:44:00 +00:00
Josef Karthauser
ed98caba5f Merge from NetBSD:
uhci.c:	-r1.82
    uhcivar.h:	-r1.22

	date: 2000/01/26 10:04:39;  author: augustss;  state: Exp;
	Try to avoid accessing the HC if it is dead.  Suggested by mycroft.
2002-01-21 03:35:55 +00:00
Josef Karthauser
a87935da55 Remove some unused code, in line with NetBSD's version. 2002-01-20 23:56:46 +00:00
Josef Karthauser
aeab0647e8 Merge from NetBSD:
revision 1.125
	date: 2000/09/23 21:00:10;  author: augustss;  state: Exp;  lines: +19 -3
	Avoid "bandwidth reclamation" for control transfers.  The kue device chokes
	on it.
2002-01-20 23:48:43 +00:00
Josef Karthauser
519461f843 Merge from NetBSD:
uhci.c:	-r1.124
    uhcireg.h:	-r1.13

	date: 2000/08/13 18:20:14;  author: augustss;  state: Exp;
	Fix race condition when unlinking xfers.  Thanks to IWAMOTO Toshihiro
	<iwamoto@sat.t.u-tokyo.ac.jp> for analyzing the problem and suggesting a fix.
	Fixes PR 10662.
2002-01-20 23:38:33 +00:00
Josef Karthauser
8e65c31988 Merge from NetBSD:
uhci.c:	-r1.123 (and a tiny bit of -r1.92)
    uhcivar.h:	-r1.32

	date: 2000/08/13 16:18:09;  author: augustss;  state: Exp;
	Implement what in Intel-speech is known as "bandwidth
	reclamation".  It means that we continously poll USB devices
	that have a pending transfer instead of polling just once
	every ms.  This speeds up some transfers at the expense of
	using more PCI bandwidth.
2002-01-20 20:12:25 +00:00
Josef Karthauser
a353e14e75 Merge from NetBSD:
uchireg.h:	-r1.12
    uchi.c:	-r1.121

    date: 2000/07/23 19:43:38;  author: augustss;  state: Exp;
    Be a little more explicit and careful about setting links in TDs and QHs.
2002-01-20 12:08:09 +00:00
Josef Karthauser
46c8c4207d Staticise a couple of things that shouldn't be leaked into the
kernel namespace.

Submitted by:	msmith
2002-01-08 10:32:33 +00:00
Julian Elischer
cd3aa54df0 unbreak -current (at least on my cvsups all today) 2002-01-03 23:33:44 +00:00
Josef Karthauser
baf99b5458 Regenerate. 2002-01-03 18:58:08 +00:00
Josef Karthauser
fdf0d9cf25 Add a new linksys ethernet adapter: USB_PRODUCT_LINKSYS_USB10TX2. 2002-01-03 18:56:35 +00:00
Josef Karthauser
fb08f9ad23 Add some missing prototypes.
Remove some diagnostics that aren't relevant yet.
2002-01-03 16:14:35 +00:00
Josef Karthauser
2ddd9bd5bd Sync with NetBSD:
* White space changes.
* Updates to comments.
* Replace some delay() calls with usb_delay_ms().
* Replace 0's with NULL's.
2002-01-03 02:10:31 +00:00
Josef Karthauser
4b2ee62a91 Merge from NetBSD:
date: 2001/08/06 15:15:08;  author: augustss;  state: Exp;
  Don't write back status bits that are cleared when written.
2002-01-03 00:46:47 +00:00
Josef Karthauser
b992262bcf Merge from NetBSD:
date: 2001/11/20 16:08:10;  author: augustss;  state: Exp;
  Use longer reset for root hubs (as told in the spec).
2002-01-03 00:37:56 +00:00
Josef Karthauser
0f24ab6fa0 Revert uio.uio_td back to uio.uio_procp, using a #define in usb_port to
do the right thing on -current.
2002-01-02 23:31:08 +00:00
Josef Karthauser
7ccc786694 Sync with NetBSD. Non-functional changes that bring this file
closer to the NetBSD version.

Reviewed by:	md5
2002-01-02 21:56:02 +00:00
Josef Karthauser
2ba633961e Sync usb.h with NetBSD, apart from usb_device_info.speed, which
requires logic changes.  For now leave it as usb_device_info.lowspeed.
It will get addressed when the usb.c code is sync'd.
2002-01-02 20:16:53 +00:00
Josef Karthauser
0b4a107145 Revert part of the last commit. UIPROTO_MASS_BBB was renamed to
UIPROTO_MASS_BULK _after_ the previous change was made in NetBSD.
2002-01-02 18:36:46 +00:00
Josef Karthauser
5440b9801c Sync with NetBSD:
date: 2000/02/29 21:37:01;  author: augustss;  state: Exp;
	Distinguish between device and interface classes.
	(I finally found a document that said that they were different.)
2002-01-02 18:28:45 +00:00
Josef Karthauser
cbeffd9e61 Remove the special casing for NetBSD and OpenBSD now that they
appear to do what we do.
2002-01-02 16:45:15 +00:00
Josef Karthauser
44ae5917e2 NetBSD have introduced usb_proc_ptr for us (they'll be needing it soon too)
to hide the distinction between struct proc and struct thread.
2002-01-02 16:33:53 +00:00
Josef Karthauser
6035292097 Synchronise with NetBSD.
In order of importance:
* Make ugen use updated frlengths.
* More tests for NULL pipes.
* Generate better error codes on bulk write.
* Error messages in general.
2001-12-31 00:52:17 +00:00
Josef Karthauser
a2036daf1c Partial sync with NetBSD:
Replace LE() macro with htole32()/le32toh().
2001-12-30 23:02:31 +00:00
Josef Karthauser
58878b8a68 Sync with NetBSD (1.16 - 1.17)
"Bring the coding style into the 80s, i.e., get rid of __P and use
 ANSI prototypes and declarations."
2001-12-29 20:37:14 +00:00
Josef Karthauser
59aba01b32 Update with missing filenames, merged from NetBSD. 2001-12-29 20:14:14 +00:00
John Baldwin
810ffc1e83 - Add a function to convert 6 byte SCSI commands for read, write, mode
sense, and mode select into their 10 byte equivalents.  Eventually the
  da(4) driver will become more intelligent about this, or at least allow
  umass(4) to pass quirks in directly.  However, this is a functional
  workaround until a better fix is implemented.
- Use the 6 to 10 conversion function to allow the ATAPI and UFI command
  sets to emulate 6 byte commands with 10 byte commands.
- Use the ATAPI command set rather than UFI for the ScanLogic SL11R-IDE
  as it supports the SYNCH_CACHE command.
- Enable ATAPI command set support.
- Pass READ/WRITE_12 commands through for UFI support as the UFI spec
  says they should be supported.
- Update a comment in the UFI translation function since we handle
  MODE_SELECT.
2001-12-18 07:55:17 +00:00
Maxim Sobolev
1f891ff9ef Add DIVA USB mp3 player.
Submitted by:	Olexander Kunytsa <kunia@x-telecom.net>
MFC after:	3 days
2001-12-12 15:58:23 +00:00
Sheldon Hearn
06aa84ddfe Regen from usbdevs rev 1.70: added some AGFA scanners 2001-12-10 11:46:23 +00:00
Sheldon Hearn
56429b663c Add some AGFA scanners:
SnapScan 1236U	SnapScan e20
	SnapScan e25	SnapScan e26
	SnapScan e40	SnapScan e50
	SnapScan e52

PR:	kern/32649
Submitted by:	"Erik H. Bakke" <ebakke@trolltech.com>
2001-12-10 11:40:38 +00:00
Mike Smith
ffb6d5ad8f The ScanLogic SL11R-IDE claims to be SCSI-compatible, but actually requires
the UFI command set.  Even with this patch, it's incredibly slow on my
laptop, but at least now it works.

Note that the drive is reported to CAM with the vendor and device IDs from
the device itself, forcing the user to patch the da(4) quirk table
manually.
2001-12-09 06:02:46 +00:00
Maxim Sobolev
97361ffaab Regen after addition of the Mustek 1200 CU Plus scanner.
Submitted by:	"Ilmar S. Habibulin" <ilmar@watson.org>
2001-11-28 12:38:15 +00:00
Maxim Sobolev
134290641e Add Mustek 1200 CU Plus scanner.
Submitted by:	"Ilmar S. Habibulin" <ilmar@watson.org>
2001-11-28 12:37:04 +00:00
Ian Dowse
1a24ca7a4b The Olympus C-1 digital camera uses a non-standard BBB command-status
signature, but otherwise behaves just like a normal USB mass-storage
device. Add a new quirk to cover this case, and enable it for C-1
cameras. The quirk enables translation from the C-1 signature to
the normal CSWSIGNATURE value.

Reviewed by:	n_hibma
2001-11-23 17:35:35 +00:00
Ian Dowse
db54406364 Regen. 2001-11-23 16:36:28 +00:00
Ian Dowse
5cffab225e Add Olympus C-1. 2001-11-23 16:35:40 +00:00
Munechika SUMIKAWA
9ef912e8ec Support MELCO LUA2-TX USB ethernet adaptor.
Actually this porting supports Pegasus II chip so I guess some other
devices supported by NetBSD also work.  But the devices list are not
included because I cannot confirm if they work.

Obtained from:	NetBSD
MFC after:	3 weeks
2001-11-19 18:47:49 +00:00
Munechika SUMIKAWA
c9fcd7dde0 Regen. 2001-11-19 18:41:35 +00:00
Munechika SUMIKAWA
b62f13198a Add Melco LUA2-TX5. 2001-11-19 18:40:17 +00:00
Peter Wemm
da73fe05e1 Add AMD766 OHCI USB controller. Remove unused VENDORID lists. 2001-11-06 23:44:03 +00:00
Peter Wemm
d5f6245f80 Add ICH3 (82801CA/CAM) and 460GX 2001-11-03 05:03:00 +00:00
Nick Hibma
9965784733 Regen. 2001-10-23 22:44:36 +00:00
Nick Hibma
2b97142db8 Add Olympus C-700 2001-10-23 22:44:03 +00:00
Poul-Henning Kamp
602150cc70 Set ulptusein = 0 so that the machine doesn't hang solid after a
printjob.

There is probably a better fix, but this at least makes USB printing
working again.
2001-10-12 11:05:58 +00:00
Jonathan Lemon
b256187110 Do not call mii_polltick() immediately after mii_tick().
Poiinted out by: wpaul
2001-09-29 19:31:29 +00:00
Alfred Perlstein
e93d0738f5 This driver can talk to the Rio600 as well, make it happen.
Hardware (and patience) provided by: Andrew J Caines <A.J.Caines@halplant.com>
2001-09-27 06:01:20 +00:00
John Baldwin
ed01445d8f Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
Nick Hibma
dc9c72345c Regen. 2001-09-18 22:30:02 +00:00
Nick Hibma
55c883cea3 Update the header of the file with a comment on how to regenerate
the usbdevs* file correctly.

Suggested by:	phantom
2001-09-18 22:27:41 +00:00
Julian Elischer
b40ce4165d KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
2001-09-12 08:38:13 +00:00
Bill Paul
0af4c6d09f regenerate this file too (forgotten after last usbdevs update) 2001-09-09 17:00:32 +00:00
Doug White
7b832f6f75 Add support for the Accton USB320-EC Ethernet adapter.
MFC after:	14
2001-09-09 03:08:30 +00:00
Doug White
a6ac38c5f6 Regen. 2001-09-09 03:07:32 +00:00
Doug White
884896fa2f Add entry for Accton USB320-EC Ethernet adapter.
MFC after:	14
2001-09-09 03:07:15 +00:00
Nick Hibma
aa75eeda2f Only clear endpoint stall if status was USBD_STALLED.
This avoids panicing the system by unplugging a hub. The interrupt transfer
would sometimes arrive after the driver had been removed.
2001-09-02 09:26:14 +00:00
Nick Hibma
d7e53003ef First check whether the USB transfer was cancelled before starting to
use the data structures related to that keyboard.
2001-09-01 09:38:45 +00:00
Nick Hibma
2ce5d19515 Regen. 2001-09-01 09:35:46 +00:00
Nick Hibma
c2d98eeaca Spelling nit. 2001-09-01 09:33:15 +00:00
Nick Hibma
f3dfa83f4f Add safety belts. A control endpoint doesn't have an endpoint descriptor. 2001-08-30 21:45:28 +00:00
Peter Wemm
1ef4734b8a Do not printf when we get called as a result of a pci shared interrupt,
and add a comment to that effect.
2001-08-23 01:16:10 +00:00
Peter Wemm
dae6dcff3f Revert part of the last commit, as suggested by Nick. This is expected,
it is part of the way PCI shared interrupts work.
2001-08-23 01:12:35 +00:00
Peter Wemm
1408f3e993 Make these depend on the usb module so they can use its symbols if they
are loaded as seperate .ko files
2001-08-22 05:33:57 +00:00
Nick Hibma
83429be9b0 Find spurious interrupts. 2001-08-21 22:39:04 +00:00
Nick Hibma
e940cef54f Add support for the I-O DATA USB-ET/TX(USB Ethernet adapter)
PR:		27792
2001-08-21 22:20:50 +00:00
Nick Hibma
6e155c1b96 Add support for the HP 4300C scanner.
Submitted by:		Ernst de Haan <ernst@jollem.com>
2001-08-21 22:16:44 +00:00
Nick Hibma
4817ad7e09 Support for the HP 8200e CD writer. (commented out)
Submitted by:	Heath Nielson <heath@cs.byu.edu>
2001-08-21 22:03:18 +00:00
Nick Hibma
d815b123a2 Add support for the Microtech CameraMate.
Submitted by:		Phil Knaack <pknaack1@netscape.net>
Submitted by:		Jim Bryant <kc5vdj@yahoo.com>
2001-08-21 21:47:08 +00:00
Nick Hibma
924be33dc3 Deconfuse a debugging message. 2001-08-21 21:41:15 +00:00
Nick Hibma
9a9a00ec47 Regen.
National BearPaw 1200 has changed name USB_PRODUCT_NATIONAL_BEARPAW1200.
2001-08-21 21:36:58 +00:00
Nick Hibma
ff3863b777 Add Mustek, National and Ultima scanners.
Submitted by:	Henning Meier-Geinitz <hmg@gmx.de>
PR:		29777
MFC after:	1 week
2001-08-21 21:35:40 +00:00
Julian Elischer
d05a918fc3 Do NOT allocate a 1K buffer on the kernel stack.
Found by: Smashed u-area and hardware watch points.
MFC after: 1 week
2001-08-10 17:32:11 +00:00
Peter Wemm
8e5003b0ea Add the Rio 800 USB device IDs
Submitted by: Wesley Morgan <morganw@chemikals.org>
2001-08-08 23:04:31 +00:00
Kazutaka YOKOTA
764952572b Return consistent key action codes at key press and release
events. Otherwise you would see unexpected results if shift or
locking keys are defined to give different actions depending
on other shift/locking keys' state.

Please keep the ukbd module and the kernel in sync, otherwise
the USB keyboard won't work after this change.
MFC after:	10 days
2001-07-20 13:05:57 +00:00
Benno Rice
beefc79739 Set vendor string correctly for the Apple KeyLargo.
Forgotten by:	benno
Spotted by:	n_hibma
2001-07-05 12:04:19 +00:00
Nick Hibma
55e6acd71b Pull in the current version of NetBSD's ulpt.c, supporting bidirectional
communication with printers.
2001-07-05 10:15:37 +00:00
Nick Hibma
48405163d9 Regen. 2001-07-05 10:14:40 +00:00
Nick Hibma
e1f5734cbe Pull in the most recent version of usb_quirks.h and propagate the necessary
changes to the various files.

Also, pull in most of the current usb_subr.c file.
2001-07-05 10:12:59 +00:00
Nick Hibma
b74562cf03 Make the string argument a const. 2001-07-05 10:09:22 +00:00
Nick Hibma
c077cffc2e Update with NetBSD version
Remove duplicates

NOTE: USB_PRODUCT_SANDISK_IMAGEMATE has changed to
USB_PRODUCT_SANDISK_SDDR05A
2001-07-05 09:35:46 +00:00
Benno Rice
e5a44502dd Add device ID for the OHCI controller in the Apple KeyLargo chip. 2001-07-02 14:03:25 +00:00
Nick Hibma
0a40173c0c Add AboCom Systems USB to 1M HomePNA & 10M/100M Fast Ethernet Adapter.
PR:		kern/28537
Submitted by:	Hiroyuki Aizu <aizu@navi.org>
MFC after:	5 days
2001-06-30 13:49:17 +00:00
Nick Hibma
0bea5808a1 Don't free memory that has been freed already.
Null the pointer after freeing the memory.

PR:		27370
Submitted by:	Alec Barea <alec@barea.org>
MFC after:	5 days
2001-06-30 10:57:37 +00:00
Kazutaka YOKOTA
6c726162da Add the device resume method to keyboard drivers.
MFC after:	4 weeks
2001-06-30 10:02:32 +00:00
Peter Wemm
1d63bf5236 Fix warning: 128: warning: initialization makes pointer from integer
Note: this file has lots of #if __FreeBSD__ >= 4 etc which needs to be
changed to __FreeBSD_version >= 400000 etc.
2001-06-15 00:26:41 +00:00
Peter Wemm
7b77e0fa50 Activate the kthread mechanism for doing usb bus discovery. This means
that device add/remove will work without usbd running.  usbd is still
used for execing stuff, but that is all now.  Ideally it could be replaced
by a devd some day.  Until now, usbd had to be running so that the
USB_DISCOVER ioctl could be called to walk the tree when an attachment
status change was noticed.

Among the changes:
- when a detach happens, remove any pending 'attach' messages or the system
suffers from whiplash from exec moused / kill moused loops if you do lots
of attach/detach and later start usbd.
- tweaks related to kthread differences
- disable the select handler for the old interface (never return success).
I have not removed it yet or old usbd's will abort.  That can get removed
later once usbd is cleaned up and things have stabilized for a few weeks.
- get Giant in the kthread.
- a couple of minor potential bug fixes (usb_nevents vs malloc failure etc)

Pre-approved by: n_hibma (ages and ages ago)
2001-06-06 22:00:03 +00:00
Poul-Henning Kamp
3b6c05fa7f Remove the empty uscannerioctl() and use noioctl() instead. 2001-05-23 17:51:43 +00:00
Jun Kuriyama
da76f18bc6 Add description for 82801BA controller.
MFC after:	1 week
2001-05-21 01:24:14 +00:00
Mark Murray
fb919e4d5a Undo part of the tangle of having sys/lock.h and sys/mutex.h included in
other "system" header files.

Also help the deprecation of lockmgr.h by making it a sub-include of
sys/lock.h and removing sys/lockmgr.h form kernel .c files.

Sort sys/*.h includes where possible in affected files.

OK'ed by:	bde (with reservations)
2001-05-01 08:13:21 +00:00
Nick Hibma
d309bc7f71 Regen. 2001-04-30 17:38:57 +00:00
Nick Hibma
eb9c76a9f0 Add 4300C Id
Submitted by:	Ernst de Haan <ernst@heinz.jollem.com>
2001-04-30 17:37:11 +00:00
Nick Hibma
be971a7240 Regen. 2001-04-17 15:53:35 +00:00
Nick Hibma
177f46f166 Add the HP scanner 3400C 2001-04-17 15:53:20 +00:00
Nick Hibma
e47670c92d Regen. 2001-04-17 15:34:44 +00:00
Nick Hibma
dacb51ca16 Lexar jumpSHOT Id.
Submitted by:	gshapiro
2001-04-17 15:34:22 +00:00
Nick Hibma
1470e6aaeb Regen. 2001-04-12 11:08:59 +00:00
Nick Hibma
47a9ad6b89 TDK ids
Submitted by:	Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
2001-04-12 11:04:08 +00:00
Nick Hibma
426128e90b From NetBSD 2001-04-12 10:59:30 +00:00
Nick Hibma
e796578c40 Rege. 2001-04-09 18:45:32 +00:00
Nick Hibma
053a2f773b Again an ID that has been reused. Update description. 2001-04-09 18:45:02 +00:00
Nick Hibma
6e4a2c5638 Add the Abocom URE 450 ethernet adapter.
Submitted by:   dima@bog.msu.su
2001-04-09 18:44:11 +00:00
Nick Hibma
d6bbfa7387 Regen. 2001-04-09 18:26:18 +00:00
Nick Hibma
5224ce264a Update the description for the EPSON PID 0x010a. It seems to be reused in
the 8700 series.
2001-04-09 18:22:20 +00:00
Nick Hibma
0ec85a1de5 Regen. 2001-04-09 18:19:41 +00:00
Nick Hibma
b0477600ef Add the Omni 56K Plus modem
Submitted by:	kazarov@izmiran.rssi.ru
2001-04-09 18:19:20 +00:00
Nick Hibma
b9688f84b0 Add id for the IO Data ET/T
PR:		23877
Submitted by:	Makoto MATSUSHITA <matusita@jp.freebsd.org>
2001-04-07 20:47:29 +00:00
Nick Hibma
899a73c0a6 Regen. 2001-04-02 13:12:15 +00:00
Nick Hibma
d8ee57ce7d Add Agate Q-Drive.
Submitted by:	Ian Cartwright <ian351c@home.com>
2001-04-02 13:11:59 +00:00
Nick Hibma
59a42a13d5 Regen. 2001-04-02 13:02:36 +00:00
Nick Hibma
0a191eddb4 Sync with NetBSD usbdevs 2001-04-02 13:02:17 +00:00
Brian Feldman
a75c49591f Since -CURRENT requires module dependencies to actually be correct for
linking to work, have cue(4) depend on usb so it actually works.
2001-03-29 18:14:55 +00:00
Peter Wemm
32533d5ff9 Regenerate correctly. 2001-03-29 00:06:16 +00:00
Peter Wemm
e665ecb55c Hint: usbdevs_data.h and usbdevs.h are marked:
* THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
Put the Epson 1240 scanner device in the correct place.
2001-03-29 00:05:51 +00:00
Poul-Henning Kamp
3f865320ba Small patch is required to the USB susbsystem to include support for
Epson Perfection 1240U scanner.

PR:		25565
Submitted by:	Martin Machacek <m@m3a.cz>
2001-03-28 17:58:31 +00:00
Poul-Henning Kamp
f83880518b Send the remains (such as I have located) of "block major numbers" to
the bit-bucket.
2001-03-26 12:41:29 +00:00
John Baldwin
19eb87d22a Grab the process lock while calling psignal and before calling psignal. 2001-03-07 03:37:06 +00:00
Peter Wemm
3eca04a56b Add an AUE device ID: USB_PRODUCT_MELCO_LUATX5
Submitted by:  Yoshihiko SARUMARU <mistral@imasy.or.jp>
2001-03-05 02:28:58 +00:00
Peter Wemm
003223c276 Disable the mutex locking calls. These do not work in their present form
as the code calls the usb stack (which can sleep) while holding the driver
lock.  This leads to a deadlock.
2001-02-27 01:05:25 +00:00
Nick Hibma
cf4bfc5243 Change default devfs permissions to the ones in MAKEDEV.
Suggested by:	rwatson
2001-02-19 18:14:49 +00:00
Jonathan Lemon
608a3ce62a Extend kqueue down to the device layer.
Backwards compatible approach suggested by: peter
2001-02-15 16:34:11 +00:00
Bosko Milekic
9ed346bab0 Change and clean the mutex lock interface.
mtx_enter(lock, type) becomes:

mtx_lock(lock) for sleep locks (MTX_DEF-initialized locks)
mtx_lock_spin(lock) for spin locks (MTX_SPIN-initialized)

similarily, for releasing a lock, we now have:

mtx_unlock(lock) for MTX_DEF and mtx_unlock_spin(lock) for MTX_SPIN.
We change the caller interface for the two different types of locks
because the semantics are entirely different for each case, and this
makes it explicitly clear and, at the same time, it rids us of the
extra `type' argument.

The enter->lock and exit->unlock change has been made with the idea
that we're "locking data" and not "entering locked code" in mind.

Further, remove all additional "flags" previously passed to the
lock acquire/release routines with the exception of two:

MTX_QUIET and MTX_NOSWITCH

The functionality of these flags is preserved and they can be passed
to the lock/unlock routines by calling the corresponding wrappers:

mtx_{lock, unlock}_flags(lock, flag(s)) and
mtx_{lock, unlock}_spin_flags(lock, flag(s)) for MTX_DEF and MTX_SPIN
locks, respectively.

Re-inline some lock acq/rel code; in the sleep lock case, we only
inline the _obtain_lock()s in order to ensure that the inlined code
fits into a cache line. In the spin lock case, we inline recursion and
actually only perform a function call if we need to spin. This change
has been made with the idea that we generally tend to avoid spin locks
and that also the spin locks that we do have and are heavily used
(i.e. sched_lock) do recurse, and therefore in an effort to reduce
function call overhead for some architectures (such as alpha), we
inline recursion for this case.

Create a new malloc type for the witness code and retire from using
the M_DEV type. The new type is called M_WITNESS and is only declared
if WITNESS is enabled.

Begin cleaning up some machdep/mutex.h code - specifically updated the
"optimized" inlined code in alpha/mutex.h and wrote MTX_LOCK_SPIN
and MTX_UNLOCK_SPIN asm macros for the i386/mutex.h as we presently
need those.

Finally, caught up to the interface changes in all sys code.

Contributors: jake, jhb, jasone (in no particular order)
2001-02-09 06:11:45 +00:00
Nick Hibma
785fe81a71 Regen. 2001-02-06 14:59:28 +00:00
Nick Hibma
483f8be664 Add a comment about the fact that adding an ID doesn't actually do anything. 2001-02-06 14:59:03 +00:00
Poul-Henning Kamp
6817526d14 Convert if_multiaddrs from LIST to TAILQ so that it can be traversed
backwards in the three drivers which want to do that.

Reviewed by:    mikeh
2001-02-06 10:12:15 +00:00
Nick Hibma
6e76a6951d Regen. 2001-02-05 11:03:21 +00:00
Nick Hibma
0462c572a5 Add some ids from NetBSD. 2001-02-05 11:02:50 +00:00
Nick Hibma
e0fdc93431 Regen. 2001-02-05 11:00:35 +00:00
Nick Hibma
d4c317748d * Correct a broken entry
* Add the id for the Rio 800 USB.
Submitted by:	Wesley Morgan <morganw@chemikals.org>
2001-02-05 11:00:13 +00:00
Poul-Henning Kamp
37d4006626 Another round of the <sys/queue.h> FOREACH transmogriffer.
Created with:   sed(1)
Reviewed by:    md5(1)
2001-02-04 16:08:18 +00:00
Poul-Henning Kamp
fc2ffbe604 Mechanical change to use <sys/queue.h> macro API instead of
fondling implementation details.

Created with: sed(1)
Reviewed by: md5(1)
2001-02-04 13:13:25 +00:00
Poul-Henning Kamp
78d82c8c59 Use LIST_FOREACH() to traverse ifp->if_multiaddrs list, instead of
<sys/queue.h> implementation details.

Created with:   /usr/sbin/sed
Reviewed with:  /sbin/md5
2001-02-03 16:29:10 +00:00
John Baldwin
4957d1b4cb Use suser(9) instead of checking p->p_ucred->cr_uid directly. 2001-01-23 22:22:25 +00:00
Jake Burkholder
a448b62ac9 Make intr_nesting_level per-process, rather than per-cpu. Setup
interrupt threads to run with it always >= 1, so that malloc can
detect M_WAITOK from "interrupt" context.  This is also necessary
in order to context switch from sched_ithd() directly.

Reviewed By:	peter
2001-01-21 19:25:07 +00:00
Bosko Milekic
08812b3925 Implement MTX_RECURSE flag for mtx_init().
All calls to mtx_init() for mutexes that recurse must now include
the MTX_RECURSE bit in the flag argument variable. This change is in
preparation for an upcoming (further) mutex API cleanup.
The witness code will call panic() if a lock is found to recurse but
the MTX_RECURSE bit was not set during the lock's initialization.

The old MTX_RECURSE "state" bit (in mtx_lock) has been renamed to
MTX_RECURSED, which is more appropriate given its meaning.

The following locks have been made "recursive," thus far:
eventhandler, Giant, callout, sched_lock, possibly some others declared
in the architecture-specific code, all of the network card driver locks
in pci/, as well as some other locks in dev/ stuff that I've found to
be recursive.

Reviewed by: jhb
2001-01-19 01:59:14 +00:00
Nick Hibma
a3698b8a7f Nikon E990 and Nomad MP3 player Ids.
Submitted by:	pete@altadena.net
2001-01-18 00:15:49 +00:00
Jake Burkholder
ef73ae4b0c Use PCPU_GET, PCPU_PTR and PCPU_SET to access all per-cpu variables
other then curproc.
2001-01-10 04:43:51 +00:00
Garrett Wollman
0a2c3d48c6 select() DKI is now in <sys/selinfo.h>. 2001-01-09 04:33:49 +00:00
Julian Elischer
30400f03aa Part 2 of the netgraph rewrite.
This is mostly cosmetic changes, (though I caught a bug or two while
makeing them)
Reviewed by:	archie@freebsd.org
2001-01-08 05:34:06 +00:00
Nick Hibma
bace1123c3 Add a quirk for drives that do not handle long inquiry data.
Add the entry for the Yano U640MO-03 MO drive. (ifdef-0-ed out for now)

Fix a hack were an original buffer was modified instead of copied
(cmd[] -> (*rcmd)[])

Submitted by:	Iwasa Kazmi <kzmi@ca2.so-net.ne.jp>
2001-01-08 00:25:52 +00:00
Nick Hibma
dbccc4a13a Add the Synchronize command to umass_atapi_transform. It seems to work
unmodified for ATAPI type devices.
2001-01-07 23:58:07 +00:00
Nick Hibma
1f125f1361 Print the correct value in a debugging printf.
Submitted by:	Iwasa Kazmi <kzmi@ca2.so-net.ne.jp>
2001-01-07 23:54:34 +00:00
Nick Hibma
c68067e92a 1) Return the requestad length - the transferred length as the residue,
instead of the requested length. Otherwise all transfers look like 0 byte
transfers to CAM.

Submitted by:	Iwasa Kazmi <kzmi@ca2.so-net.ne.jp>

2) Finalise the command in the case of CBI transfers with CCI (command
completion interrupt).

3) Remove a redundant bzero of a buffer.
2001-01-07 23:43:55 +00:00
Julian Elischer
069154d55f Rewrite of netgraph to start getting ready for SMP.
This version is functional and is aproaching solid..
notice I said APROACHING. There are many node types I cannot test
I have tested: echo hole ppp socket vjc iface tee bpf async tty
The rest compile and "Look" right.  More changes to follow.
DEBUGGING is enabled in this code to help if people have problems.
2001-01-06 00:46:47 +00:00
Nick Hibma
3b980312b4 Bugfix: device_resume should be connected to bus_generic_resume not
*_suspend.

Submitted by:	kazu
2001-01-05 10:25:47 +00:00
Nick Hibma
1458cde760 Readd the id removed by sheldon in the previous commit to uscanner.c.
Change the ID in if_aue.c to match the new name in usbdevs.h.
2001-01-04 11:55:24 +00:00
Nick Hibma
95e5d98749 UMASS_DEBUG implemented panic(9).
PR:		24044
Submitted by:	Mike Bristow <mike@urgle.com>
2001-01-04 11:27:41 +00:00
Nick Hibma
5a5b0c4efa Regen.
(Sorry for forgetting that).
2001-01-04 11:23:21 +00:00
Sheldon Hearn
63ccc06ffe Revert rev 1.8, which broke the installkernel target. 2001-01-04 11:12:15 +00:00
Nick Hibma
7b58790dbf Add the Id of the Epson 1640 scanner.
Submitted by:	Chris Shenton <chris@shenton.org>
2001-01-03 11:46:09 +00:00
Nick Hibma
801a3c8a40 Add a few Ids. From NetBSD. 2001-01-03 11:45:03 +00:00
Nick Hibma
ad979802f6 Initialise rcmdlen.
Submitted by:	Ian Dowse <iedowse@maths.tcd.ie>
2000-12-20 09:37:35 +00:00
Julian Elischer
589f6ed8ce Divorce the kernel binary ABI version number from the message
format version number. (userland programs should not need to be
recompiled when the netgraph kernel internal ABI is changed.

Also fix modules that don;t handle the fact that a caller may not supply
a return message pointer. (benign at the moment because the calling code
checks, but that will change)
2000-12-18 20:03:32 +00:00
Mike Smith
01282c87e3 Remove a couple of leftover unused variables. 2000-12-13 01:06:54 +00:00
Julian Elischer
c4e30752ba remove unused variable 2000-12-12 23:50:51 +00:00
Julian Elischer
859a4d166c Reviewed by: Archie@freebsd.org
This clears out my outstanding netgraph changes.
There is a netgraph change of design in the offing and this is to some
extent a superset of soem of the new functionality and some of the old
functionality that may be removed.

This code works as before, but allows some new features that I want to
work with and evaluate. It is the basis for a version of netgraph
with integral locking for SMP use.

This is running on my test machine with no new problems :-)
2000-12-12 18:52:14 +00:00
Nick Hibma
040639a0aa make sure we tear down the devnodes for the endpoints 1 and above
when switching configuration.
2000-12-12 10:19:19 +00:00
Nick Hibma
64e3d839ec Remove a warning.
Reported by:	phk
2000-12-08 10:44:15 +00:00
Roger Hardiman
2c097d3332 Add Isochronus transfer mode support required by
USB WebCams, using a patch from Peter Housel.

With this change ugen, and with Peter's 'vid' program
in ports/graphics/vid, we can capture single images from USB Cameras
using the OmniVision OV511 chipset (including some models of the
Creative WebCam 3)

NetBSD merged in Peter's patch to their ugen.c file
several months ago, so this brings us back in line.

Submitted by:	Peter Housel <housel@acm.org>
		http://members.home.com/housel/
Approved by:	Nick Hibma
2000-12-07 10:28:25 +00:00
Roger Hardiman
5f41c13187 Non functional change.
Change a few indentations to tabs.
Change the functions to use ANSI sytle parameters.

This lowers the diffs between our copy of ugen.c and NetBSD's copy

Approved by:	Nick Hibma
2000-12-07 10:13:18 +00:00
Nick Sayer
305501d329 We now have the ability to assign the correct IRQ when PNP-OS is turned
on. So stop failing the attach if the IRQ is unassigned. With this
patch, I can now boot with PNP-OS YES in my BIOS no differently than
PNP-OS NO (which is a good thing since Windows hangs with PNP-OS NO).

Obtained from:	msmith
2000-12-03 17:07:19 +00:00
Jonathan Lemon
df5e198723 Lock down the network interface queues. The queue mutex must be obtained
before adding/removing packets from the queue.  Also, the if_obytes and
if_omcasts fields should only be manipulated under protection of the mutex.

IF_ENQUEUE, IF_PREPEND, and IF_DEQUEUE perform all necessary locking on
the queue.  An IF_LOCK macro is provided, as well as the old (mutex-less)
versions of the macros in the form _IF_ENQUEUE, _IF_QFULL, for code which
needs them, but their use is discouraged.

Two new macros are introduced: IF_DRAIN() to drain a queue, and IF_HANDOFF,
which takes care of locking/enqueue, and also statistics updating/start
if necessary.
2000-11-25 07:35:38 +00:00
Bill Paul
0b32bab160 Add a forgotten mutex_exit()/KUE_UNLOCK() to kue_init(). 2000-11-23 05:58:48 +00:00
Nick Hibma
60295bde4c Set OPEN Flag on open.
Make set_config(1) print warning message if it fails.
2000-11-15 10:36:08 +00:00
Nick Hibma
1d8068f94a Fix for powering off a HP DJ950C during printing. As stated by Ian:
When the printer is turned off the pipe write will cause and error,
which causes lpd to close the device and reopen it to clear the error.
After a short while the device will disappear from the bus but lpd will
have opened the ulpt0 port by then. ulpt_status will check for status
without checking the sc->dying flag and panic the kernel when the device
finally disappears from the bus.

Submitted by:	Ian Dowse <iedowse@maths.tcd.ie>
2000-11-07 10:50:34 +00:00
Nick Hibma
540862484b Regen. 2000-11-03 15:19:42 +00:00
Nick Hibma
78faf46e96 Sone -> Sony
Submitted by:	Hiroyuki Aizu <aizu@jaist.ac.jp>
2000-11-03 15:19:00 +00:00
Nick Hibma
4e457f4298 AcerScan 320U's are braindead. Sometimes they do not return strings
descriptors and if they do the strings are nonsense.
2000-11-02 20:42:34 +00:00
Bill Paul
9cf05fe7a1 Close PR #21078: the aue driver was not correctly programming the
multicast filter on the Pegasus chip. Since IPv6 depends a lot
on multicasting, this caused several failures for people trying to
use IPv6 with Pegasus USB ethernet devices.

Submitted by:	Jun Kuriyama <kuriyama@FreeBSD.org>
2000-11-01 18:26:36 +00:00
Nick Hibma
03eb1a83f8 Make the Ricochet modems work through the USB interface.
Tested by:	jim
Obtained from:	NetBSD
2000-11-01 17:35:57 +00:00
Nick Hibma
59490b7d67 Cut&paste bug: Set USBD_SHORT_XFER_OK unconditionally 2000-11-01 00:28:40 +00:00
Nick Hibma
d69d452a55 remove an unused function (and a warning) 2000-10-30 10:58:02 +00:00
Poul-Henning Kamp
cf9fa8e725 Move suser() and suser_xxx() prototypes and a related #define from
<sys/proc.h> to <sys/systm.h>.

Correctly document the #includes needed in the manpage.

Add one now needed #include of <sys/systm.h>.
Remove the consequent 48 unused #includes of <sys/proc.h>.
2000-10-29 16:06:56 +00:00
Poul-Henning Kamp
9f69a4578a Weaken a bogus dependency on <sys/proc.h> in <sys/buf.h> by #ifdef'ing
the offending inline function (BUF_KERNPROC) on it being #included
already.

I'm not sure BUF_KERNPROC() is even the right thing to do or in the
right place or implemented the right way (inline vs normal function).

Remove consequently unneeded #includes of <sys/proc.h>
2000-10-29 14:54:55 +00:00
Poul-Henning Kamp
53ce36d17a Remove unneeded #include <sys/proc.h> lines. 2000-10-29 13:57:19 +00:00
Nick Hibma
2fd84f56d5 The USB scanner driver. To be used together with SANE. 2000-10-25 10:34:38 +00:00
Nick Hibma
bebddc8cd2 Regen. 2000-10-25 10:14:44 +00:00
Nick Hibma
84b3d895ef Sync with NetBSD 2000-10-25 10:13:47 +00:00
Bill Paul
f709eddf9f Convert the USB ethernet drivers to use mutexes. Also convert
usb_ethersubr.c. This module maintains two queues for packets which
are each protected with one mutex. These are all the changes I can
do for now. Removing the USBD_NO_TSLEEP flag doesn't work yet: when
I tried it, the system would usually freeze up after a NIC had been
operating for a while. The usb_ethersubr module itself ought to
go away; this is the next thing I need to test.
2000-10-24 22:38:54 +00:00
Nick Hibma
64b78d815a Bugfix: The data is not stored only in the first cblock, calculate the
length of the data properly. This should be moved into a tty_subr
function.

Also, disanle the setting of the CDC_CM_OVER_DATA flag. It breaks some
modems. I don't think that ther actually is a modem that needs this.

Submitted by:		Brad Karp <bkarp@ICSI.Berkeley.EDU>
2000-10-20 00:35:52 +00:00
Nick Hibma
3cf950d1c5 Regen. 2000-10-20 00:30:01 +00:00
Nick Hibma
9258cec045 Add the Sony MSC Memory Stick Adaptor (in the Sony PCS laptops) 2000-10-20 00:29:21 +00:00
Nick Hibma
ebcc7b37d5 Undo previous commit. <machine/clock.h> is needed for the prototype
for DELAY().
2000-10-16 18:50:00 +00:00
Nick Hibma
8b677600f9 Sync with NetBSD:
Add more Usages.
2000-10-16 17:45:27 +00:00
Nick Hibma
b78cc80b0d Sync with NetBSD:
Add seatbelts.
Be more lenient towards restarting the ports: If a port manages to connect
successfully reset the restartcount.
2000-10-16 17:40:59 +00:00
Poul-Henning Kamp
db7e3af111 Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
Jun Kuriyama
0a13e042b1 Add missing comma at the end of line. 2000-10-11 01:12:55 +00:00
Bill Paul
00a9155349 Add support for the Kingston KNU101TX 10/100 USB ethernet adapter. We're
up to 11 of these now.
2000-10-10 23:45:17 +00:00
Bill Paul
5a68c7769a regenetate 2000-10-10 23:24:45 +00:00
Bill Paul
5ccd443674 Add vendor ID for Kingston Technology and add device ID for
KNU101TX USB ethernet adapter. (Yes, another one.)
2000-10-10 23:23:54 +00:00
Nick Hibma
8e6f860ac9 Remove unneccessary includes. (phk) 2000-10-10 12:41:46 +00:00
Nick Hibma
b37ba10824 Remove unneeded includes (phk) 2000-10-10 10:56:53 +00:00
Poul-Henning Kamp
f6b5c74c35 Initiate deorbit burn sequence for <machine/mouse.h>.
Replace all in-tree uses with <sys/mouse.h> which repo-copied a few
moments ago from src/sys/i386/include/mouse.h by peter.
This is also the appropriate fix for exo-tree sources.

Put warnings in <machine/mouse.h> to discourage use.
November 15th 2000 the warnings will be converted to errors.
January 15th 2001 the <machine/mouse.h> files will be removed.
2000-10-09 08:08:36 +00:00
Poul-Henning Kamp
00d25f512c Initiate deorbit burn sequence for <machine/console.h>.
Replace all in-tree uses with necessary subset of <sys/{fb,kb,cons}io.h>.
This is also the appropriate fix for exo-tree sources.

Put warnings in <machine/console.h> to discourage use.
November 15th 2000 the warnings will be converted to errors.
January 15th 2001 the <machine/console.h> files will be removed.
2000-10-08 21:34:00 +00:00
Nick Hibma
3c703fcbe2 Add HP PhotoSmart C500 id.
PR:	kern/21841
Submitted by:	josh@zipperup.org
2000-10-08 21:31:39 +00:00
Nick Hibma
0e4b6a048e Regen. 2000-10-07 11:11:12 +00:00
Nick Hibma
43c34ce5bf Sync with NetBSD. More ids, more! 2000-10-07 11:10:53 +00:00
Nick Hibma
6e89fb0ce1 Regen. 2000-10-07 11:02:25 +00:00
Nick Hibma
9c30aace70 Zyxel keyboard Id 2000-10-07 11:01:54 +00:00
Nick Hibma
9aafd69b2f Regen. 2000-10-05 23:11:13 +00:00
Nick Hibma
4614ea8720 Additional Ids 2000-10-05 23:09:48 +00:00
Bill Paul
7d326fa793 Tweak the aue driver so that the homePNA PHYs will be detected and
attached by the pnaphy driver. This seems to work fine with my sample
ADMtek adapter (which has both 10/100 ethernet and homePNA connectors
and hardware).
2000-09-22 18:53:05 +00:00
Bill Paul
46f1212df0 Add support for D-Link DSB-650 USB ethernet adapter. 2000-09-06 19:35:01 +00:00
Bill Paul
d5b5ec1bcf Regenerate. 2000-09-06 19:28:47 +00:00
Bill Paul
349b8c9813 Add new device ID for the D-Link DSB-650 USB ethernet adapter. This is
a pegasus device, which has product ID 0xABC1. I'm not sure why they
changed it; there's already an entry for a DSB-650TX.
2000-09-06 19:28:27 +00:00
Masahide MAEKAWA
d762e7af21 Regen. 2000-09-05 16:01:34 +00:00
Masahide MAEKAWA
a892b1899f Add product ID (Prolific ATAPI-4 Bridge Controller).
Reported by: "K.Sumitani" <sumitani@bd2.hnes.nec.co.jp>
2000-09-05 16:00:55 +00:00
Nick Hibma
361e87effa Regen. 2000-09-05 12:28:33 +00:00
Nick Hibma
b8a22e4b74 Fix typo's 2000-09-05 12:26:37 +00:00
Nick Hibma
5e1f755037 Loads of scanner Ids. 2000-09-05 12:24:05 +00:00
Peter Wemm
f1998090a4 Regenerate 2000-09-05 01:10:33 +00:00
Nick Hibma
329474c7de Support for RBC devices, like Sony Memory Sticks.
Not extensively tested yet, so be warned.

Submitted by:	Gerd Knops <gerti@bitart.com>
2000-09-04 15:34:14 +00:00
Nick Hibma
21ca942f09 Add the id for the Sony memory sticks. 2000-09-04 15:29:42 +00:00
Nick Hibma
5bfc478e32 Don't check for ohci/uhci to be loaded, check for the usb module. 2000-09-02 10:17:58 +00:00
Masahide MAEKAWA
d40690a5c9 Regen. 2000-08-26 05:08:11 +00:00
Masahide MAEKAWA
6ba1312ec3 Add vendor IBM product USB CD-ROM Drive 2000-08-26 05:06:40 +00:00
Nick Hibma
50b37103a2 Fix up the command in the destination buffer, not the source.
This makes the conversion from Test-Unit-Ready to Start-Stop-Unit in the case
of SCSI (Iomega Zip drive) actually work.
2000-08-21 09:39:07 +00:00
Nick Hibma
59e8700a14 Unbreak LINT. 2000-08-20 15:30:15 +00:00
Nick Hibma
74bd1c1038 CAM, the module: scbus, da, cd, and st wrapped in one module.
Make the umass driver depend on this module.

Makes it possible to compile the kernel without SCSI support and load it
when for example a USB floppy is conencted.
2000-08-13 18:49:40 +00:00
Nick Hibma
028d28adb8 From NetBSD:
Make it possible to move a device to its unconfigured state by
using config #0.

Add some comments.

Change error reporting in port reset function.

usbd_devinfo_vp(): search the know devs array also if the device doesn't
return product description (e.g. Kye's Genius NetScroll mouse returns
vendor, but not product); the strings returned by device are still
preferred to those in the array, though
2000-08-13 18:39:24 +00:00
Nick Hibma
3f0148fee0 Add more CDC defines. 2000-08-13 18:23:07 +00:00
Nick Hibma
048f89016c Fake the Power On command on the virtual hub.
This removes the two IOERROR's on startup a many has been seeing on UHCI
controllers.

Taken from NetBSD.
2000-08-13 18:21:18 +00:00
Nick Hibma
cad823f463 Fix indentation ruined by previous commit. 2000-08-11 16:37:43 +00:00
Nick Hibma
b40a42fbe8 Finally got my brain around what a SIM UNIT number is and how it differs
from the SCSI id it has. (this avoids the confusing umass-sim32 device. It
should have been umass-sim0 all along (there is only one), and if it is
spoken to as a SCSI device the sim should be umass32.

Make the rescan actually work. We need to fill in a target and lun wildcard
and not the SCSI id of the SIM.

Add a seatbelt.
2000-08-09 17:41:11 +00:00
Nick Hibma
9bd863570a Save and restore the registers SOF and FRAMENUMBER on suspend. In some
cases the registers are not correctly set on resume.

This solves the problem of USB failing after resuming a machine.

Submitted by:	mike+fbsd@medianstrip.net
PR:		18261
2000-08-07 00:04:53 +00:00
Nick Hibma
2a46959d8e Regen. 2000-08-06 23:27:36 +00:00
Nick Hibma
6ba97967be New ids
Submitted by:	Scott Long
PR:		18897
2000-08-06 23:26:58 +00:00
Nick Hibma
85dff41567 Some new ids, from NetBSD 2000-08-06 23:22:13 +00:00
Nick Hibma
adeb72abfb Finally make the module dependencies work. kern_linker.c now allows
modules to depend on modules in the same file (uhub depends on usb) or
even on themselves (usb on usb, makes the define in usb_port.h a lot
less convoluted).

Use ANSI prototypes.
2000-08-04 19:05:49 +00:00
Nick Hibma
6939e9446e Sync with NetBSD:
K&R style function headers -> ANSI.
2000-08-01 22:40:23 +00:00
Steve Price
bf11d3dcda Spell the word 'limited' with only one 't'. 2000-07-30 17:54:34 +00:00
Nick Hibma
9d6eda11bc Remove the preliminary support for ATAPI. It does not work and breaks
(physically) IBM Microdrives.
2000-07-26 01:01:01 +00:00
Nick Hibma
bda0fa93eb The modem driver for Communication Device Class, ACM compliant devices.
There is a number of devices that are compliant, of which the 3Com 5605 is
has been verified to work.

The driver is not perfect yet, but should be able to get you somewhere.

The driver was originally written by Lennart Augustsson, but Mike Smith
and Mike Meyer <mwm@mired.org> did the porting.
2000-07-17 19:28:29 +00:00
Nick Hibma
4f04f78215 Remove __P prototypes to reduce diffs between the NetBSD and FreeBSD
versions.
2000-07-17 18:41:20 +00:00
Nick Hibma
f10e5a6e89 Regen. 2000-07-17 09:56:01 +00:00
Nick Hibma
b067ff95e2 Lots of new device Ids. From NetBSD. 2000-07-17 09:55:34 +00:00
Nick Hibma
fba108ec94 Add some detection code for the InSystem USB cable (ATAPI support not yet
there, so the cable does not work yet)
2000-07-16 17:40:23 +00:00
Archie Cobbs
21b8ebd926 Make all Ethernet drivers attach using ether_ifattach() and detach using
ether_ifdetach().

The former consolidates the operations of if_attach(), ng_ether_attach(),
and bpfattach(). The latter consolidates the corresponding detach operations.

Reviewed by:	julian, freebsd-net
2000-07-13 22:54:34 +00:00
Nick Hibma
1d3e7ea3dd Properly fix world.
Sorry for breaking things in the first place.
2000-07-06 13:23:35 +00:00
Ollivier Robert
ee76ce7fa5 Fix buildworld. 2000-07-06 08:37:34 +00:00
Nick Hibma
0c880a36fb Use the packed attribute for the descriptor on the wire 2000-07-05 08:11:43 +00:00
Nick Hibma
cc433e04b1 Inverted error messages.
Submitted by:	John R. LoVerso <john@loverso.southborough.ma.us>
2000-06-15 15:23:12 +00:00
Nick Hibma
69e1451082 Make the module dependencies actually work.
Specifying 'umass_load="YES"' in /boot/loader.conf or doing a
'kldload umass' now loads usb.ko automagically.

Prodded by:	green
2000-06-15 13:51:30 +00:00
Nick Hibma
6346a48ac0 Add the ID of the InSystem USB Cable (not really supported yet). 2000-06-08 19:27:21 +00:00
Nick Hibma
29c5a748a3 Regen. 2000-06-08 19:26:35 +00:00
Nick Hibma
608e876462 InSystem USB Cable (IDE adapter)
Submitted by:	"Sean O'Connell" <sean@stat.duke.edu>
2000-06-08 19:26:16 +00:00
Bill Paul
7bc6fe296d Darn it... left if_aue.c out of the last commit. (Fix watchdog timeout
handling, turn of interrupt pipe stuff.)
2000-06-01 23:18:01 +00:00
Bill Paul
a2693d6d71 Handle watchdog timeouts better. We can't really call the foo_init()
routines from foo_watchdog() because foo_watchdog() is called at
interrupt context, and that's a no-no due to the way the USB stack
is currently set up.

What we do now is call the TX end of frame handler manually to clear
the completed transmission, then check the send queue and send off
any frames that are pending.

Also turned off the interrupt pipe stuff in if_aue, since it appears
to tickle a bug in the USB stack that I haven't found yet.
2000-06-01 23:16:42 +00:00
Jake Burkholder
e39756439c Back out the previous change to the queue(3) interface.
It was not discussed and should probably not happen.

Requested by:		msmith and others
2000-05-26 02:09:24 +00:00
Nick Hibma
42f0d19d1b Regen. 2000-05-25 22:29:47 +00:00
Nick Hibma
1eb1a86576 New entries (Mike Meyer) 2000-05-25 22:27:55 +00:00
Jun Kuriyama
3cc13eb5b1 Add 440MX chipset.
Submitted by:	YOSHIMURA Hideaki <hideakiy@cs-tokyo01.chuosystem.co.jp>
References:	[bsd-nomads:13764]
2000-05-24 02:24:38 +00:00
Jake Burkholder
740a1973a6 Change the way that the queue(3) structures are declared; don't assume that
the type argument to *_HEAD and *_ENTRY is a struct.

Suggested by:	phk
Reviewed by:	phk
Approved by:	mdodd
2000-05-23 20:41:01 +00:00
Nick Hibma
998b1e80fc Sync with NetBSD:
Add quirks for self-powered hubs that are not.
2000-05-14 19:51:38 +00:00
Nick Hibma
eafdcd5886 Sync with NetBSD:
Textual changes.
2000-05-14 19:44:24 +00:00
Nick Hibma
4b268ed3a9 Sync with NetBSD:
Make the behaviour more similar to what the Microsoft uhub driver
does.
2000-05-14 19:39:10 +00:00
Nick Hibma
23f027a0bc Sync with NetBSD:
Add USB_SET_REPORT ioctl.
Add FIOASYNC, TIOCSPGRP ioctl.
Change some debugging output
2000-05-14 17:43:59 +00:00
Nick Hibma
bb05811e6a Sync with NetBSD:
Mostly textual changes.
Set configuration to 0 (reset all endpoints) on open.
2000-05-14 17:33:26 +00:00
Nick Hibma
90c5668bca Make some if's cleaner. Add a define for the Zip 250. 2000-05-14 17:25:33 +00:00
Nick Hibma
dd90ae7a87 Sync with NetBSD:
Fix the saving of the location at pop properly. Only save the position
and not the complete locator.

(sp? s/sav/saf/g if appropriate)
2000-05-14 16:59:31 +00:00
Nick Hibma
128aa3af3c Change Lennart's e-mail address. 2000-05-14 16:43:10 +00:00
Archie Cobbs
2e2de7f23f Move code to handle BPF and bridging for incoming Ethernet packets out
of the individual drivers and into the common routine ether_input().
Also, remove the (incomplete) hack for matching ethernet headers
in the ip_fw code.

The good news: net result of 1016 lines removed, and this should make
bridging now work with *all* Ethernet drivers.

The bad news: it's nearly impossible to test every driver, especially
for bridging, and I was unable to get much testing help on the mailing
lists.

Reviewed by:	freebsd-net
2000-05-14 02:18:43 +00:00
John Baldwin
6492f6750d Only display the 'Disable PNP-OS BIOS option' message on the i386 arch.
Alpha's don't have a PNP BIOS option.

Reviewed by:	n_hibma
2000-05-11 20:17:28 +00:00
Nick Hibma
de7a23ed98 Regen. 2000-05-09 20:45:14 +00:00
Nick Hibma
65642d59be Add Alcor Keyboard with built-in hub and its keyboard. 2000-05-09 20:43:37 +00:00
Nick Hibma
600a4a54cc Use the new and shiny module versioning. This enables you to load the
ums driver (mouse) and get the usb driver at the same time.

This also shows that
	MODULE_VERSION(usb, 1);
	MODULE_DEPEND(usb, usb, 1, 1, 1);
in the same module in one source file works.
2000-05-08 15:10:05 +00:00
Nick Hibma
8feb725eb1 Add the fields needed to store the cookies. 2000-05-07 20:17:30 +00:00
Nick Hibma
659df154a5 Do the attach (and detach) properly. Store the cookies.
This is a first step to make usb unloadable.
2000-05-07 20:16:25 +00:00
Nick Hibma
b4f9bcbc06 Add the Prolific PL2301 and PL2302 Link cables.
Submitted by:	Dirk van Gulik <dirkx@webweaving.org>
2000-05-07 19:49:48 +00:00
Nick Hibma
327ad7e530 We match on vendor/product so return the fact that udbp is vendor/product
specific.
2000-05-07 19:46:20 +00:00
Nick Hibma
2ed4a57a95 Regen. 2000-05-07 19:44:44 +00:00
Nick Hibma
e48e9d2d2f Sync with NetBSD 2000-05-07 19:44:16 +00:00
Nick Hibma
5e163a2f39 Initialise the debug value. 2000-05-07 18:40:44 +00:00
Nick Hibma
1a5eec23dc Increase the debugging level on a printf. 2000-05-07 18:38:41 +00:00
Nick Hibma
6fb8656a29 Add a define for the Zip 250 2000-05-07 18:37:13 +00:00
Nick Hibma
d38aa24487 More static -> Static to keep OpenBSD happy. 2000-05-07 14:23:32 +00:00
Poul-Henning Kamp
9626b608de Separate the struct bio related stuff out of <sys/buf.h> into
<sys/bio.h>.

<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall
not be made a nested include according to bdes teachings on the
subject of nested includes.

Diskdrivers and similar stuff below specfs::strategy() should no
longer need to include <sys/buf.> unless they need caching of data.

Still a few bogus uses of struct buf to track down.

Repocopy by:    peter
2000-05-05 09:59:14 +00:00
Poul-Henning Kamp
e9340d96fa Remove 42 unneeded #include <sys/ioccom.h>.
ioccom.h defines only implementation detail, and should therefore
only be included from the #include which defines the ioctl tags,
in other words: never include it from *.c
2000-05-03 07:31:38 +00:00
Nick Hibma
b5ea1f0c77 The USB double bulk pipe driver (Host to host cables). Currently there
are two supported chips, the NetChip 1080 (only prototypes available)
and the EzLink cable. Any other cable should be supported however as they
are all very much alike (there is a difference between them wrt
performance).

It uses Netgraph.

This driver was mostly written by Doug Ambrisko and Julian Elischer and
I would like to thank Whistle for yet another contribution. And my
aplogies to them for me sitting on the driver for so long (2 months).

Also, many thanks to Reid Augustin from NetChip for providing me with a
prototype of their 1080 chip.

Be aware of the fact that this driver is very immature and has only been
tested very lightly. If someone feels like learning about Netgraph however
this is an excellent driver to start playing with.
2000-05-01 22:48:23 +00:00
Nick Hibma
af3ff17a45 Regen. 2000-05-01 20:31:01 +00:00
Nick Hibma
096ce94051 Add the EzLink adapter Id 2000-05-01 20:26:12 +00:00
Poul-Henning Kamp
eb95c536ad Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
Peter Wemm
95a1645553 Depend on miibus.
Note that if_aue doesn't strictly depend on usb because it uses the
method interface for calls rather than using internal symbols, and
because it's a child driver of usb and therefore will not try and do
anything unless the parent usb code is loaded at some point.  if_aue does
strictly depend on miibus as it will fail to link if it is missing.
2000-04-29 13:41:57 +00:00
Poul-Henning Kamp
3389ae9350 Remove ~25 unneeded #include <sys/conf.h>
Remove ~60 unneeded #include <sys/malloc.h>
2000-04-19 14:58:28 +00:00
Bill Paul
1d6431f625 Add vendor/device codes for SmartBridges SmartLink USB ethernet adapter
(which is actually a CATC Netmate).

Gee. I don't know why people make such a fuss over supporting USB ethernet
NICs. This is easier than collecting graft.
2000-04-14 14:46:22 +00:00
Bill Paul
92ed1e40ae Regenerate. 2000-04-14 14:44:54 +00:00
Bill Paul
cd29a8ae0f Add entry for SmartBridges SmartLink USB ethernet adapter. 2000-04-14 14:43:34 +00:00
Nick Hibma
de9e4dd6e4 Update the urio driver. It now works on NetBSD and OpenBSD as well.
Update the license in the rio_usb.h (now rio500_usb.h) to not be GPL.
Sorry for committing that file in the first place. The change of license
was agreed to by the original author.
2000-04-08 17:02:13 +00:00
Doug Rabson
f7b7769172 * Factor out the object system from new-bus so that it can be used by
non-device code.
* Re-implement the method dispatch to improve efficiency. The new system
  takes about 40ns for a method dispatch on a 300Mhz PII which is only
  10ns slower than a direct function call on the same hardware.

This changes the new-bus ABI slightly so make sure you re-compile any
driver modules which you use.
2000-04-08 14:17:18 +00:00
Nick Hibma
cd37c0cba9 Regen. 2000-04-06 10:19:16 +00:00
Nick Hibma
5deaecf7cf Add Zip 250 2000-04-06 10:16:24 +00:00
Nick Hibma
16fd39fc59 Dereference a pointer (print int instead of pointer value) 2000-04-03 22:28:13 +00:00
Nick Hibma
673ef6fe3a Numerous fixes brought in by Lennart Augustsson from NetBSD:
- Request the maximum number of LUNs on a device if it is
  a Bulk-Only device.

- Handle NO_TEST_UNIT_READY case for SCSI

- Add NO_START_STOP quirk for LS-120

- Fix a KASSERT which was the wrong way around.

- Kickstart the LS-120 with the infamous LS-120 specific command of
  which no one knows what it doesn, apart from the fact that it appeared
  in the Linux code someday.
2000-04-03 22:19:44 +00:00
Nick Hibma
cdb51d12a6 OpenBSD has a broken debugger that does not grok static. Use a
#define Static  static

that the OpenBSD folks can define it to be empty if they like.
2000-04-03 20:58:30 +00:00
Nick Hibma
329cac9cb7 Regen. 2000-04-03 15:15:50 +00:00
Nick Hibma
3a8acc3059 Add Freecom + product; Update NetBSD's copyright 2000-04-03 14:47:43 +00:00
Nick Hibma
540d9130cc Add a hack to cam that makes the cam_xpt available to the rest of the
kernel. Justin agress that there is no other reasonable alternative to
do automatic rescans on connect.

The problem is that when a new device attaches to a SIM (SCSI host
controller) we need to send a XPT_SCAN_BUS command to the SIM using
xpt_action. This requires however that there is a peripheral available
to take the command (otherwise xpt_done and later bomb). The RESCAN
ioctl uses the same periph.

This enables a USB mass storage drive to do an automatic rescan on
connection of the drive.

The automatic dropping of a CAM entry on disconnection was already
working (asynchronous event).

The next thing to do is find someone to commit a change to vpo to do the
same thing. Just port umass_cam_rescan and friends across to that
driver.

Approved by:   gibbs
2000-04-03 11:11:12 +00:00
Nick Hibma
3768ac3452 Sync with NetBSD: Add a few id's and correct numerous typo's 2000-04-03 00:07:43 +00:00
Nick Hibma
c7de838d37 Sync with NetBSD: Keep the bit position even when the report descriptor says POP. 2000-04-02 23:15:08 +00:00
Nick Hibma
526e193e18 Shoot. Did a compile in the wrong directory and missed this compiler
error.

Could someone pass me the pointy hat, please?
2000-04-02 22:04:18 +00:00
Nick Hibma
767fd36c73 Remove a static variable, a uniquifier for a SCSI command. It might have
produced inadvertently failed transfers in the case were multiple
Bulk-Only devices are connected and a command is prepared at the same
time.
2000-04-02 21:59:27 +00:00
Nick Hibma
b5cf22188d I got the CAM numbers (path id's, buses, unit numbers) and newbus
unit numbers all wrong. This did not show up because most of them where
zero anyway.

Use a separate buffer for command transforms instead of fiddling with
the existing cdb_bytes.

Take CAM_CDB_POINTER into account. Nobody is using it, but someone might
in the future.

Be more picky about what to accept in the UFI command set.

First attempt at implementing the ATAPI command protocol transforms.
This should at least make Imation Superdisk and other e-Shuttle based
devices show as attached. Maybe they even work to some extent.
2000-04-02 16:59:16 +00:00
Jonathan M. Bresler
4c9805fafa Add support for the LinkSys USB10T network adapter that
contains the ADMtek Pegasus AN986 USB chipset.  The
	adapter supports both 10BaseT and 100BaseT (including
	full-duplex).  The product code for these adapters is
	0x2206.
2000-04-02 12:43:34 +00:00
Jonathan M. Bresler
0fe00f48d0 if USB support is not compiled into the kernel,
and has not been loaded via a kldload,
	running usbd(8) will autoload the "usb.ko" kld.

	thanks to Peter Wemm for enlightening me on the
	differences between kldfind(2) and modfind(2).
2000-04-02 06:28:40 +00:00
Bill Paul
c57afb7f7e Regenerate. 2000-03-29 19:46:41 +00:00
Bill Paul
554d5470ef Add vendor/product ID for two more KLSI-based devices, including a
USB ethernet adapter being handed out by @Home.
2000-03-29 19:44:48 +00:00
Masahide MAEKAWA
de06b995e0 Regen. 2000-03-29 15:08:02 +00:00
Masahide MAEKAWA
c4fdea33fb Add ID (Keisokugiken Corp. HKS-0200 USBDAQ) 2000-03-29 15:07:20 +00:00
Nick Hibma
a0e14f58d9 Revert to a static value for the timeout. The timeout was supposedly
to be based on the transfer speed, but I got it all wrong. The by far
biggest factor in the timeout is the start of a removable device, which
is about 2 seconds anyway.

Prodded by: Lennart Augustsson
2000-03-28 17:38:00 +00:00
Nick Hibma
20c206fd53 The REQUEST SENSE command is 6b not 16b. Use the struct scsi_sense to
indicate that we are working with that command.

Some corrected/added comments.
2000-03-26 01:39:12 +00:00
Bill Paul
b485fb175f Regenerate usbdevs files.
Also add device entry in if_kue.c for the LINKSYS USB10T adapter.

Also add calls to bpfdetach() in detach routines.
2000-03-21 15:20:41 +00:00
Bill Paul
695ddaa54a Add device ID for LinkSys USB10T ethernet adapter (0x2202). 2000-03-21 15:18:51 +00:00
Masahide MAEKAWA
ae562b99a0 Regen. 2000-03-20 19:49:50 +00:00
Masahide MAEKAWA
91441023d8 Add 22 vendor IDs. 2000-03-20 19:49:20 +00:00
Masahide MAEKAWA
bdc8d7478e Regen. 2000-03-20 18:30:34 +00:00
Masahide MAEKAWA
3935d591c6 Add 80 vendor IDs. 2000-03-20 18:30:04 +00:00
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
Nick Hibma
db972b58b5 Check whether we can change config at all. If any of the endpoints
has been opened, we should not allow configuration changes as endpoint
descriptors might disappear.

PR:	16256, 16168
2000-01-23 15:48:29 +00:00
Nick Hibma
bf79729b6e Zap the vnodes for the control endpoint as well. 2000-01-23 15:42:08 +00:00
Nick Hibma
bd7bdb532c Add ID for the AMD-756 OHCI controller 2000-01-21 10:46:29 +00:00
Nick Hibma
341777d004 Add support for DEVICE_SUSPEND, DEVICE_RESUME and DEVICE_SHUTDOWN
methods for USB devices.

However: with none of the devices I have here suspend seems to work
properly.  This is probably a bug in uhci_power which I still have to
look at.

Prodded and pushed by:  Christopher Masto <chris@netmonger.net>
2000-01-20 22:24:35 +00:00
Nick Hibma
fc096eaad4 Remove duplicate include 2000-01-20 22:05:30 +00:00
Nick Hibma
5fa5aeec53 Properly remove interrupts if initialisation fails. 2000-01-20 21:36:07 +00:00
Bill Paul
58295f6ace Fix test for deciding when a bulk IN transfer got truncated. I thought
I fixed this last night, but apparently I only applied the patch to the
copy of the code in /dev/brain0.
2000-01-20 19:57:43 +00:00
Kazutaka YOKOTA
cf3024b76c Do not include `ukbd.h'; it's not used.
Pointed out by: bde
2000-01-20 13:24:28 +00:00
Bill Paul
1aebda0582 Regen. 2000-01-20 07:39:19 +00:00
Bill Paul
a6d9a40e81 More USB ethernet tweaks:
- Sync ohci, uhci and usbdi modules with NetBSD in order to obtain the
  following improvements:
        o New USBD_NO_TSLEEP flag can be used in place of UQ_NO_TSLEEP
          quirk. This allows drivers to specify busy waiting only for
          certain transfers (namely control transfers for reading/writing
          registers and stuff).
        o New USBD_FORCE_SHORT_XFER flag can be used to deal with
          devices like the ADMtek Pegasus that sense the end of bulk OUT
          transfers in a special way (if a transfer is exactly a multiple
          of 64 bytes in size, you need to send an extra empty packet
          to terminate the transfer).
        o usbd_open_pipe_intr() now accepts an interval argument which
          can be used to change the rate at which the interrupt callback
          routine is invoked. Specifying USBD_DEFAULT_INTERVAL uses the
          value specified in the device's config data, but drivers can
          override it if needed.
- Change if_aue to use USBD_FORCE_SHORT_XFER for packet transmissions.
- Change if_aue, if_kue and if_cue to use USBD_NO_TSLEEP for all
  control transfers. We no longer force the non-tsleep hack for
  bulk transfers since these are done asynchronously anyway.
- Removed quirk entry fiddling from if_aue and if_kue since we don't
  need it anymore now that we have the USBD_NO_TSLEEP flag.
- Tweak ulpt, uhid, ums and ukbd drivers to use the new arg to
  usbd_open_pipe_intr().
- Add a flag to the softc struct in the ethernet drivers to indicate
  when a device has been detached, and use this flag to perform
  tests to prevent the drivers from trying to do control transfers
  if this is the case. This is necessary because calling if_detach()
  with INET6 enabled will eventually result in a call to the driver's
  ioctl() routine to delete the multicast groups on the interface,
  which will result in attempts to perform control transfers. (It's
  possible this also happens even without INET6 support enabled.) This
  is pointless since we know that if the detach method has been called,
  the hardware has been unplugged.
- Changed watchdog timeout routines to just call the driver init routines
  to initialize the device states without trying to close and re-open the
  pipes. This is partly because we don't want to frob things at interrupt
  context, but also because this doesn't seem to work right and I don't
  want to panic the system just because a USB device may have stopped
  responding.
- Fix aue_rxeof() to be a little smarter about detecting when a double
  transfer is needed. Unfortunately, the design of the chip makes it hard
  to get this exactly right. Hopefully, this will go away once either
  Nick or Lennart finds the bug in the uhci driver that makes this ugly
  hack necessary.
- Also sync usbdevs with NetBSD.
2000-01-20 07:38:33 +00:00
Bill Paul
76fd432173 Fix a couple of bugs:
- The busy wait hack in usbdi.c was doing its timeout in microseconds
  instead of milliseconds.
- if_aue.c:aue_intr() is creating a bitmask by and'ing two bits when it
  should be or'ing them.

Submitted by:	Lennart Augustsson
2000-01-19 01:01:56 +00:00
Bill Paul
7b7b87d7ef Change the mechanism by which we detect that the firmware is already
running. It turns out that trying to read the MAC address when there's
no firmware creates a zero length transfer. This apparently doesn't
hurt anything on a UHCI controller, but OHCI controllers generate an
IOERROR, and the device doesn't initialize.

Instead, check the bcdDevice revision code. We know this will be
different when the firmware is running, so if we detect the firmware's
code instead of the bare hardware's code, we skip the firmware load.
2000-01-17 23:14:40 +00:00
Bill Paul
4c10dd65ca The correct part number for the CATC ASIC is USB-EL1210A, not
USB-EL1201A or even USB-EL1202A. Wonder what drugs I was on when
I made this mistake, and then propagated it to 6 different files.

*sigh*
2000-01-17 18:49:20 +00:00
Bill Paul
20a08a85e4 Remove device name strings from vendor/product lists since we don't use
them (they're read from the device directly). Also do a set_config
command for the ADMtek and CATC drivers.
2000-01-16 22:45:07 +00:00
Bill Paul
4640135aaf Minor enhancement: set the 'dual link LED' bit in the auxmode register
of the Broadcom BCM5201 PHY on the LinkSys USB100TX adapter so that the
link LED correctly (lights up amber for 10mbps link, green for 100mbps
link).

Note that the sticker on the bottom of the adapter says amber for 10
and green for 100, but the appendix in the manual that comes with
the adapter says green for 10 and amber for 100. Given that there doesn't
seem to be any way to make the hardware produce the latter combination,
I think it's safe to say the sticker is right and the manual is wrong.
I'm just shocked, shocked I tell you.
2000-01-15 18:43:07 +00:00
Bill Paul
e4f25e405c Fix multicast filter programming. 2000-01-14 17:03:00 +00:00
Bill Paul
cfc5d9f44e Do a few minor cleanups. 2000-01-14 07:08:33 +00:00
Bill Paul
0177987224 Add device driver support for USB ethernet adapters based on the CATC
USB-EL1202A chipset. Between this and the other two drivers, we should
have support for pretty much every USB ethernet adapter on the market.
The only other USB chip that I know of is the SMC USB97C196, and right
now I don't know of any adapters that use it (including the ones made
by SMC :/ ).

Note that the CATC chip supports a nifty feature: read and write combining.
This allows multiple ethernet packets to be transfered in a single USB
bulk in/out transaction. However I'm again having trouble with large
bulk in transfers like I did with the ADMtek chip, which leads me to
believe that our USB stack needs some work before we can really make
use of this feature. When/if things improve, I intend to revisit the
aue and cue drivers. For now, I've lost enough sanity points.
2000-01-14 03:14:49 +00:00
Bill Paul
4c645f4852 Pull my head out of my ass and actually make the tx netisr stuff work right.
Do not not not call m_freem() in the txeof routines. Let the netisr routine
do it. This also makes the tx netisr queuing much simpler (I can just use
another ifqueue instead of the mess I had before.)

Thanks to Bosko Milekic for making me actually think about what I was
doing for a minute.
2000-01-14 01:36:16 +00:00
Bill Paul
f1a80ccf63 Clean up rxeof routines a little. 2000-01-14 00:49:28 +00:00
Bill Paul
e562c84330 Fix instance of AUE_BUFSZ that should have been AUE_CUTOFF. 2000-01-13 23:40:00 +00:00
Bill Paul
c76ce56239 Remove debug printf I left in by mistake. 2000-01-13 20:53:49 +00:00
Bill Paul
278b83e09b Regenerate. 2000-01-13 20:17:11 +00:00
Bill Paul
4f0a6f0403 Bunch of updates:
- Add vendor/device ID for Corega USB-T ethernet adapter to necessary
  places so that it will work with the kue driver.

- Add vendor/device ID for CATC Netmate devices for driver to be added
  soon.

- Get really crazy about netisr stuff: avoid doing any mbuf allocations
  or deallocations at splbio/splusb.

- Fix if_aue driver so that it works with LinkSys USB100TX: you need
  to flip the GPIO bits just the right way to put the PHY in the right
  mode.
2000-01-13 20:13:58 +00:00
Bill Paul
502c509ce0 Apply the same netisr mechanism to transmissions as well. In order to
drive the transmitter, we have to check the interface's send queue in the
TX end of frame handler (i.e. the usb bulk out callback) and push out new
transmissions if the queue has packets in it and the transmitter is
ready. But the txeof handler is also called from a USB callback running
at splusb() too.

Grrr.
2000-01-12 17:46:40 +00:00
Bill Paul
611d6a1573 Straighten out the logic in kue_setmulti() a little (the case where we
have no multicast entries to add is not handled right).
2000-01-11 18:09:19 +00:00
Kazutaka YOKOTA
7642cc829e Rework shifta/ctla/alta key handling. It appears that there was
misunderstanding between the PR originator and me.  I hope I got it
right this time.
2000-01-11 13:39:05 +00:00
Bill Paul
a0067d7b89 Attempt to fix a problem with receiving packets on USB ethernet interfaces.
Packets are received inside USB bulk transfer callbacks, which run at
splusb() (actually splbio()). The packet input queues are meant to be
manipulated at splimp(). However the locking apparently breaks down under
certain circumstances and the input queues can get trampled.

There's a similar problem with if_ppp, which is driven by hardware/tty
interrupts from the serial driver, but which must also manipulate the
packet input queues at splimp(). The fix there is to use a netisr, and
that's the fix I used here. (I can hear you groaning back there. Hush up.)

The usb_ethersubr module maintains a single queue of its own. When a
packet is received in the USB callback routine, it's placed on this
queue with usb_ether_input(). This routine also schedules a soft net
interrupt with schednetisr(). The ISR routine then runs later, at
splnet, outside of the USB callback/interrupt context, and passes the
packet to ether_input(), hopefully in a safe manner.

The reason this is implemented as a separate module is that there are
a limited number of NETISRs that we can use, and snarfing one up for
each driver that needs it is wasteful (there will be three once I get
the CATC driver done). It also reduces code duplication to a certain
small extent. Unfortunately, it also needs to be linked in with the
usb.ko module in order for the USB ethernet drivers to share it.

Also removed some uneeded includes from if_aue.c and if_kue.c

Fix suggested by: peter
Not rejected as a hairbrained idea by: n_hibma
2000-01-10 23:12:54 +00:00
Nick Hibma
3a08f9ce41 Add an extra debugging message. 2000-01-10 22:33:43 +00:00
Nick Hibma
57d56d6643 Add Sun keyboard and NetChip 2000-01-10 22:31:01 +00:00
Bill Paul
61ebfeecad Add the vendor/device IDs for the LinkSys USB100TX.
Note: the .INF file for LinkSys's driver says the vendor ID is 0x66b,
however this does not agree with the vendor ID listed for LinkSys in
the company list from www.usb.org. In fact, 0x66b doesn't seem to appear
in the company list at all. Furthermore, this same vendor ID crops
up in some of the D-Link .INF files. Frankly I don't know what the heck
is going on here, but I need to add 0x66b to usbdevs and call it
something, so here we are.
2000-01-08 07:32:48 +00:00
Bill Paul
dd3e57dac6 Be a bit more discriminating when trying to decide when to screen out
certain PHY addresses in aue_miibus_readreg(). Not all adapters based
on the Pegasus chip may have their PHYs wired for the same MII bus
addresses: the logic that I used for my ADMtek eval board might not
apply to other adapters, so make sure to only use it if this is really
an ADMtek eval board (check the vendor/device ID).

This will hopefully make the LinkSys USB100TX adapter work correctly.
2000-01-08 06:52:36 +00:00
Bill Paul
5edf2bc0a5 Leave the SOFS value (number of StartOfFrames to wait while filling
an URB before sending ZLP) set to the default. Choosing a bad value
can apparently cause a lockup on some machines/controllers.

Reported by: Doug Ambrisko
2000-01-08 00:40:44 +00:00
Bill Paul
d04bb221f3 Add the vendor and device IDs for a whole bunch of additional USB
ethernet adapters that are supported by the aue and kue drivers.
There are actually a couple more out there from Accton, Asante and
EXP Computer, however I was not able to find any Windows device
drivers for these on their servers, and hence could not harvest
their vendor/device ID info. If somebody has one of these things
and can look in the .inf file that comes with the Windows driver,
I'd appreciate knowing what it says for 'VID' and 'PID.'

Additional adapters include: the D-Link DSB-650 and DSB-650TX, the
SMC 2102USB, 2104USB and 2202USB, the ATen UC10T, and the Netgear EA101.
These are all mentioned in the man pages, relnotes and LINT.

Also correct the date in the kue(4) man page. I wrote this thing
on Jan, 4 2000, not 1999.
2000-01-07 22:18:49 +00:00
Bill Paul
032eb46fbb Cleanups: remove stale comments left over from when I cloned the ADMtek
driver, remove unused member of kue_chain struct also left over from
ADMtek driver.
2000-01-06 07:39:07 +00:00
Bill Paul
a7fffc4bc2 Update copyright date for Y2K (did the other files but forgot this one).
Also update comments to credit to Rob Furr with donating the adapter
that I used for testing. No code changes.
2000-01-05 23:38:07 +00:00
Bill Paul
a40a664637 Correct the vendor ID for KLSI: it's actually 0x5e9. 0x3e8 is the
vendor ID for Aox Inc, which makes the controller engine and/or
firmware for the KLSI chip.
2000-01-05 18:25:53 +00:00
Bill Paul
78126c2704 Doh. Forgot to add the entry for the 3Com 3c19250 to the supported
devices table.
2000-01-05 17:31:05 +00:00
Bill Paul
6998849dc4 Do not attempt to load the firmware a second time. If you reboot your
machine but leave your KLSI adapter plugged into your USB port, it
may stay powered on and retain its firmware in memory. Trying to load
the firmware again in this case will wedge the chip. Try to detect this
in the kue_load_fw() routine and bail if the firmware is already
loaded and running.

Also, in the probe/match routine, force the revision code to the
hardware default and force a rescan of the quirk database. This is
necessary because the adapter will return a different revision code
if the firmware has been loaded. Without the firmware, the revision
code is 0x002. With the firmware, the revision code is 0x202. This
confuses the quirk mechanism, which won't match a quirk to a device
unless the revision code agrees with the quirk table entry.

This makes probe/attach of these devices somewhat more reliable.

Also add a few comments about the device's operation.
2000-01-05 17:13:50 +00:00
Bill Paul
dfd1e98eac Add device driver support for USB ethernet adapters based on the
Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the
Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com
3c19250 and the ADS Technologies USB-10BT. This device is 10mbs
half-duplex only, so there's miibus or ifmedia support. This device
also requires firmware to be loaded into it, however KLSI allows
redistribution of the firmware images (I specifically asked about
this; they said it was ok).

Special thanks to Annelise Anderson for getting me in touch with
KLSI (eventually) and thanks to KLSI for providing the necessary
programming info.

Highlights:
- Add driver files to /sys/dev/usb
- update usbdevs and regenerate attendate files
- update usb_quirks.c
- Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha
- Update LINT, GENERIC and others for i386, alpha and pc98
- Add man page
- Add module
- Update sysinstall and userconfig.c
2000-01-05 04:27:24 +00:00
Peter Wemm
664a31e496 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 04:46:21 +00:00
Bill Paul
ed63a7aaef This commit adds device driver support for the ADMtek AN986 Pegasus
USB ethernet chip. Adapters that use this chip include the LinkSys
USB100TX. There are a few others, but I'm not certain of their
availability in the U.S. I used an ADMtek eval board for development.
Note that while the ADMtek chip is a 100Mbps device, you can't really
get 100Mbps speeds over USB. Regardless, this driver uses miibus to
allow speed and duplex mode selection as well as autonegotiation.
Building and kldloading the driver as a module is also supported.

Note that in order to make this driver work, I had to make what some
may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer()
function will use tsleep() for synchronous transfers that don't complete
right away. This is a problem since there are times when we need to
do sync transfers from an interrupt context (i.e. when reading registers
from the MAC via the control endpoint), where tsleep() us a no-no.
My hack allows the driver to have the code poll for transfer completion
subject to the xfer->timeout timeout rather that calling tsleep().
This hack is controlled by a quirk entry and is only enabled for the
ADMtek device.

Now, I'm sure there are a few of you out there ready to jump on me
and suggest some other approach that doesn't involve a busy wait. The
only solution that might work is to handle the interrupts in a kernel
thread, where you may have something resembling a process context that
makes it okay to tsleep(). This is lovely, except we don't have any
mechanism like that now, and I'm not about to implement such a thing
myself since it's beyond the scope of driver development. (Translation:
I'll be damned if I know how to do it.) If FreeBSD ever aquires such
a mechanism, I'll be glad to revisit the driver to take advantage of
it. In the meantime, I settled for what I perceived to be the solution
that involved the least amount of code changes. In general, the hit
is pretty light.

Also note that my only USB test box has a UHCI controller: I haven't
I don't have a machine with an OHCI controller available.

Highlights:

- Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part.
- Updated usbdevs and regenerated generated files
- Updated HARDWARE.TXT and RELNOTES.TXT files
- Updated sysinstall/device.c and userconfig.c
- Updated kernel configs -- device aue0 is commented out by default
- Updated /sys/conf/files
- Added new kld module directory
1999-12-28 02:01:18 +00:00