Commit Graph

145 Commits

Author SHA1 Message Date
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
David E. O'Brien
aad970f1fe Use __FBSDID().
Also some minor style cleanups.
2003-08-24 17:55:58 +00:00
John-Mark Gurney
45dd937507 make usb bus_dma aware.
Reviewed by:	joe among others
2003-07-15 22:42:37 +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
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
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
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
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
a163d034fa Back out M_* changes, per decision of the TRB.
Approved by: trb
2003-02-19 05:47:46 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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