The NetBSD Project

CVS log for src/sys/dev/usb/usbdi.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev / usb

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.108 / (download) - annotate - [select for diffs], Sat Aug 20 11:32:20 2022 UTC (5 months, 1 week ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.107: +1 -3 lines
Diff to previous 1.107 (colored)

usbdi(9): Nix resurrected usbd_request_async.

We killed this back in 2013, but it came back from the dead on a
driver imported from OpenBSD.

Revision 1.107 / (download) - annotate - [select for diffs], Thu Mar 3 06:09:33 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.106: +4 -1 lines
Diff to previous 1.106 (colored)

usbdi(9): New usbd_suspend_pipe, usbd_resume_pipe.

- New usbd_suspend_pipe to persistently stop transfers on a pipe and
  cancel pending ones or wait for their callbacks to finish.
  Idempotent.

- New usbd_resume_pipe to allow transfers again.  Idempotent, but no
  new xfers may be submitted before repeating this.

  This way it is safe to usbd_abort_pipe in two threads concurrently,
  e.g. if one thread is closing a device while another is revoking it
  -- but the threads have to agree on when it is done being aborted
  before starting to use it again.

- Existing usbd_abort_pipe now does suspend then resume.  No change
  in semantics so drivers that relied on being able to submit
  transfers again won't be broken any worse than the already are
  broken.

This allows drivers to avoid races such as:

	/* read */
	if (sc->sc_dying)
		return ENXIO;
	/* (*) */
	err = usbd_bulk_transfer(...);

	/* detach or or close */
	sc->sc_dying = true;
	usbd_abort_pipe(...);
	wait_for_io_to_drain(...);

The detach or close logic might happen at the same time as (*), with
no way to stop the bulk transfer before it starts, leading to
deadlock when detach/close waits for I/O operations like read to
drain.  Instead, the close routine can use usbd_suspend_pipe, and the
usbd_bulk_transfer is guaranteed to fail.

But some drivers such as ucom(4) don't close and reopen pipes after
aborting them -- they open on attach and close on detach, and just
abort when the /dev node is closed, expecting that xfers will
continue to work when next opened.  These drivers can instead use
usbd_suspend_pipe on close and usbd_resume_pipe on open.  Perhaps it
would be better to make them open pipes on open and close pipes on
close, but these functions make for a less intrusive transition.

Revision 1.106 / (download) - annotate - [select for diffs], Thu Mar 3 06:06:52 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.105: +2 -2 lines
Diff to previous 1.105 (colored)

usb: usbd_close_pipe never fails.  Make it return void.

Prune dead branches as a result of this change.

Revision 1.105 / (download) - annotate - [select for diffs], Thu Mar 3 06:05:38 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.104: +3 -3 lines
Diff to previous 1.104 (colored)

usb: usbd_abort_pipe never fails.  Make it return void.

Prune dead branches as a result of this change.

Revision 1.104 / (download) - annotate - [select for diffs], Mon Feb 14 09:22:30 2022 UTC (11 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.103: +5 -1 lines
Diff to previous 1.103 (colored)

usbdi(9): Fix missing includes in usbdi.h.

Revision 1.102.10.1 / (download) - annotate - [select for diffs], Thu Jun 17 04:46:31 2021 UTC (19 months, 1 week ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.102: +3 -1 lines
Diff to previous 1.102 (colored) next main 1.103 (colored)

Sync w/ HEAD.

Revision 1.103 / (download) - annotate - [select for diffs], Sun Jun 13 14:48:10 2021 UTC (19 months, 2 weeks ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2
Changes since 1.102: +3 -1 lines
Diff to previous 1.102 (colored)

usb(4): Bus exploration is single-threaded -- assert it so.

New usb_in_event_thread(dev) returns true if dev is a USB device --
that is, a device with a usbN ancestor -- and the current thread is
the USB event thread.

(Kinda kludgey to pass around the device_t instead of, say, struct
usbd_bus, but I don't see a good way to get to the usbN device_t or
struct usb_softc from there.)

Revision 1.92.16.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:51 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.92.16.2: +3 -0 lines
Diff to previous 1.92.16.2 (colored) to branchpoint 1.92 (colored) next main 1.93 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.92.16.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:14 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.92.16.1: +7 -9 lines
Diff to previous 1.92.16.1 (colored) to branchpoint 1.92 (colored)

Merge changes from current as of 20200406

Revision 1.96.4.2 / (download) - annotate - [select for diffs], Sun Mar 1 12:35:16 2020 UTC (2 years, 10 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE
Changes since 1.96.4.1: +8 -2 lines
Diff to previous 1.96.4.1 (colored) to branchpoint 1.96 (colored) next main 1.97 (colored)

Pull up following revision(s) (requested by riastradh in ticket #744):

	sys/dev/usb/uhci.c: revision 1.292
	sys/dev/usb/uhci.c: revision 1.293
	sys/dev/usb/usbdi.h: revision 1.99
	sys/dev/usb/motg.c: revision 1.26
	sys/dev/usb/motg.c: revision 1.27
	sys/dev/usb/motg.c: revision 1.28
	sys/dev/usb/motg.c: revision 1.29
	sys/external/bsd/dwc2/dwc2.c: revision 1.70
	sys/external/bsd/dwc2/dwc2.c: revision 1.71
	sys/dev/usb/usb.c: revision 1.181
	sys/arch/mips/adm5120/dev/ahci.c: revision 1.20
	sys/dev/usb/usb.c: revision 1.182
	sys/dev/usb/xhci.c: revision 1.116
	sys/dev/usb/xhci.c: revision 1.117
	sys/dev/usb/xhci.c: revision 1.118
	sys/dev/usb/uhci.c: revision 1.289
	sys/dev/usb/usbdivar.h: revision 1.121
	sys/dev/usb/usbdi.c: revision 1.190
	sys/dev/usb/usbdivar.h: revision 1.122
	sys/dev/usb/usbdi.c: revision 1.191
	sys/dev/usb/usbdi.c: revision 1.192
	sys/external/bsd/dwc2/dwc2var.h: revision 1.7
	sys/dev/usb/motg.c: revision 1.30
	sys/dev/usb/motg.c: revision 1.31
	sys/dev/usb/motg.c: revision 1.32
	sys/dev/usb/motg.c: revision 1.33
	sys/external/bsd/dwc2/dwc2.c: revision 1.67
	sys/external/bsd/dwc2/dwc2.c: revision 1.68
	sys/dev/usb/ehci.c: revision 1.270
	sys/external/bsd/dwc2/dwc2.c: revision 1.69
	sys/dev/usb/usbdi.h: revision 1.100
	sys/dev/usb/ehci.c: revision 1.271
	sys/arch/mips/adm5120/dev/ahci.c: revision 1.18
	sys/dev/usb/usbdi.h: revision 1.101
	sys/dev/usb/ehci.c: revision 1.272
	sys/dev/ic/sl811hs.c: revision 1.103
	sys/arch/mips/adm5120/dev/ahci.c: revision 1.19
	sys/dev/usb/ehci.c: revision 1.273
	sys/dev/usb/ohci.c: revision 1.293
	sys/dev/usb/uhci.c: revision 1.290
	sys/dev/usb/ohci.c: revision 1.294
	sys/dev/usb/uhci.c: revision 1.291
	sys/dev/usb/ohci.c: revision 1.295

Teach usb_rem_task to return whether removed from queue or not.

New function usb_task_pending for diagnostic assertions.
Usable only for negative diagnostic assertions:

        KASSERT(!usb_task_pending(dev, task))

If you can think of a better name for this than !usb_task_pending,
I'm all ears.

 -

Nothing guarantees xfer's timeout has completed.

Wait for it when we free the xfer.

 -


New xfer state variables ux_timeout_set and ux_timeout_reset.

These are needed because:
- The host controller interrupt cannot wait for the callout or task
  to finish running.
- Nothing in the USBD API as is waits for the callout or task to
  finish running.
- Callers expect to be able to resubmit USB xfers from xfer callbacks
  without waiting for anything to finish running.

The variable ux_timeout_set can be used by a host controller to
decide on submission whether to schedule the callout or to ask an
already-scheduled callout or already-queued task to reschedule the
callout, by setting the variable ux_timeout_reset to true.

When the callout or task runs and sees that ux_timeout_reset is true,
rather than queue the task or abort the xfer, it can instead just
schedule the callout anew.

 -

Fix steady state of timeouts in ehci.

This is complicated because:
1. There are three ways that an xfer can be completed:
   (a) hardware interrupt completes xfer
   (b) software decision aborts xfer with USBD_CANCELLED
   (c) timeout aborts xfer with USBD_TIMEOUT
2. The timeout abort can't be done in callout because ehci_sync_hc,
   called unconditionally by ehci_abort_xfer to wait until the device
   has finished using any references to the xfer, may sleep.  So we
   have to schedule a callout that, when run, will schedule a usb_task.
3. The hardware completion interrupt can't sleep waiting for a callout
   or task to finish -- can't use callout_halt or usb_rem_task_wait.
   So the callout and usb_task must be able to run _after_ the hardware
   completion interrupt, and recognize that they're late to the party.
   (Note, though, that usbd_free_xfer does wait for the callout and
   task to complete, so there's no danger they may use themselves after
   free.)
4. The xfer may resubmitted -- and the timeout may be rescheduled --
   immediately after the hardware completion interrupt, _while_ the
   callout and/or usb_task may still be scheduled.  Specifically, we
   may have the following sequence of events:
   (a) hardware completion interrupt
   (b) callout or usb_task fires
   (c) driver resubmits xfer
   (d) callout or usb_task acquires lock and looks around dazed and
       bewildered at the firehose of events like reading the news in 2019

The mechanism for sorting this out is that we have two bits of state:
- xfer->ux_timeout_set informs the driver, when submitting an xfer and
  setting up its timeout, whether either the callout or usb_task is
  already scheduled or not.
- xfer->ux_timeout_reset informs the callout or usb_task whether it
  should reschedule the callout, because the xfer got resubmitted, or
  not.

 -

Factor out HCI-independent xfer completion logic.

New API for HCI drivers to synchronize hardware completion
interrupts, synchronous aborts, and asynchronous timeouts:
- When submitting an xfer to hardware, call
  usbd_xfer_schedule_timeout(xfer).
- On HCI completion interrupt for xfer completion:
        if (!usbd_xfer_trycomplete(xfer))
                return;         /* timed out or aborted, ignore it */
- In upm_abort methods, call usbd_xfer_abort(xfer).

For HCI drivers that use this API (not needed in drivers that don't,
or for xfers like root intr xfers that don't use it):
- New ubm_abortx method serves role of former *hci_abort_xfer, but
  without any logic for wrangling timeouts/callouts/tasks -- caller
  in usbd_xfer_abort has already handled them.
- New ubm_dying method, returns true if the device is in the process
  of detaching, used by the timeout logic.

Converted and tested:
- ehci
- ohci

Converted and compile-tested:
- ahci (XXX did this ever work?)
- dwc2
- motg (XXX missing usbd_xfer_schedule_timeout in motg_*_start?)
- uhci
- xhci

Not changed:
- slhci (sys/dev/ic/sl811hs.c) -- doesn't use a separate per-xfer
  callout for timeouts (XXX but maybe should?)
- ugenhc (sys/rump/dev/lib/libugenhc/ugenhc.c) -- doesn't manage its
  own transfer timeouts

 -

Fix steady state of root intr xfers.

Why?
- Avoid completing a root intr xfer multiple times in races.
- Avoid potential use-after-free in poll_hub callouts (uhci, ahci).

How?
- Use sc->sc_intr_xfer or equivalent to store only a pending xfer
  that has not yet completed -- whether successfully, by timeout, or
  by synchronous abort.  When any of those happens, set it to null
  under the lock, so the xfer is completed only once.
- For hci drivers that use a callout to poll the root hub (uhci, ahci):
  . Pass the softc pointer, not the xfer, to the callout, so the
    callout is not even tempted to use xfer after free -- if the
    callout fires, but the xfer is synchronously aborted before the
    callout can do anything, the xfer might be freed by the time the
    callout starts to examine it.
  . Teach the callout to do nothing if it is callout_pending after it
    has fired.  This way:
    1. completion or synchronous abort can just callout_stop
    2. start can just callout_schedule
    If the callout had already fired before (1), and doesn't acquire
    the bus lock until after (2), it may be tempted to abort the new
    root intr xfer just after submission, which would be wrong -- so
    instead we just have the callout do nothing if it notices it has
    been rescheduled, since it will fire again after the appropriate
    time has elapsed.

 -

Initialize xfer->ux_status in uhci_root_intr_start.

Otherwise, it will be USBD_NOT_STARTED, so usbd_ar_pipe will skip
calling upm_abort.
Candidate fix for PR kern/54963, same problem as reported at:
href="https://mail-index.NetBSD.org/current-users/2020/02/13/msg037740.html

 -

Set ux_isdone in uhci_poll_hub for DIAGNOSTIC.

 -

Fix mistakes in previous sloppy change with root intr xfers.
- Make sure ux_status is set to USBD_IN_PROGRESS when started.
  Otherwise, if it is still in flight when we abort the pipe,
  usbd_ar_pipe will skip calling upm_abort.
- Initialize ux_status under the lock; in principle a completion
  interrupt (or a delay) could race with the initialization.
- KASSERT that the xfer is in progress when we're about to complete
  it.

Candidate fix for PR kern/54963 for other HCI drivers than uhci.
ok nick
ok phone
(This is the change that nick evidently MEANT to ok when he ok'd the
previous one!)

 -

Fix build

 -

Fix non-DIAGNOSTIC builds.

 -

Fix wrong KASSERT in motg abort.
This has been wrong since last summer when we did the transition to
xfer->ux_status = USBD_CANCELLED earlier.
XXX pullup-9

 -

Fix mistakes in timeout/abort/completion changes in motg(4).
- Call usbd_xfer_schedule_timeout so we actually do time out.
- Don't call usbd_xfer_trycomplete until all the data have been
  transferred -- it commits to completion, not timeout.
- Use xfer->ux_status != USBD_IN_PROGRESS to test whether, after a
  partial write, an xfer has been interrupted or timed out and need
  not be continued.
- Remove wrong assertion.

 -

Fix mistake in use of usbd_xfer_schedule_timeout in motg.

This code path is used both for xfers that are new, and xfers that
are being done piece by piece and are partway done.  For the latter
case, skip usbd_xfer_schedule_timeout so we schedule it only once per
xfer.

 -

Simplify some branches and kassert some redundant assignments.

Revision 1.97.2.1 / (download) - annotate - [select for diffs], Sat Feb 29 20:19:17 2020 UTC (2 years, 10 months ago) by ad
Branch: ad-namecache
Changes since 1.97: +7 -9 lines
Diff to previous 1.97 (colored) next main 1.98 (colored)

Sync with head.

Revision 1.102 / (download) - annotate - [select for diffs], Sun Feb 16 09:40:35 2020 UTC (2 years, 11 months ago) by maxv
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3
Branch point for: thorpej-i2c-spi-conf
Changes since 1.101: +1 -12 lines
Diff to previous 1.101 (colored)

Move usb_desc_* into usbdi_util.c, no functional change.

Revision 1.101 / (download) - annotate - [select for diffs], Wed Feb 12 16:01:00 2020 UTC (2 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.100: +6 -1 lines
Diff to previous 1.100 (colored)

Factor out HCI-independent xfer completion logic.

New API for HCI drivers to synchronize hardware completion
interrupts, synchronous aborts, and asynchronous timeouts:

- When submitting an xfer to hardware, call
  usbd_xfer_schedule_timeout(xfer).

- On HCI completion interrupt for xfer completion:

	if (!usbd_xfer_trycomplete(xfer))
		return;		/* timed out or aborted, ignore it */

- In upm_abort methods, call usbd_xfer_abort(xfer).

For HCI drivers that use this API (not needed in drivers that don't,
or for xfers like root intr xfers that don't use it):

- New ubm_abortx method serves role of former *hci_abort_xfer, but
  without any logic for wrangling timeouts/callouts/tasks -- caller
  in usbd_xfer_abort has already handled them.

- New ubm_dying method, returns true if the device is in the process
  of detaching, used by the timeout logic.

Converted and tested:
- ehci
- ohci

Converted and compile-tested:
- ahci (XXX did this ever work?)
- dwc2
- motg (XXX missing usbd_xfer_schedule_timeout in motg_*_start?)
- uhci
- xhci

Not changed:

- slhci (sys/dev/ic/sl811hs.c) -- doesn't use a separate per-xfer
  callout for timeouts (XXX but maybe should?)

- ugenhc (sys/rump/dev/lib/libugenhc/ugenhc.c) -- doesn't manage its
  own transfer timeouts

- vhci -- times transfers out only on detach; could be adapted easily
  if we wanted to use the xfer->ux_callout

Revision 1.100 / (download) - annotate - [select for diffs], Wed Feb 12 15:59:44 2020 UTC (2 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.99: +2 -1 lines
Diff to previous 1.99 (colored)

New function usb_task_pending for diagnostic assertions.

Usable only for negative diagnostic assertions:

	KASSERT(!usb_task_pending(dev, task))

If you can think of a better name for this than !usb_task_pending,
I'm all ears.

Revision 1.99 / (download) - annotate - [select for diffs], Wed Feb 12 15:59:30 2020 UTC (2 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.98: +2 -2 lines
Diff to previous 1.98 (colored)

Teach usb_rem_task to return whether removed from queue or not.

Revision 1.98 / (download) - annotate - [select for diffs], Sat Feb 8 07:38:17 2020 UTC (2 years, 11 months ago) by maxv
Branch: MAIN
Changes since 1.97: +4 -1 lines
Diff to previous 1.97 (colored)

Move uvideo's parsers into usbdi.c, to make them global. Rename
usb_desc_iter_peek_next -> usb_desc_iter_peek for consistency.

Revision 1.90.2.3 / (download) - annotate - [select for diffs], Sat Nov 16 16:13:56 2019 UTC (3 years, 2 months ago) by martin
Branch: netbsd-7
Changes since 1.90.2.2: +4 -1 lines
Diff to previous 1.90.2.2 (colored) to branchpoint 1.90 (colored) next main 1.91 (colored)

Pull up following revision(s) (requested by mrg in ticket #1713):

	sys/dev/usb/usbdi.h: revision 1.97 (via patch)
	sys/dev/usb/usbdi.c: revision 1.186 (via patch)
	sys/dev/usb/usb_subr.c: revision 1.239 (via patch)

add new usbd_do_request_len() that can allocate a larger than
request size buffer.  reimplement usbd_do_request_flags() in
terms of this.  use this for fetching string descriptors.

fixes a very strange problem where an axe(4) attaching (either
has ugen(4) or axe(4)) would ask for 2 bytes, usb_mem.c would
allocate a 2 byte fragment, perform the operation, and sometime
shortly afterwards (usually by the time the next allocation
is made for this fragment), would become corrupted (usually
two bytes were written with 0x0304.)
(initial request of 4 bytes also avoids the problem on this
device.  it really seems like a HC problem -- host should not
allow the device to write more than req.wLength!  nor should
it allow this write to happen after completion.)

avoid an (almost) always double-log in usbd_transfer().

Revision 1.96.4.1 / (download) - annotate - [select for diffs], Sun Sep 1 13:00:37 2019 UTC (3 years, 4 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Changes since 1.96: +4 -1 lines
Diff to previous 1.96 (colored)

Pull up following revision(s) (requested by mrg in ticket #135):

	distrib/sets/lists/comp/mi			1.2279
	distrib/sets/lists/modules/mi			1.123
	share/man/man9/Makefile				1.438
	share/man/man9/usbnet.9				1.1-1.9
	sys/dev/ic/rndisreg.h				1.3
	sys/dev/usb/TODO				1.47-1.52
	sys/dev/usb/TODO.usbmp				1.15,1.16
	sys/dev/usb/files.usb				1.157-1.167
	sys/dev/usb/if_aue.c				1.155-1.161
	sys/dev/usb/if_auereg.h				1.30-1.32
	sys/dev/usb/if_axe.c				1.103-1.119
	sys/dev/usb/if_axen.c				1.51-1.53,1.55-1.67
	sys/dev/usb/if_axenreg.h			1.15
	sys/dev/usb/if_cdce.c				1.54-1.67
	sys/dev/usb/if_cue.c				1.85,1.86
	sys/dev/usb/if_cuereg.h				1.23
	sys/dev/usb/if_kue.c				1.97-1.100
	sys/dev/usb/if_kuereg.h				1.23,1.24
	sys/dev/usb/if_mue.c				1.51-1.55
	sys/dev/usb/if_muereg.h				1.6
	sys/dev/usb/if_muevar.h				1.9
	sys/dev/usb/if_smsc.c				1.46-1.61
	sys/dev/usb/if_smscreg.h			1.6
	sys/dev/usb/if_smscvar.h			delete
	sys/dev/usb/if_udav.c				1.60-1.71
	sys/dev/usb/if_udavreg.h			1.14,1.15
	sys/dev/usb/if_upl.c				1.65,1.66
	sys/dev/usb/if_ure.c				1.15-1.31
	sys/dev/usb/if_urevar.h				1.4,1.5
	sys/dev/usb/if_url.c				1.67-1.70
	sys/dev/usb/if_urlreg.h				1.14
	sys/dev/usb/if_urndis.c				1.22-1.33
	sys/dev/usb/if_urtwn.c				1.72
	sys/dev/usb/ohci.c				1.290
	sys/dev/usb/uhub.c				1.143
	sys/dev/usb/usb.c				1.180
	sys/dev/usb/usb.h				1.118
	sys/dev/usb/usb_mem.c				1.71
	sys/dev/usb/usb_subr.c				1.238,1.239
	sys/dev/usb/usbdevs				1.772
	sys/dev/usb/usbdi.c				1.183,1.186
	sys/dev/usb/usbdi.h				1.97
	sys/dev/usb/usbdi_util.c			1.75
	sys/dev/usb/usbhist.h				1.5,1.6
	sys/dev/usb/usbnet.c				1.1-1.24
	sys/dev/usb/usbnet.h				1.1-1.14
	sys/dev/usb/usbroothub.c			1.9
	sys/dev/usb/xhci.c				1.109,1.110
	sys/modules/Makefile				1.223
	sys/modules/usbnet/Makefile			1.1

usbnet(9): Add common framework for USB network devices.
This bring various safety fixes to all updated drivers,
and includes locking clean up, detach safety when being
used or not, separate rx/tx locks to improve performance,
porting to NET_MPSAFE, many edge/error case bugs in
drivers fixed, as well as resovling PRs 54303 and 54308.
These drivers are converted: axe(4), axen(4), aue(4),
cdce(4), cue(4), kue(4), mue(4), smsc(4), udav(4),
upl(4), ure(4), url(4), and urndis(4).

Revision 1.97 / (download) - annotate - [select for diffs], Wed Aug 28 01:44:39 2019 UTC (3 years, 5 months ago) by mrg
Branch: MAIN
CVS Tags: phil-wifi-20191119, ad-namecache-base2, ad-namecache-base1, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.96: +4 -1 lines
Diff to previous 1.96 (colored)

add new usbd_do_request_len() that can allocate a larger than
request size buffer.  reimplement usbd_do_request_flags() in
terms of this.  use this for fetching string descriptors.

fixes a very strange problem where an axe(4) attaching (either
has ugen(4) or axe(4)) would ask for 2 bytes, usb_mem.c would
allocate a 2 byte fragment, perform the operation, and sometime
shortly afterwards (usually by the time the next allocation
is made for this fragment), would become corrupted (usually
two bytes were written with 0x0304.)

(initial request of 4 bytes also avoids the problem on this
device.  it really seems like a HC problem -- host should not
allow the device to write more than req.wLength!  nor should
it allow this write to happen after completion.)

avoid an (almost) always double-log in usbd_transfer().

Revision 1.92.16.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:07:35 2019 UTC (3 years, 7 months ago) by christos
Branch: phil-wifi
Changes since 1.92: +11 -5 lines
Diff to previous 1.92 (colored)

Sync with HEAD

Revision 1.96 / (download) - annotate - [select for diffs], Sun Jan 27 02:08:42 2019 UTC (4 years ago) by pgoyette
Branch: MAIN
CVS Tags: phil-wifi-20190609, netbsd-9-base, isaki-audio2-base, isaki-audio2
Branch point for: netbsd-9
Changes since 1.95: +7 -5 lines
Diff to previous 1.95 (colored)

Merge the [pgoyette-compat] branch

Revision 1.92.14.2 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:06 2018 UTC (4 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.92.14.1: +5 -1 lines
Diff to previous 1.92.14.1 (colored) to branchpoint 1.92 (colored) next main 1.93 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.92.8.1 / (download) - annotate - [select for diffs], Wed Aug 8 10:28:35 2018 UTC (4 years, 5 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.92: +3 -1 lines
Diff to previous 1.92 (colored) next main 1.93 (colored)

Pull up following revision(s) (requested by riastradh in ticket #963):

	sys/dev/usb/if_cue.c: revision 1.80
	sys/dev/usb/umcs.c: revision 1.11
	sys/dev/usb/umcs.c: revision 1.12
	sys/dev/usb/if_ural.c: revision 1.56
	sys/dev/usb/if_run.c: revision 1.28
	sys/dev/usb/if_ural.c: revision 1.57
	sys/dev/usb/if_run.c: revision 1.29
	sys/dev/usb/uatp.c: revision 1.16
	sys/dev/usb/uatp.c: revision 1.17
	sys/dev/usb/if_axe.c: revision 1.91
	sys/dev/usb/if_axe.c: revision 1.92
	sys/dev/usb/if_zyd.c: revision 1.49
	sys/dev/usb/if_axen.c: revision 1.15
	sys/dev/usb/if_url.c: revision 1.60
	sys/dev/usb/if_udav.c: revision 1.54
	sys/dev/usb/if_axen.c: revision 1.16
	sys/dev/usb/if_udav.c: revision 1.55
	sys/dev/usb/if_athn_usb.c: revision 1.28
	sys/dev/usb/if_athn_usb.c: revision 1.29
	sys/dev/usb/if_urtw.c: revision 1.16
	sys/dev/usb/if_urtw.c: revision 1.17
	sys/dev/usb/if_cue.c: revision 1.79
	sys/dev/usb/if_rum.c: revision 1.62
	sys/dev/usb/if_urtwn.c: revision 1.61
	sys/dev/usb/if_rum.c: revision 1.63
	sys/dev/usb/if_urtwn.c: revision 1.63
	sys/dev/usb/usb.c: revision 1.170
	sys/dev/usb/usb.c: revision 1.171
	sys/dev/usb/if_smsc.c: revision 1.35
	sys/dev/usb/if_smsc.c: revision 1.36
	sys/dev/usb/if_zyd.c: revision 1.50
	sys/dev/usb/if_aue.c: revision 1.144
	sys/dev/usb/if_aue.c: revision 1.145
	sys/dev/usb/usb_subr.c: revision 1.225
	sys/dev/usb/usb_subr.c: revision 1.226
	sys/dev/usb/if_upgt.c: revision 1.21
	sys/dev/usb/usbdi.h: revision 1.93
	sys/dev/usb/if_upgt.c: revision 1.22
	sys/dev/usb/if_url.c: revision 1.59
	sys/dev/usb/usbdi.h: revision 1.95
	sys/dev/usb/if_otus.c: revision 1.34
	sys/dev/usb/if_atu.c: revision 1.62
	sys/dev/usb/if_otus.c: revision 1.35
	sys/dev/usb/if_atu.c: revision 1.63

New function usb_rem_task_wait(dev, task, queue).

If task is scheduled to run, removes it from the queue.  If it may
have already begun to run, waits for it to complete.  Caller must
guarantee it will not switch to another queue.  If caller guarantees
it will not be scheduled again, then usb_rem_task_wait guarantees it
is not running on return.

This will enable us to fix a litany of bugs in detach where we
currently fail to wait for a pending task.

Use usb_rem_task_wait in various drivers.

Revision 1.90.2.2 / (download) - annotate - [select for diffs], Wed Aug 8 10:17:11 2018 UTC (4 years, 5 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE
Changes since 1.90.2.1: +3 -1 lines
Diff to previous 1.90.2.1 (colored) to branchpoint 1.90 (colored)

Pull up following revision(s) (requested by riastradh in ticket #1626):

	sys/dev/usb/if_cue.c: revision 1.80
	sys/dev/usb/umcs.c: revision 1.11
	sys/dev/usb/umcs.c: revision 1.12
	sys/dev/usb/if_ural.c: revision 1.56
	sys/dev/usb/if_run.c: revision 1.28
	sys/dev/usb/if_ural.c: revision 1.57
	sys/dev/usb/if_run.c: revision 1.29
	sys/dev/usb/uatp.c: revision 1.16
	sys/dev/usb/uatp.c: revision 1.17
	sys/dev/usb/if_axe.c: revision 1.91
	sys/dev/usb/if_axe.c: revision 1.92
	sys/dev/usb/if_zyd.c: revision 1.49
	sys/dev/usb/if_axen.c: revision 1.15
	sys/dev/usb/if_url.c: revision 1.60
	sys/dev/usb/if_udav.c: revision 1.54
	sys/dev/usb/if_axen.c: revision 1.16
	sys/dev/usb/if_udav.c: revision 1.55
	sys/dev/usb/if_athn_usb.c: revision 1.28
	sys/dev/usb/if_athn_usb.c: revision 1.29
	sys/dev/usb/if_urtw.c: revision 1.16
	sys/dev/usb/if_urtw.c: revision 1.17
	sys/dev/usb/if_cue.c: revision 1.79
	sys/dev/usb/if_rum.c: revision 1.62
	sys/dev/usb/if_urtwn.c: revision 1.61
	sys/dev/usb/if_rum.c: revision 1.63
	sys/dev/usb/if_urtwn.c: revision 1.63
	sys/dev/usb/usb.c: revision 1.170
	sys/dev/usb/usb.c: revision 1.171
	sys/dev/usb/if_smsc.c: revision 1.35
	sys/dev/usb/if_smsc.c: revision 1.36
	sys/dev/usb/if_zyd.c: revision 1.50
	sys/dev/usb/if_aue.c: revision 1.144
	sys/dev/usb/if_aue.c: revision 1.145
	sys/dev/usb/usb_subr.c: revision 1.225
	sys/dev/usb/usb_subr.c: revision 1.226
	sys/dev/usb/if_upgt.c: revision 1.21
	sys/dev/usb/usbdi.h: revision 1.93
	sys/dev/usb/if_upgt.c: revision 1.22
	sys/dev/usb/if_url.c: revision 1.59
	sys/dev/usb/usbdi.h: revision 1.95
	sys/dev/usb/if_otus.c: revision 1.34
	sys/dev/usb/if_atu.c: revision 1.62
	sys/dev/usb/if_otus.c: revision 1.35
	sys/dev/usb/if_atu.c: revision 1.63

New function usb_rem_task_wait(dev, task, queue).

If task is scheduled to run, removes it from the queue.  If it may
have already begun to run, waits for it to complete.  Caller must
guarantee it will not switch to another queue.  If caller guarantees
it will not be scheduled again, then usb_rem_task_wait guarantees it
is not running on return.

This will enable us to fix a litany of bugs in detach where we
currently fail to wait for a pending task.

Use usb_rem_task_wait in various drivers.

Revision 1.95 / (download) - annotate - [select for diffs], Thu Aug 2 06:09:04 2018 UTC (4 years, 5 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, jdolecek-ncqfixes-base, jdolecek-ncqfixes
Changes since 1.94: +3 -2 lines
Diff to previous 1.94 (colored)

Fix usb_rem_task_wait API.

- Return whether it removed task from queue or not.
  . True if it was on the queue and we intercepted it before it ran.
  . False if we could not intercept it: either it wasn't queued,
    or it already ran.  (Up to caller to distinguish these cases.)
- Pass an optional interlock like callout_halt.

While here, simplify.

ok mrg@

Revision 1.94 / (download) - annotate - [select for diffs], Tue Jul 31 16:44:30 2018 UTC (4 years, 6 months ago) by khorben
Branch: MAIN
Changes since 1.93: +3 -1 lines
Diff to previous 1.93 (colored)

Add a port of the umb(4) driver from OpenBSD

The umb(4) driver provides support for USB MBIM (Mobile Broadband
Interface Model) devices.

MBIM devices establish connections via cellular networks such as GPRS,
UMTS, and LTE. They appear as a regular point-to-point network interface, transporting raw IP frames.

Required configuration parameters like PIN and APN have to be set with
umbctl(8), a new tool specific to this driver. The IP address is configured
automatically; the default route and DNS server information have to be set
separately.

The driver is not fully functional yet, it is therefore still marked as
experimental and disabled by default. Any help welcome to complete it!

Tested on NetBSD/amd64, with a Sierra Wireless EM7345 LTE modem on a Lenovo
ThinkPad T440s. No functional change expected otherwise.

Revision 1.93 / (download) - annotate - [select for diffs], Sun Jul 29 01:59:46 2018 UTC (4 years, 6 months ago) by riastradh
Branch: MAIN
Changes since 1.92: +2 -1 lines
Diff to previous 1.92 (colored)

New function usb_rem_task_wait(dev, task, queue).

If task is scheduled to run, removes it from the queue.  If it may
have already begun to run, waits for it to complete.  Caller must
guarantee it will not switch to another queue.  If caller guarantees
it will not be scheduled again, then usb_rem_task_wait guarantees it
is not running on return.

This will enable us to fix a litany of bugs in detach where we
currently fail to wait for a pending task.

Revision 1.92.14.1 / (download) - annotate - [select for diffs], Thu Mar 29 11:20:03 2018 UTC (4 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.92: +7 -5 lines
Diff to previous 1.92 (colored)

Split out the usb compat_30 code and add it to the module

Revision 1.84.2.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:37:36 2017 UTC (5 years, 1 month ago) by jdolecek
Branch: tls-maxphys
Changes since 1.84.2.2: +124 -112 lines
Diff to previous 1.84.2.2 (colored) to branchpoint 1.84 (colored) next main 1.85 (colored)

update from HEAD

Revision 1.90.2.1 / (download) - annotate - [select for diffs], Wed Apr 5 19:54:21 2017 UTC (5 years, 9 months ago) by snj
Branch: netbsd-7
Changes since 1.90: +125 -113 lines
Diff to previous 1.90 (colored)

Pull up following revision(s) (requested by skrll in ticket #1395):
	share/man/man4/axe.4: netbsd-7-nhusb
	share/man/man4/axen.4: netbsd-7-nhusb
	share/man/man4/cdce.4: netbsd-7-nhusb
	share/man/man4/uaudio.4: netbsd-7-nhusb
	share/man/man4/ucom.4: netbsd-7-nhusb
	share/man/man4/uep.4: netbsd-7-nhusb
	share/man/man4/urtw.4: netbsd-7-nhusb
	share/man/man4/usb.4: netbsd-7-nhusb
	share/man/man4/uyap.4: netbsd-7-nhusb
	share/man/man4/xhci.4: netbsd-7-nhusb
	share/man/man9/usbdi.9: netbsd-7-nhusb
	sys/arch/amd64/conf/ALL: netbsd-7-nhusb
	sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb
	sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb
	sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb
	sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb
	sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb
	sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb
	sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb
	sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb
	sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb
	sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb
	sys/arch/arm/imx/files.imx23: netbsd-7-nhusb
	sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb
	sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb
	sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb
	sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb
	sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb
	sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb
	sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb
	sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb
	sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb
	sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb
	sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb
	sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb
	sys/arch/i386/conf/ALL: netbsd-7-nhusb
	sys/arch/i386/conf/GENERIC: netbsd-7-nhusb
	sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb
	sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb
	sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb
	sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb
	sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb
	sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb
	sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb
	sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb
	sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb
	sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb
	sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb
	sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb
	sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb
	sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb
	sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb
	sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb
	sys/conf/files: netbsd-7-nhusb
	sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb
	sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb
	sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb
	sys/dev/ic/sl811hs.c: netbsd-7-nhusb
	sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb
	sys/dev/isa/slhci_isa.c: netbsd-7-nhusb
	sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb
	sys/dev/pci/ehci_pci.c: netbsd-7-nhusb
	sys/dev/pci/ohci_pci.c: netbsd-7-nhusb
	sys/dev/pci/uhci_pci.c: netbsd-7-nhusb
	sys/dev/pci/xhci_pci.c: netbsd-7-nhusb
	sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb
	sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb
	sys/dev/usb/TODO: netbsd-7-nhusb
	sys/dev/usb/TODO.usbmp: netbsd-7-nhusb
	sys/dev/usb/aubtfwl.c: netbsd-7-nhusb
	sys/dev/usb/auvitek.c: netbsd-7-nhusb
	sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb
	sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb
	sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb
	sys/dev/usb/auvitek_video.c: netbsd-7-nhusb
	sys/dev/usb/auvitekvar.h: netbsd-7-nhusb
	sys/dev/usb/ehci.c: netbsd-7-nhusb
	sys/dev/usb/ehcireg.h: netbsd-7-nhusb
	sys/dev/usb/ehcivar.h: netbsd-7-nhusb
	sys/dev/usb/emdtv.c: netbsd-7-nhusb
	sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb
	sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb
	sys/dev/usb/emdtvvar.h: netbsd-7-nhusb
	sys/dev/usb/ezload.c: netbsd-7-nhusb
	sys/dev/usb/ezload.h: netbsd-7-nhusb
	sys/dev/usb/files.usb: netbsd-7-nhusb
	sys/dev/usb/hid.c: netbsd-7-nhusb
	sys/dev/usb/hid.h: netbsd-7-nhusb
	sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb
	sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb
	sys/dev/usb/if_atu.c: netbsd-7-nhusb
	sys/dev/usb/if_atureg.h: netbsd-7-nhusb
	sys/dev/usb/if_aue.c: netbsd-7-nhusb
	sys/dev/usb/if_auereg.h: netbsd-7-nhusb
	sys/dev/usb/if_axe.c: netbsd-7-nhusb
	sys/dev/usb/if_axen.c: netbsd-7-nhusb
	sys/dev/usb/if_axenreg.h: netbsd-7-nhusb
	sys/dev/usb/if_axereg.h: netbsd-7-nhusb
	sys/dev/usb/if_cdce.c: netbsd-7-nhusb
	sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb
	sys/dev/usb/if_cue.c: netbsd-7-nhusb
	sys/dev/usb/if_cuereg.h: netbsd-7-nhusb
	sys/dev/usb/if_kue.c: netbsd-7-nhusb
	sys/dev/usb/if_kuereg.h: netbsd-7-nhusb
	sys/dev/usb/if_otus.c: netbsd-7-nhusb
	sys/dev/usb/if_otusvar.h: netbsd-7-nhusb
	sys/dev/usb/if_rum.c: netbsd-7-nhusb
	sys/dev/usb/if_rumreg.h: netbsd-7-nhusb
	sys/dev/usb/if_rumvar.h: netbsd-7-nhusb
	sys/dev/usb/if_run.c: netbsd-7-nhusb
	sys/dev/usb/if_runvar.h: netbsd-7-nhusb
	sys/dev/usb/if_smsc.c: netbsd-7-nhusb
	sys/dev/usb/if_smscreg.h: netbsd-7-nhusb
	sys/dev/usb/if_smscvar.h: netbsd-7-nhusb
	sys/dev/usb/if_udav.c: netbsd-7-nhusb
	sys/dev/usb/if_udavreg.h: netbsd-7-nhusb
	sys/dev/usb/if_upgt.c: netbsd-7-nhusb
	sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb
	sys/dev/usb/if_upl.c: netbsd-7-nhusb
	sys/dev/usb/if_ural.c: netbsd-7-nhusb
	sys/dev/usb/if_uralreg.h: netbsd-7-nhusb
	sys/dev/usb/if_uralvar.h: netbsd-7-nhusb
	sys/dev/usb/if_url.c: netbsd-7-nhusb
	sys/dev/usb/if_urlreg.h: netbsd-7-nhusb
	sys/dev/usb/if_urndis.c: netbsd-7-nhusb
	sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb
	sys/dev/usb/if_urtw.c: netbsd-7-nhusb
	sys/dev/usb/if_urtwn.c: netbsd-7-nhusb
	sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb
	sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb
	sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb
	sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb
	sys/dev/usb/if_zyd.c: netbsd-7-nhusb
	sys/dev/usb/if_zydreg.h: netbsd-7-nhusb
	sys/dev/usb/irmce.c: netbsd-7-nhusb
	sys/dev/usb/moscom.c: netbsd-7-nhusb
	sys/dev/usb/motg.c: netbsd-7-nhusb
	sys/dev/usb/motgvar.h: netbsd-7-nhusb
	sys/dev/usb/ohci.c: netbsd-7-nhusb
	sys/dev/usb/ohcireg.h: netbsd-7-nhusb
	sys/dev/usb/ohcivar.h: netbsd-7-nhusb
	sys/dev/usb/pseye.c: netbsd-7-nhusb
	sys/dev/usb/slurm.c: netbsd-7-nhusb
	sys/dev/usb/stuirda.c: netbsd-7-nhusb
	sys/dev/usb/u3g.c: netbsd-7-nhusb
	sys/dev/usb/uark.c: netbsd-7-nhusb
	sys/dev/usb/uatp.c: netbsd-7-nhusb
	sys/dev/usb/uaudio.c: netbsd-7-nhusb
	sys/dev/usb/uberry.c: netbsd-7-nhusb
	sys/dev/usb/ubsa.c: netbsd-7-nhusb
	sys/dev/usb/ubsa_common.c: netbsd-7-nhusb
	sys/dev/usb/ubsavar.h: netbsd-7-nhusb
	sys/dev/usb/ubt.c: netbsd-7-nhusb
	sys/dev/usb/uchcom.c: netbsd-7-nhusb
	sys/dev/usb/ucom.c: netbsd-7-nhusb
	sys/dev/usb/ucomvar.h: netbsd-7-nhusb
	sys/dev/usb/ucycom.c: netbsd-7-nhusb
	sys/dev/usb/udl.c: netbsd-7-nhusb
	sys/dev/usb/udl.h: netbsd-7-nhusb
	sys/dev/usb/udsbr.c: netbsd-7-nhusb
	sys/dev/usb/udsir.c: netbsd-7-nhusb
	sys/dev/usb/uep.c: netbsd-7-nhusb
	sys/dev/usb/uftdi.c: netbsd-7-nhusb
	sys/dev/usb/uftdireg.h: netbsd-7-nhusb
	sys/dev/usb/ugen.c: netbsd-7-nhusb
	sys/dev/usb/ugensa.c: netbsd-7-nhusb
	sys/dev/usb/uhci.c: netbsd-7-nhusb
	sys/dev/usb/uhcireg.h: netbsd-7-nhusb
	sys/dev/usb/uhcivar.h: netbsd-7-nhusb
	sys/dev/usb/uhid.c: netbsd-7-nhusb
	sys/dev/usb/uhidev.c: netbsd-7-nhusb
	sys/dev/usb/uhidev.h: netbsd-7-nhusb
	sys/dev/usb/uhmodem.c: netbsd-7-nhusb
	sys/dev/usb/uhso.c: netbsd-7-nhusb
	sys/dev/usb/uhub.c: netbsd-7-nhusb
	sys/dev/usb/uipad.c: netbsd-7-nhusb
	sys/dev/usb/uipaq.c: netbsd-7-nhusb
	sys/dev/usb/uirda.c: netbsd-7-nhusb
	sys/dev/usb/uirdavar.h: netbsd-7-nhusb
	sys/dev/usb/ukbd.c: netbsd-7-nhusb
	sys/dev/usb/ukbdmap.c: netbsd-7-nhusb
	sys/dev/usb/ukyopon.c: netbsd-7-nhusb
	sys/dev/usb/ukyopon.h: netbsd-7-nhusb
	sys/dev/usb/ulpt.c: netbsd-7-nhusb
	sys/dev/usb/umass.c: netbsd-7-nhusb
	sys/dev/usb/umass_isdata.c: netbsd-7-nhusb
	sys/dev/usb/umass_isdata.h: netbsd-7-nhusb
	sys/dev/usb/umass_quirks.c: netbsd-7-nhusb
	sys/dev/usb/umass_quirks.h: netbsd-7-nhusb
	sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb
	sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb
	sys/dev/usb/umassvar.h: netbsd-7-nhusb
	sys/dev/usb/umcs.c: netbsd-7-nhusb
	sys/dev/usb/umct.c: netbsd-7-nhusb
	sys/dev/usb/umidi.c: netbsd-7-nhusb
	sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb
	sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb
	sys/dev/usb/umodem.c: netbsd-7-nhusb
	sys/dev/usb/umodem_common.c: netbsd-7-nhusb
	sys/dev/usb/umodemvar.h: netbsd-7-nhusb
	sys/dev/usb/ums.c: netbsd-7-nhusb
	sys/dev/usb/uplcom.c: netbsd-7-nhusb
	sys/dev/usb/urio.c: netbsd-7-nhusb
	sys/dev/usb/urio.h: netbsd-7-nhusb
	sys/dev/usb/usb.c: netbsd-7-nhusb
	sys/dev/usb/usb.h: netbsd-7-nhusb
	sys/dev/usb/usb_mem.c: netbsd-7-nhusb
	sys/dev/usb/usb_mem.h: netbsd-7-nhusb
	sys/dev/usb/usb_quirks.c: netbsd-7-nhusb
	sys/dev/usb/usb_quirks.h: netbsd-7-nhusb
	sys/dev/usb/usb_subr.c: netbsd-7-nhusb
	sys/dev/usb/usbdevices.config: netbsd-7-nhusb
	sys/dev/usb/usbdevs: netbsd-7-nhusb
	sys/dev/usb/usbdevs.h: netbsd-7-nhusb
	sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb
	sys/dev/usb/usbdi.c: netbsd-7-nhusb
	sys/dev/usb/usbdi.h: netbsd-7-nhusb
	sys/dev/usb/usbdi_util.c: netbsd-7-nhusb
	sys/dev/usb/usbdi_util.h: netbsd-7-nhusb
	sys/dev/usb/usbdivar.h: netbsd-7-nhusb
	sys/dev/usb/usbhid.h: netbsd-7-nhusb
	sys/dev/usb/usbhist.h: netbsd-7-nhusb
	sys/dev/usb/usbroothub.c: netbsd-7-nhusb
	sys/dev/usb/usbroothub.h: netbsd-7-nhusb
	sys/dev/usb/usbroothub_subr.c: delete
	sys/dev/usb/usbroothub_subr.h: delete
	sys/dev/usb/uscanner.c: netbsd-7-nhusb
	sys/dev/usb/uslsa.c: netbsd-7-nhusb
	sys/dev/usb/usscanner.c: netbsd-7-nhusb
	sys/dev/usb/ustir.c: netbsd-7-nhusb
	sys/dev/usb/uthum.c: netbsd-7-nhusb
	sys/dev/usb/utoppy.c: netbsd-7-nhusb
	sys/dev/usb/uts.c: netbsd-7-nhusb
	sys/dev/usb/uvideo.c: netbsd-7-nhusb
	sys/dev/usb/uvisor.c: netbsd-7-nhusb
	sys/dev/usb/uvscom.c: netbsd-7-nhusb
	sys/dev/usb/uyap.c: netbsd-7-nhusb
	sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb
	sys/dev/usb/uyurex.c: netbsd-7-nhusb
	sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb
	sys/dev/usb/xhci.c: netbsd-7-nhusb
	sys/dev/usb/xhcireg.h: netbsd-7-nhusb
	sys/dev/usb/xhcivar.h: netbsd-7-nhusb
	sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb
	sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb
	sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb
	sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb
	sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb
	sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb
	sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb
	sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb
	sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb
	sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb
	sys/external/bsd/drm2/include/linux/err.h: delete
	sys/external/bsd/drm2/include/linux/workqueue.h: delete
	sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb
	sys/external/bsd/drm2/linux/linux_work.c: delete
	sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb
	sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb
	sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb
	sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb
	sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb
	sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb
	sys/modules/i915drmkms/Makefile: netbsd-7-nhusb
	sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb
	sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb
	sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb
	sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete
	sys/rump/dev/lib/libusb/opt/opt_usb.h: delete
	sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete
	sys/sys/mbuf.h: netbsd-7-nhusb
	usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb
	usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb
Merge netbsd-7-nhusb:
- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
     - kern/48308
     - uhub status notification improvements
     - umass(4) probe fix (applied to HEAD already)
     - ohci(4) short transfer fix
- Change the SOFTINT level from NET to SERIAL for the USB softint handler.
  This gives the callback a chance of running when another softint handler
  at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of
  the network stack.
     - kern/49065 - ifconfig tun0 ... sequence locks up system / lockup:
       softnet_lock held across usb xfr
     - kern/50491 - unkillable wait in usbd_transfer while using usmsc0
       on raspberry pi 2
     - kern/51395 - USB Ethernet makes xhci hang
- Various improvements to slhci(4)
- Various improvements to dwc2(4)

Revision 1.90.8.1 / (download) - annotate - [select for diffs], Tue Sep 6 20:33:09 2016 UTC (6 years, 4 months ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.90: +125 -113 lines
Diff to previous 1.90 (colored) next main 1.91 (colored)

First pass at netbsd-7 updated with USB code from HEAD

Revision 1.92 / (download) - annotate - [select for diffs], Sun Aug 14 14:42:22 2016 UTC (6 years, 5 months ago) by skrll
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-compat-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, netbsd-8-base, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: phil-wifi, pgoyette-compat, netbsd-8
Changes since 1.91: +6 -5 lines
Diff to previous 1.91 (colored)

Change the SOFTINT level from NET to SERIAL for the USB softint handler.
This gives the callback a chance of running when another softint handler
at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of
the network stack.

Should fix/help
kern/49065 - ifconfig tun0 ... sequence locks up system / lockup: softnet_lock held across usb xfr
kern/50491 - unkillable wait in usbd_transfer while using usmsc0 on raspberry pi 2
kern/51395 - USB Ethernet makes xhci hang

and probably others

Revision 1.90.4.13 / (download) - annotate - [select for diffs], Fri Jun 10 08:15:22 2016 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.12: +6 -5 lines
Diff to previous 1.90.4.12 (colored) to branchpoint 1.90 (colored) next main 1.91 (colored)

Use SOFTINT_SERIAL for the USB stack (the 'S' stands for serial).

This is a step in the right direction towards fixing

kern/50491: unkillable wait in usbd_transfer while using usmsc0 on
raspberry pi 2

kern/49065: ifconfig tun0 ... sequence locks up system

but further analysis of locking of the usb drivers is required.

Revision 1.91 / (download) - annotate - [select for diffs], Sat Apr 23 10:15:32 2016 UTC (6 years, 9 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, nick-nhusb-base-20160907, nick-nhusb-base-20160529
Changes since 1.90: +121 -110 lines
Diff to previous 1.90 (colored)

Merge nick-nhusb

- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
    - kern/48308
    - uhub status notification improvements
    - umass(4) probe fix (applied to HEAD already)
    - ohci(4) short transfer fix

Revision 1.90.4.12 / (download) - annotate - [select for diffs], Fri Mar 25 08:34:16 2016 UTC (6 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.11: +30 -19 lines
Diff to previous 1.90.4.11 (colored) to branchpoint 1.90 (colored)

Re-organise / whitespace

Revision 1.90.4.11 / (download) - annotate - [select for diffs], Sun Feb 7 15:50:44 2016 UTC (6 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.10: +2 -4 lines
Diff to previous 1.90.4.10 (colored) to branchpoint 1.90 (colored)

Simplify usbd_do_request/usbd_setup_default_xfer.

G/C usbd_do_request_flags_pipe as it's not required

Revision 1.90.4.10 / (download) - annotate - [select for diffs], Sun Feb 7 15:48:44 2016 UTC (6 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.9: +1 -3 lines
Diff to previous 1.90.4.9 (colored) to branchpoint 1.90 (colored)

G/C usbd_do_request_async declaration - it doesn't exist.

Revision 1.90.4.9 / (download) - annotate - [select for diffs], Wed Dec 23 09:52:41 2015 UTC (7 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.8: +4 -4 lines
Diff to previous 1.90.4.8 (colored) to branchpoint 1.90 (colored)

Group flags together.  No functional change.

Revision 1.90.4.8 / (download) - annotate - [select for diffs], Tue Oct 6 21:32:15 2015 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.7: +18 -16 lines
Diff to previous 1.90.4.7 (colored) to branchpoint 1.90 (colored)

Move from usbd_{alloc,free}_xfer and usbd_{alloc,free}_buffer to
usbd_{create,destroy}_xfer.  The API change will allow future changes
to HCDs to simplify the transfer resource allocation and activation.

Several devices tested including ucom, umass, smsc, uvideo, and uaudio.

Revision 1.90.4.7 / (download) - annotate - [select for diffs], Tue Sep 29 11:38:29 2015 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.6: +2 -2 lines
Diff to previous 1.90.4.6 (colored) to branchpoint 1.90 (colored)

sizeof KNF

Revision 1.90.4.6 / (download) - annotate - [select for diffs], Sat Sep 19 07:45:38 2015 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.5: +2 -1 lines
Diff to previous 1.90.4.5 (colored) to branchpoint 1.90 (colored)

Provide a SOFTINT_USB define

Revision 1.90.4.5 / (download) - annotate - [select for diffs], Sat Mar 21 11:33:37 2015 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.4: +24 -20 lines
Diff to previous 1.90.4.4 (colored) to branchpoint 1.90 (colored)

Add prefixes to attach_arg structure member names. No functional change.

Revision 1.90.4.4 / (download) - annotate - [select for diffs], Sat Mar 21 08:35:31 2015 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.3: +2 -3 lines
Diff to previous 1.90.4.3 (colored) to branchpoint 1.90 (colored)

Un-wrap two lines.

Revision 1.90.4.3 / (download) - annotate - [select for diffs], Thu Mar 19 17:26:43 2015 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.2: +71 -72 lines
Diff to previous 1.90.4.2 (colored) to branchpoint 1.90 (colored)

Do the same as OpenBSD and get rid of the *_handle typedefs and use
plain structures insteads

Revision 1.90.4.2 / (download) - annotate - [select for diffs], Tue Dec 2 09:00:34 2014 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.90.4.1: +1 -2 lines
Diff to previous 1.90.4.1 (colored) to branchpoint 1.90 (colored)

Step #1 of memory allocation re-organisation.

Centralised the buffer allocation routine which now supports DMA
and non-DMA capable host controllers.  Remove the
ubm_{alloc,free}m methods from usbd_bus_methods.

The buffer allocation is only allowed in thread context and,
therefore, negates the usefulness of the reserve dma code which
is removed in this change.

USBD_NO_COPY is also no longer required as usbd_transfer and
usbd_transfer_complete now track buffer usage and handle any
copying.

Revision 1.90.4.1 / (download) - annotate - [select for diffs], Sun Nov 30 12:18:58 2014 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.90: +24 -24 lines
Diff to previous 1.90 (colored)

Use C99 types. u_int{8,16,32,64}_t to uint{8,16,32,64}_t.

No functional change.

Revision 1.84.2.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:51 2014 UTC (8 years, 5 months ago) by tls
Branch: tls-maxphys
Changes since 1.84.2.1: +13 -6 lines
Diff to previous 1.84.2.1 (colored) to branchpoint 1.84 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.89.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:54:59 2014 UTC (8 years, 5 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.89: +3 -3 lines
Diff to previous 1.89 (colored) next main 1.90 (colored)

Rebase.

Revision 1.90 / (download) - annotate - [select for diffs], Thu Jul 17 18:42:37 2014 UTC (8 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-base, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Branch point for: nick-nhusb, netbsd-7-nhusb, netbsd-7
Changes since 1.89: +3 -3 lines
Diff to previous 1.89 (colored)

Fix usb task queue locking.

Revision 1.79.12.5 / (download) - annotate - [select for diffs], Thu May 22 11:40:37 2014 UTC (8 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.79.12.4: +11 -4 lines
Diff to previous 1.79.12.4 (colored) to branchpoint 1.79 (colored) next main 1.80 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.87.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:45:48 2014 UTC (8 years, 8 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.87: +11 -4 lines
Diff to previous 1.87 (colored) next main 1.88 (colored)

sync with head

Revision 1.76.10.1.4.1 / (download) - annotate - [select for diffs], Tue Nov 5 18:36:31 2013 UTC (9 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.76.10.1: +2 -1 lines
Diff to previous 1.76.10.1 (colored) next main 1.77 (colored)

Pull down xhci support from HEAD

Revision 1.89 / (download) - annotate - [select for diffs], Thu Sep 26 07:25:31 2013 UTC (9 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Changes since 1.88: +2 -2 lines
Diff to previous 1.88 (colored)

Remove usbd_do_request_async. It's callback was calling usbd_free_xfer
from softint context.

Adjust callers appropriately

	- usbd_clear_endpoint_stall_async is already triggered via a
	  usb_task, so simply call usbd_do_request.

	- uhidev_set_report_async had one caller in ukbd_set_leds.
	  Convert this usage to use usb_task as well.

Discussed with mrg@

Revision 1.88 / (download) - annotate - [select for diffs], Sat Sep 7 16:47:23 2013 UTC (9 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.87: +10 -3 lines
Diff to previous 1.87 (colored)

Some lock comments.

Revision 1.84.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:29:42 2013 UTC (9 years, 11 months ago) by tls
Branch: tls-maxphys
Changes since 1.84: +5 -2 lines
Diff to previous 1.84 (colored)

resync with head

Revision 1.79.12.4 / (download) - annotate - [select for diffs], Wed Jan 23 00:06:16 2013 UTC (10 years ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.79.12.3: +5 -2 lines
Diff to previous 1.79.12.3 (colored) to branchpoint 1.79 (colored)

sync with head

Revision 1.87 / (download) - annotate - [select for diffs], Tue Jan 22 13:27:59 2013 UTC (10 years ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-pagecache-base8, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, agc-symver-base, agc-symver
Branch point for: rmind-smpnet
Changes since 1.86: +3 -3 lines
Diff to previous 1.86 (colored)

usbd_open_pipe and usbd_open_pipe_intr take different flags! Make sure
the value of USBD_MPSAFE doesn't conflict with flags for either of them, as
it can be passed to both.

Revision 1.86 / (download) - annotate - [select for diffs], Tue Jan 22 12:48:07 2013 UTC (10 years ago) by jmcneill
Branch: MAIN
Changes since 1.85: +2 -2 lines
Diff to previous 1.85 (colored)

make USBD_TASKQ_MPSAFE the same value as USBD_MPSAFE, just in case

Revision 1.85 / (download) - annotate - [select for diffs], Tue Jan 22 12:40:43 2013 UTC (10 years ago) by jmcneill
Branch: MAIN
Changes since 1.84: +5 -2 lines
Diff to previous 1.84 (colored)

- Add a USBD_MPSAFE flag to usbd_open_pipe. If not set, acquire KERNEL_LOCK
  before invoking xfer callbacks on this pipe.
- Add an extra flags parameter to usb_init_task. If USBD_TASKQ_MPSAFE is not
  present, acquire KERNEL_LOCK before invoking the task callback.

Revision 1.79.12.3 / (download) - annotate - [select for diffs], Tue Oct 30 17:22:11 2012 UTC (10 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.79.12.2: +9 -3 lines
Diff to previous 1.79.12.2 (colored) to branchpoint 1.79 (colored)

sync with head

Revision 1.84 / (download) - annotate - [select for diffs], Sun Jul 15 21:13:31 2012 UTC (10 years, 6 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.83: +6 -3 lines
Diff to previous 1.83 (colored)

commit my workaround for PR 46648 for now, as the more involved
fix is not ready yet:

move the clear endpoint stall async call into the task thread,
to avoid trying to call kmem_alloc() from a softint thread.

XXX ideally moving callbacks into the task thread (or perhaps
a different high priority task thread) would be better than this
workaround, once that method is working.

Revision 1.83 / (download) - annotate - [select for diffs], Sun Jun 10 06:15:55 2012 UTC (10 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.82: +4 -1 lines
Diff to previous 1.82 (colored)

merge the jmcneill-usbmp branch.  many thanks to jared for the
initial work, and every one else who has tested things for me.
this is largely my fault at this point :-)

the main changes are something like:

        - usbd_bus_methods{} gains a get_lock() to enable the
          host controller to provide a lock for the USB code.
          if the lock isn't provided, old-style protection is
          (partially) applied.

        - ehci/ohci/uhci have been converted to the new
          interfaces, including mutex/cv/etc conversion.

        - usbdivar.h contains a discussion about locking and
          what locks are held for which method calls.  more
          to come for usbdi(9) here.

        - audio drivers (uaudio, umidi, auvitek) have been
          properly SMPified now that USB is ready.

        - scsi drivers have been modified to take the kernel
          lock explicitly before calling into scsi code.

        - usb pipes are associated with a lock, that is the
          same as the controller lock.  (this could be split
          up further in the future.)

        - several usbfoo_locked() or usbfoo_unlocked()
          functions have been added to the usbdi(9) to
          enable functionality with or without the USB
          lock (per controller) already being held.

the TODO.usbmp file has specific details on what is left to
do, including what device-specific changes should be done now
that the whole framework is ready.

Revision 1.80.2.3 / (download) - annotate - [select for diffs], Sat Jun 2 08:07:25 2012 UTC (10 years, 7 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.80.2.2: +4 -1 lines
Diff to previous 1.80.2.2 (colored) to branchpoint 1.80 (colored) next main 1.81 (colored)

convert usbd_{intr,bulk}_transfer() in the USBMP world:
- add a new USBD_SYNCHRONOUS_SIG flag for transfers
- in usbd_transfer(), if USBD_SYNCHRONOUS_SIG is set use cv_wait_sig()
  (or tlseep(xfer, PZERO|PATCH, ...) for the unconverted controllers)
- add a usbd_sync_transfer_sig() front-end to usbd_transfer()
- greatly simplify both usbd_{intr,bulk}_transfer() to just
  usbd_sync_transfer_sig() and usbd_get_xfer_status().

this fixes lockdebug issues where usbd_{intr,bulk}_transfer() where it
taking the pipe lock, when usbd_transfer() would call functions that
expect the pipe lock not to be taken (and try to taken it.)

Revision 1.79.12.2 / (download) - annotate - [select for diffs], Wed May 23 10:08:08 2012 UTC (10 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.79.12.1: +2 -2 lines
Diff to previous 1.79.12.1 (colored) to branchpoint 1.79 (colored)

sync with head.

Revision 1.80.2.2 / (download) - annotate - [select for diffs], Sun Apr 29 23:05:02 2012 UTC (10 years, 9 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.80.2.1: +2 -2 lines
Diff to previous 1.80.2.1 (colored) to branchpoint 1.80 (colored)

sync to latest -current.

Revision 1.82 / (download) - annotate - [select for diffs], Tue Apr 24 17:16:42 2012 UTC (10 years, 9 months ago) by jakllsch
Branch: MAIN
CVS Tags: yamt-pagecache-base5, jmcneill-usbmp-base9, jmcneill-usbmp-base10
Changes since 1.81: +2 -2 lines
Diff to previous 1.81 (colored)

keep "keep in sync" comment in sync with reality

Revision 1.79.12.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:09 2012 UTC (10 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.79: +1 -9 lines
Diff to previous 1.79 (colored)

sync with head

Revision 1.80.2.1 / (download) - annotate - [select for diffs], Fri Feb 24 09:11:44 2012 UTC (10 years, 11 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.80: +1 -5 lines
Diff to previous 1.80 (colored)

sync to -current.

Revision 1.81 / (download) - annotate - [select for diffs], Fri Feb 24 06:48:28 2012 UTC (10 years, 11 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-pagecache-base4, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3
Changes since 1.80: +1 -5 lines
Diff to previous 1.80 (colored)

remove any remnants of freebsd/openbsd code.

Revision 1.80 / (download) - annotate - [select for diffs], Sun Nov 27 14:36:21 2011 UTC (11 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, mrg-ohci-jmcneill-usbmp-base, mrg-ohci-jmcneill-usbmp, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base2, jmcneill-usbmp-base
Branch point for: jmcneill-usbmp
Changes since 1.79: +1 -5 lines
Diff to previous 1.79 (colored)

G/C unnecessary IPL_HARDUSB

Revision 1.75.26.4 / (download) - annotate - [select for diffs], Wed Sep 16 13:37:58 2009 UTC (13 years, 4 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.75.26.3: +2 -2 lines
Diff to previous 1.75.26.3 (colored) to branchpoint 1.75 (colored) next main 1.76 (colored)

sync with head

Revision 1.79 / (download) - annotate - [select for diffs], Fri Sep 4 17:53:12 2009 UTC (13 years, 4 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, matt-premerge-20091211, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jruoho-x86intr-base, jruoho-x86intr, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: yamt-pagecache
Changes since 1.78: +2 -2 lines
Diff to previous 1.78 (colored)

Expand <dev/usb/usb_port.h> definitions, and lightly unifdef(1).

Revision 1.75.26.3 / (download) - annotate - [select for diffs], Wed Aug 19 18:47:22 2009 UTC (13 years, 5 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.75.26.2: +2 -1 lines
Diff to previous 1.75.26.2 (colored) to branchpoint 1.75 (colored)

sync with head.

Revision 1.78 / (download) - annotate - [select for diffs], Sun Aug 16 13:20:40 2009 UTC (13 years, 5 months ago) by martin
Branch: MAIN
CVS Tags: yamt-nfs-mp-base7
Changes since 1.77: +2 -1 lines
Diff to previous 1.77 (colored)

Use a separately defined USBD_CONFIG_TIMEOUT when requesting a device
descriptor. I have a USB ATA device that spins up it's (removable) hard
disk and only returns the real descriptor if the disk is present - this
takes too long with the default 5 seconds timeout, so we were unable to
properly attach this device.

Revision 1.75.26.2 / (download) - annotate - [select for diffs], Mon May 4 08:13:22 2009 UTC (13 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.75.26.1: +2 -1 lines
Diff to previous 1.75.26.1 (colored) to branchpoint 1.75 (colored)

sync with head.

Revision 1.76.8.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:19:09 2009 UTC (14 years ago) by skrll
Branch: nick-hppapmap
Changes since 1.76: +2 -1 lines
Diff to previous 1.76 (colored) next main 1.77 (colored)

Sync with HEAD.

Revision 1.75.22.2 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:10 2009 UTC (14 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.75.22.1: +1 -0 lines
Diff to previous 1.75.22.1 (colored) to branchpoint 1.75 (colored) next main 1.76 (colored)

Sync with HEAD.

Revision 1.76.10.1 / (download) - annotate - [select for diffs], Sat Dec 13 21:44:42 2008 UTC (14 years, 1 month ago) by bouyer
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb4-mips64-k7-u2a-k9b
Branch point for: matt-nb5-mips64
Changes since 1.76: +2 -1 lines
Diff to previous 1.76 (colored) next main 1.77 (colored)

Pull up following revision(s) (requested by jmorse in ticket #185):
	sys/dev/usb/usbdi.c: revision 1.125
	sys/dev/usb/umass.c: revision 1.130
	sys/dev/usb/usbdi.h: revision 1.77
PR#39651
Fix two problems in umass:
 * usb xfers being freed before being removed from pipe, leading to null
deref
 * config_activate requests not supported, which leads to
config_deactivate requests not being passed through. Spotted by jmcneill@=
Added mechanism to usbdi allowing the default pipe to be aborted

Revision 1.76.6.1 / (download) - annotate - [select for diffs], Sat Dec 13 01:14:53 2008 UTC (14 years, 1 month ago) by haad
Branch: haad-dm
Changes since 1.76: +2 -1 lines
Diff to previous 1.76 (colored) next main 1.77 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.77 / (download) - annotate - [select for diffs], Fri Dec 12 05:35:11 2008 UTC (14 years, 1 month ago) by jmorse
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, mjf-devfs2-base, jymxensuspend-base, jym-xensuspend-base, jym-xensuspend, haad-nbase2, haad-dm-base2, haad-dm-base
Changes since 1.76: +2 -1 lines
Diff to previous 1.76 (colored)

PR#39651
Fix two problems in umass:
 * usb xfers being freed before being removed from pipe, leading to null deref
 * config_activate requests not supported, which leads to config_deactivate requests not being passed through. Spotted by jmcneill@

Added mechanism to usbdi allowing the default pipe to be aborted

Revision 1.75.22.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:23:56 2008 UTC (14 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.75: +1 -8 lines
Diff to previous 1.75 (colored)

Sync with HEAD.

Revision 1.75.24.1 / (download) - annotate - [select for diffs], Sun May 18 12:34:52 2008 UTC (14 years, 8 months ago) by yamt
Branch: yamt-pf42
Changes since 1.75: +1 -8 lines
Diff to previous 1.75 (colored) next main 1.76 (colored)

sync with head.

Revision 1.75.26.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:12 2008 UTC (14 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.75: +1 -8 lines
Diff to previous 1.75 (colored)

sync with head.

Revision 1.76 / (download) - annotate - [select for diffs], Mon Apr 28 20:24:01 2008 UTC (14 years, 9 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, matt-mips64-base2, hpcarm-cleanup-nbase, haad-dm-base1, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5, haad-dm
Changes since 1.75: +1 -8 lines
Diff to previous 1.75 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.67.2.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:39:25 2007 UTC (15 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.67.2.2: +25 -35 lines
Diff to previous 1.67.2.2 (colored) to branchpoint 1.67 (colored) next main 1.68 (colored)

sync with head.

Revision 1.72.6.2 / (download) - annotate - [select for diffs], Mon Aug 20 18:38:01 2007 UTC (15 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.72.6.1: +5 -1 lines
Diff to previous 1.72.6.1 (colored) to branchpoint 1.72 (colored) next main 1.73 (colored)

Sync with HEAD.

Revision 1.74.10.1 / (download) - annotate - [select for diffs], Thu Aug 16 11:03:25 2007 UTC (15 years, 5 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.74: +5 -1 lines
Diff to previous 1.74 (colored) next main 1.75 (colored)

Sync with HEAD.

Revision 1.74.6.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:48:49 2007 UTC (15 years, 5 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.74: +5 -1 lines
Diff to previous 1.74 (colored) next main 1.75 (colored)

Sync with HEAD.

Revision 1.75 / (download) - annotate - [select for diffs], Wed Aug 15 04:00:34 2007 UTC (15 years, 5 months ago) by kiyohara
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, vmlocking-base, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-net80211-sync-base, nick-net80211-sync, nick-csl-alignment-base5, mjf-devfs-base, mjf-devfs, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, jmcneill-base, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, mjf-devfs2
Changes since 1.74: +5 -1 lines
Diff to previous 1.74 (colored)

* splsoftusb, IPL_SOFTUSB, and IPL_HARDUSB defines in usbdi.h
-> the current names are confusing (didn't change other drivers)
* fix invalid memory access in usbd_transfer (kern/24636)
-> needed for this driver
* fix USB HC detach race condition (kern/32011)
-> main patch needed for this driver, sc_dying changes in other drivers
not necessary but seem right to me

Patch from Matthew Orgass.
  http://mail-index.netbsd.org/tech-kern/2007/06/26/0001.html

Revision 1.72.8.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:08:49 2007 UTC (15 years, 6 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.72: +21 -35 lines
Diff to previous 1.72 (colored) next main 1.73 (colored)

Sync with head.

Revision 1.72.10.4 / (download) - annotate - [select for diffs], Fri Jun 22 10:12:25 2007 UTC (15 years, 7 months ago) by itohy
Branch: itohy-usb1
Changes since 1.72.10.3: +6 -3 lines
Diff to previous 1.72.10.3 (colored) to branchpoint 1.72 (colored) next main 1.73 (colored)

- Introduce USBD_CALLBACK_AS_TASK flag, which causes the callback function
  is called as a USB_TASKQ_DRIVER task, with thread context.
  This makes sharing Ethernet drivers with FreeBSD (that requires context
  for some network-related code) much easier.
  The flag is not used by NetBSD/OpenBSD for now.

- Rename xfer->async_task as xfer->task, now used by both async xfer and the
  callback above.

- Use 0 as idle task queue ID (definition USB_TASKQ_IDLE added), and
  increase USB_TASKQ_HC and USB_TASKQ_DRIVER accordingly.
  This makes passing zero-initialized (but not initialized by usb_init_task())
  usb_task to usb_rem_task() be ignored, rather than panic the system.

Revision 1.72.10.3 / (download) - annotate - [select for diffs], Mon Jun 18 14:15:39 2007 UTC (15 years, 7 months ago) by itohy
Branch: itohy-usb1
Changes since 1.72.10.2: +29 -1 lines
Diff to previous 1.72.10.2 (colored) to branchpoint 1.72 (colored)

Pullup 1.73 (attach driver per interface) with #ifdef USB_USE_IFATTACH.

Revision 1.72.10.2 / (download) - annotate - [select for diffs], Thu May 31 23:15:19 2007 UTC (15 years, 8 months ago) by itohy
Branch: itohy-usb1
Changes since 1.72.10.1: +1 -1 lines
Diff to previous 1.72.10.1 (colored) to branchpoint 1.72 (colored)

usbdi(9): Change usbd_map_buffer_mbuf to return the result, since
	mbuf(9) chain may be fragmented and mapping failure will happen.
-void usbd_map_buffer_mbuf(usbd_xfer_handle xfer, struct mbuf *chain)
+usbd_status usbd_map_buffer_mbuf(usbd_xfer_handle xfer, struct mbuf *chain)

usbdi(9): Add more diagnostic assertions.
uhci(4): fix aux dma for mbuf mapping.
slhci(4): fix repeated interrupt transfer (not tested).
ehci/slhci/ohci/uhci: Add checks where mbuf(4) transfer is not supported.

usb_port.h: Add some compat macros for FreeBSD.
usb_mem_nodma.c: Fix typos.

Revision 1.72.10.1 / (download) - annotate - [select for diffs], Tue May 22 14:57:49 2007 UTC (15 years, 8 months ago) by itohy
Branch: itohy-usb1
Changes since 1.72: +37 -9 lines
Diff to previous 1.72 (colored)

Overhaul of USB stack, mostly DMA related

This applies to NetBSD 4.99.13 (March 1, 2007)

usbdi(9) interface is based on FreeBSD version, excluding
 - removal of portability code

Patch most NetBSD changes, excluding
 - DMA memory "reserve", since we don't need contiguous buffers any longer
 - volatiles in DMA structure, since it should not be needed
   with proper bus_dmamap_sync(9)s

DMA/non-DMA memory management overhaul
 - Move all DMA related code to usb_mem.[ch]
   (add usb_alloc_buffer_dma(), usb_free_buffer_dma(), etc.).
   XXX Should usb_mem.[ch] be renamed as usb_mem_dma.[ch] ?
 - Add corresponding non-DMA code to usb_mem_nodma.[ch] .
   Currently just use malloc(9).
 - Above files are conditionally used by config framework (added
   attributes to conf/files and dev/usb/files.usb).
 - Add diagnostic panics when resource allocation is requested
   on interrupt context.
 - Change memory allocations (that require context) from NOWAIT to WAITOK.

Allocate DMA/non-DMA buffer per host interface, not globally.
 advantage:	Buffers can be freed on detaching host interface.
		Activity of a host interface does not affect others.
 disadvantages:	It possibly consumes more memory.

API changes
 - usbd_alloc_xfer() is changed:
    old: usbd_xfer_handle usbd_alloc_xfer(usbd_device_handle dev);
    new: usbd_xfer_handle usbd_alloc_xfer(usbd_device_handle dev,
		usbd_pipe_handle pipe);
 - pipe argument of usbd_setup_*xfer() are now unused
   XXX the pipe argument should be removed?
 - add mapping APIs
 - async request will be processed as a task (kernel thread context),
   and delayed to some extent
 - usbdivar.h: struct usbd_xfer: renamed a member "allocbuf" to "hcbuffer"
   (mapped/allocated/refered buffer for HCI driver)
 - usb_port.h: change usb_proc_ptr from  struct ptoc *  to struct lwp *
 - usb_port.h: add usb_sigproc_ptr for psignal(9) (struct proc *)
 - usb.h: add UE_MAXPKTSZ(ep) and UE_MAXPKTSZ_MASK macros for USB 2.0

changes to USB device drivers
 - atu, aue, axe, cdce, cue, kue, rum, udav, upl, ural, url,
   uaudio, ubt, ucom, ugen, uhidev, uirda, ulpt, umidi, urio,
   uscanner, ustir, utoppy:
    * catch up API change of usbd_alloc_xfer()
 - umass, usscanner:
    * catch up API change of usbd_alloc_xfer()
    * eliminate memory copy for large transfer

ohci
 - free resources on detach
 - add lots of bus_dmamap_sync() operations
 - simplify the code of loading std chain
 - rewrite code of looking up TD/ITD from DMA addr by using allocation chunk
 - add workaround for CMD Tech 670 and 673 chipsets
 - make sure resources are not allocated in interrupt context
 - add support for mapping buffer and mbuf

slhci
 - allocate xfer and slhci_xfer at once, and simplify relevant code
 - add slhci_detach()
 - remove second arg of slhci_attach() since it is the same as the first arg.
 - add support for "mapping" (no, it doesn't map since it doesn't do DMA)
   buffer and mbuf
 - add pcmcia frontend
 - NOT TESTED, missing hardware

ehci
 - add lots of bus_dmamap_sync() operations, possibly too many
 - make sure resources are not allocated in interrupt context
 - add support for mapping buffer and mbuf
 - done only simple test

uhci
 - add lots of bus_dmamap_sync() operations, possibly too many
 - make sure resources are not allocated in interrupt context
 - add support for mapping buffer and mbuf

To do
 - review, test, debug
 - rewrite network drivers to utilize usbd_map_buffer_mbuf()
 - rewrite uaudio(4) to eliminate memcpy
 - "pipe" argument of usbd_setup_*xfer() should eventually be removed

Revision 1.70.2.1 / (download) - annotate - [select for diffs], Fri Apr 6 18:43:51 2007 UTC (15 years, 9 months ago) by bouyer
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.70: +6 -1 lines
Diff to previous 1.70 (colored) next main 1.71 (colored)

Pull up following revision(s) (requested by pavel in ticket #556):
	sys/dev/usb/ugen.c: revision 1.89
	sys/dev/usb/usb.c: revisions 1.92, 1.93
	sys/dev/usb/usb_subr.c: revision 1.139, 1.140
	sys/dev/usb/usb.h: revision 1.75
	sys/dev/usb/usbdi.h: revisions 1.71, 1.72
	sys/dev/usb/usbdi.c: revision 1.115, 1.116
	sys/dev/usb/uhid.c: revision 1.73
Restore compatibility of USB_DEVICEINFO ioctl and reads from /dev/usb with
NetBSD 3.x.  The code is conditionally compiled depending on COMPAT_30.

Revision 1.72.2.1 / (download) - annotate - [select for diffs], Sat Mar 24 14:55:53 2007 UTC (15 years, 10 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.72: +21 -35 lines
Diff to previous 1.72 (colored) next main 1.73 (colored)

sync with head.

Revision 1.72.6.1 / (download) - annotate - [select for diffs], Tue Mar 13 16:51:06 2007 UTC (15 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.72: +21 -35 lines
Diff to previous 1.72 (colored)

Sync with head.

Revision 1.74 / (download) - annotate - [select for diffs], Tue Mar 13 15:00:07 2007 UTC (15 years, 10 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, nick-csl-alignment-base, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: nick-csl-alignment, jmcneill-pm
Changes since 1.73: +6 -34 lines
Diff to previous 1.73 (colored)

add multiple inclusion protection, from KIYOHARA Takashi per PR kern/35997;
being here, unifdef for __NetBSD__ and __HAVE_GENERIC_SOFT_INTERRUPTS

Revision 1.73 / (download) - annotate - [select for diffs], Tue Mar 13 13:51:56 2007 UTC (15 years, 10 months ago) by drochner
Branch: MAIN
Changes since 1.72: +16 -2 lines
Diff to previous 1.72 (colored)

Introduce different autoconf interface attributes for USB drivers
matching (and handling) a whole device and those which match an
interface only. This will allow to enforce some rules, eg that
the former don't use interface information for matching or that the
latter don't modify global device state.
The previous way left too much freedom do the drivers which led to
inconsistencies and abuse.
For now, I've not changed locators and submatch rules, this will
happen later.
There should not be any change in behaviour, except in the case of
some drivers which did behave inconsistently:
if_atu, if_axe, uep: matched the configured device in the interface
 stage, but did configuration again. I've converted them to match
 in the device stage.
ustir, utoppy: matched in the interface stage, but only against
 vendor/device information, and used any configuration/interface
 without checking. Changed to match in device stage, and added
 some simple code to configure and use the first interface.
If you have one of those devices, please test!

Revision 1.69.20.2 / (download) - annotate - [select for diffs], Fri Jan 12 00:57:49 2007 UTC (16 years ago) by ad
Branch: newlock2
Changes since 1.69.20.1: +6 -1 lines
Diff to previous 1.69.20.1 (colored) to branchpoint 1.69 (colored) next main 1.70 (colored)

Sync with head.

Revision 1.67.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:49:39 2006 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.67.2.1: +13 -4 lines
Diff to previous 1.67.2.1 (colored) to branchpoint 1.67 (colored)

sync with head.

Revision 1.69.22.1 / (download) - annotate - [select for diffs], Sun Dec 10 07:18:18 2006 UTC (16 years, 1 month ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.69: +13 -4 lines
Diff to previous 1.69 (colored) next main 1.70 (colored)

sync with head.

Revision 1.72 / (download) - annotate - [select for diffs], Tue Dec 5 17:35:35 2006 UTC (16 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, post-newlock2-merge, newlock2-nbase, newlock2-base, itohy-usb1-base, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp, vmlocking, mjf-ufs-trans, itohy-usb1
Changes since 1.71: +5 -2 lines
Diff to previous 1.71 (colored)

fix compilation issues.

Revision 1.71 / (download) - annotate - [select for diffs], Sun Dec 3 22:34:58 2006 UTC (16 years, 1 month ago) by pavel
Branch: MAIN
Changes since 1.70: +3 -1 lines
Diff to previous 1.70 (colored)

Restore compatibility of USB_DEVICEINFO ioctl and reads from /dev/usb with
NetBSD 3.x. Patch from Stephan Thesing provided in
http://mail-index.netbsd.org/current-users/2006/03/21/0002.html, with some
modifications by me.
See also
http://mail-index.netbsd.org/current-users/2006/08/29/0017.html

The code is conditionally compiled depending on COMPAT_30.

Also fix a leak of struct usb_event in usbread() introduced while converting
on-stack variables to dynamic allocation.

Reviewed by martin@.

Revision 1.69.20.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:34:52 2006 UTC (16 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.69: +8 -4 lines
Diff to previous 1.69 (colored)

Sync with head.

Revision 1.70 / (download) - annotate - [select for diffs], Tue Oct 31 20:43:32 2006 UTC (16 years, 3 months ago) by joerg
Branch: MAIN
CVS Tags: netbsd-4-base
Branch point for: netbsd-4
Changes since 1.69: +8 -4 lines
Diff to previous 1.69 (colored)

Split the USB task queue into two parts, one for normal device tasks and
one for tasks of the host controllers. This is needed for drivers like
ural(4) that want to do synchronous USB transfers from the task handler.
Before the split timeouts could not be handled correctly as the task
thread was still blocked. From FreeBSD.

Revision 1.67.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:07:45 2006 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored)

sync with head.

Revision 1.62.6.6 / (download) - annotate - [select for diffs], Sun Dec 11 10:29:06 2005 UTC (17 years, 1 month ago) by christos
Branch: ktrace-lwp
Changes since 1.62.6.5: +2 -2 lines
Diff to previous 1.62.6.5 (colored) to branchpoint 1.62 (colored) next main 1.63 (colored)

Sync with head.

Revision 1.67.8.1 / (download) - annotate - [select for diffs], Tue Nov 29 21:23:16 2005 UTC (17 years, 2 months ago) by yamt
Branch: yamt-readahead
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored) next main 1.68 (colored)

sync with head.

Revision 1.69 / (download) - annotate - [select for diffs], Mon Nov 28 13:14:48 2005 UTC (17 years, 2 months ago) by augustss
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-readahead-base3, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, yamt-pdpolicy, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, rpaulo-netinet-merge-pcb-base, rpaulo-netinet-merge-pcb, peter-altq-base, peter-altq, ktrace-lwp-base, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.68: +2 -1 lines
Diff to previous 1.68 (colored)

Add a new match level, UMATCH_HIGHEST.

Revision 1.68 / (download) - annotate - [select for diffs], Wed Nov 23 08:54:48 2005 UTC (17 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.67: +1 -2 lines
Diff to previous 1.67 (colored)

Normally a ugen device only attaches if no other driver wants the device.
Add the ability to force ugen to attach with very high priority if "flags 1"
is specified.  This can be used with the vendor and product locators to
force ugen to be used for certain devices.
Similarly, uhid only attaches if no other HID driver (ums or ukbd) wants it.
Again, "flags 1" will force uhid to attach anyway.

Revision 1.62.6.5 / (download) - annotate - [select for diffs], Thu Nov 10 14:08:06 2005 UTC (17 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.62.6.4: +10 -6 lines
Diff to previous 1.62.6.4 (colored) to branchpoint 1.62 (colored)

Sync with HEAD. Here we go again...

Revision 1.67 / (download) - annotate - [select for diffs], Mon May 30 04:21:39 2005 UTC (17 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base2, yamt-readahead-base, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-readahead, yamt-lazymbuf
Changes since 1.66: +7 -7 lines
Diff to previous 1.66 (colored)

- const poisoning
- eliminate variable shadowing

Revision 1.66 / (download) - annotate - [select for diffs], Mon May 23 16:35:27 2005 UTC (17 years, 8 months ago) by soren
Branch: MAIN
Changes since 1.65: +3 -1 lines
Diff to previous 1.65 (colored)

Sync 1284 id printing with the devinfo change, but leave it disabled for now.

Revision 1.65 / (download) - annotate - [select for diffs], Wed May 11 10:02:29 2005 UTC (17 years, 8 months ago) by augustss
Branch: MAIN
Changes since 1.64: +4 -2 lines
Diff to previous 1.64 (colored)

Don't keep the devinfo string on the stack, instead use malloc/free.
This should cure some rare stack overflows.

Revision 1.62.6.4 / (download) - annotate - [select for diffs], Tue Nov 2 07:53:03 2004 UTC (18 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.62.6.3: +11 -1 lines
Diff to previous 1.62.6.3 (colored) to branchpoint 1.62 (colored)

Sync with HEAD.

Revision 1.64 / (download) - annotate - [select for diffs], Sat Oct 23 13:26:34 2004 UTC (18 years, 3 months ago) by augustss
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Changes since 1.63: +11 -1 lines
Diff to previous 1.63 (colored)

Make an iterator abstraction for looping through all descriptors.

Move usb_get_string() and make it public.

Revision 1.62.6.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:33:53 2004 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.62.6.2: +1 -1 lines
Diff to previous 1.62.6.2 (colored) to branchpoint 1.62 (colored)

Fix the sync with head I botched.

Revision 1.62.6.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:51:47 2004 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.62.6.1: +0 -0 lines
Diff to previous 1.62.6.1 (colored) to branchpoint 1.62 (colored)

Sync with HEAD.

Revision 1.62.6.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:51:43 2004 UTC (18 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.62: +61 -66 lines
Diff to previous 1.62 (colored)

Sync with HEAD

Revision 1.63 / (download) - annotate - [select for diffs], Fri Apr 23 17:25:26 2004 UTC (18 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.62: +61 -66 lines
Diff to previous 1.62 (colored)

use bounded string ops (snprintf, strl*)

Revision 1.52.2.4 / (download) - annotate - [select for diffs], Fri Sep 6 08:47:20 2002 UTC (20 years, 4 months ago) by jdolecek
Branch: kqueue
Changes since 1.52.2.3: +4 -4 lines
Diff to previous 1.52.2.3 (colored) next main 1.53 (colored)

sync kqueue branch with HEAD

Revision 1.49.2.5 / (download) - annotate - [select for diffs], Thu Aug 1 02:46:10 2002 UTC (20 years, 6 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.49.2.4: +4 -4 lines
Diff to previous 1.49.2.4 (colored) next main 1.50 (colored)

Catch up to -current.

Revision 1.61.8.1 / (download) - annotate - [select for diffs], Mon Jul 15 10:36:21 2002 UTC (20 years, 6 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.61: +4 -4 lines
Diff to previous 1.61 (colored) next main 1.62 (colored)

catch up with -current.

Revision 1.62 / (download) - annotate - [select for diffs], Thu Jul 11 21:14:35 2002 UTC (20 years, 6 months ago) by augustss
Branch: MAIN
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, nathanw_sa_before_merge, nathanw_sa_base, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, gehenna-devsw-base, fvdl_fs64_base
Branch point for: ktrace-lwp
Changes since 1.61: +4 -4 lines
Diff to previous 1.61 (colored)

Get rid of trailing white space.

Revision 1.52.2.3 / (download) - annotate - [select for diffs], Sat Mar 16 16:01:43 2002 UTC (20 years, 10 months ago) by jdolecek
Branch: kqueue
Changes since 1.52.2.2: +5 -4 lines
Diff to previous 1.52.2.2 (colored)

Catch up with -current.

Revision 1.49.2.4 / (download) - annotate - [select for diffs], Thu Feb 28 04:14:37 2002 UTC (20 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.49.2.3: +5 -4 lines
Diff to previous 1.49.2.3 (colored)

Catch up to -current.

Revision 1.61 / (download) - annotate - [select for diffs], Mon Feb 11 15:20:23 2002 UTC (20 years, 11 months ago) by augustss
Branch: MAIN
CVS Tags: newlock-base, newlock, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, ifpoll-base, eeh-devprop-base, eeh-devprop
Branch point for: gehenna-devsw
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (colored)

Remove an accidental change from last commit.

Revision 1.60 / (download) - annotate - [select for diffs], Mon Feb 11 15:11:49 2002 UTC (20 years, 11 months ago) by augustss
Branch: MAIN
Changes since 1.59: +5 -4 lines
Diff to previous 1.59 (colored)

Give usbd_do_request_flags() an extra argument for the timeout.

Revision 1.52.2.2 / (download) - annotate - [select for diffs], Thu Jan 10 19:59:10 2002 UTC (21 years ago) by thorpej
Branch: kqueue
Changes since 1.52.2.1: +33 -22 lines
Diff to previous 1.52.2.1 (colored)

Sync kqueue branch with -current.

Revision 1.49.2.3 / (download) - annotate - [select for diffs], Tue Jan 8 00:32:22 2002 UTC (21 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.49.2.2: +33 -22 lines
Diff to previous 1.49.2.2 (colored)

Catch up to -current.

Revision 1.59 / (download) - annotate - [select for diffs], Mon Dec 24 21:36:15 2001 UTC (21 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.58: +2 -1 lines
Diff to previous 1.58 (colored)

Add some more DIAGNOSTIC tests.
Make usb_match_device() match on USB_PRODUCT_ANY.

Revision 1.58 / (download) - annotate - [select for diffs], Wed Dec 12 15:38:27 2001 UTC (21 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.57: +21 -21 lines
Diff to previous 1.57 (colored)

Add some comments.

Revision 1.57 / (download) - annotate - [select for diffs], Wed Dec 12 15:24:00 2001 UTC (21 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.56: +2 -1 lines
Diff to previous 1.56 (colored)

Move usbd_clear_endpoint_toggle() prototype to usbdi.h.

Revision 1.56 / (download) - annotate - [select for diffs], Mon Dec 3 01:47:12 2001 UTC (21 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.55: +5 -3 lines
Diff to previous 1.55 (colored)

Handle vendor/product lookup with a common routine.

Revision 1.55 / (download) - annotate - [select for diffs], Sun Dec 2 23:25:25 2001 UTC (21 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.54: +8 -1 lines
Diff to previous 1.54 (colored)

Add a subroutine to search for a vendor/product pair.

Revision 1.54 / (download) - annotate - [select for diffs], Thu Nov 15 15:15:59 2001 UTC (21 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.53: +2 -2 lines
Diff to previous 1.53 (colored)

usbd_interface2device_handle() cannot fail.

Revision 1.52.2.1 / (download) - annotate - [select for diffs], Sat Aug 25 06:16:43 2001 UTC (21 years, 5 months ago) by thorpej
Branch: kqueue
Changes since 1.52: +2 -1 lines
Diff to previous 1.52 (colored)

Merge Aug 24 -current into the kqueue branch.

Revision 1.49.2.2 / (download) - annotate - [select for diffs], Fri Aug 24 00:11:15 2001 UTC (21 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.49.2.1: +2 -1 lines
Diff to previous 1.49.2.1 (colored)

Catch up with -current.

Revision 1.53 / (download) - annotate - [select for diffs], Wed Aug 15 00:04:59 2001 UTC (21 years, 5 months ago) by augustss
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, thorpej-devvp, pre-chs-ubcperf, post-chs-ubcperf
Changes since 1.52: +2 -1 lines
Diff to previous 1.52 (colored)

Add a little infrastructure so that individual drivers can easily check
if thee was a vendor+product locator match.

Revision 1.49.2.1 / (download) - annotate - [select for diffs], Thu Jun 21 20:06:31 2001 UTC (21 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.49: +7 -6 lines
Diff to previous 1.49 (colored)

Catch up to -current.

Revision 1.52 / (download) - annotate - [select for diffs], Tue May 1 16:43:44 2001 UTC (21 years, 9 months ago) by lukem
Branch: MAIN
Branch point for: kqueue
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (colored)

delint

Revision 1.31.2.4 / (download) - annotate - [select for diffs], Sat Apr 21 17:50:12 2001 UTC (21 years, 9 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.31.2.3: +6 -5 lines
Diff to previous 1.31.2.3 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored)

Sync with HEAD

Revision 1.51 / (download) - annotate - [select for diffs], Fri Apr 13 11:19:58 2001 UTC (21 years, 9 months ago) by augustss
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.50: +1 -4 lines
Diff to previous 1.50 (colored)

Finally get rid of the UGLY and EVIL hack for avoiding tsleep().

Revision 1.50 / (download) - annotate - [select for diffs], Thu Apr 12 01:18:24 2001 UTC (21 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.49: +6 -2 lines
Diff to previous 1.49 (colored)

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.

Revision 1.31.2.3 / (download) - annotate - [select for diffs], Sun Feb 11 19:16:34 2001 UTC (21 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.31.2.2: +24 -10 lines
Diff to previous 1.31.2.2 (colored) to branchpoint 1.31 (colored)

Sync with HEAD.

Revision 1.49 / (download) - annotate - [select for diffs], Tue Jan 23 17:04:30 2001 UTC (22 years ago) by augustss
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.48: +4 -2 lines
Diff to previous 1.48 (colored)

Ad function to remove a usb task.

Revision 1.48 / (download) - annotate - [select for diffs], Sun Jan 21 19:00:06 2001 UTC (22 years ago) by augustss
Branch: MAIN
Changes since 1.47: +16 -1 lines
Diff to previous 1.47 (colored)

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.

Revision 1.47 / (download) - annotate - [select for diffs], Sun Jan 21 02:39:53 2001 UTC (22 years ago) by augustss
Branch: MAIN
Changes since 1.46: +6 -9 lines
Diff to previous 1.46 (colored)

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.

Revision 1.46 / (download) - annotate - [select for diffs], Thu Jan 18 20:28:23 2001 UTC (22 years ago) by jdolecek
Branch: MAIN
Changes since 1.45: +2 -2 lines
Diff to previous 1.45 (colored)

constify

Revision 1.31.2.2 / (download) - annotate - [select for diffs], Wed Dec 13 15:50:18 2000 UTC (22 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.31.2.1: +2 -2 lines
Diff to previous 1.31.2.1 (colored) to branchpoint 1.31 (colored)

Sync with HEAD (for UBC fixes).

Revision 1.45 / (download) - annotate - [select for diffs], Wed Dec 13 04:05:15 2000 UTC (22 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored)

Don't try to access a device that is being disconnected when generating
the detach event.  Fixes (I hope) PR 11713 from itohy@netbsd.org (ITOH Yasufumi).

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 11:43:32 2000 UTC (22 years, 2 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.31: +98 -90 lines
Diff to previous 1.31 (colored)

Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.

Revision 1.44 / (download) - annotate - [select for diffs], Sat Sep 23 21:02:04 2000 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.43: +4 -1 lines
Diff to previous 1.43 (colored)

Add a way to do control transfers on other pipes than the default pipe.

Revision 1.42.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 17:08:48 2000 UTC (22 years, 7 months ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.42: +75 -87 lines
Diff to previous 1.42 (colored) next main 1.43 (colored)

Sync w/ netbsd-1-5-base.

Revision 1.43 / (download) - annotate - [select for diffs], Thu Jun 1 14:29:02 2000 UTC (22 years, 8 months ago) by augustss
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5
Changes since 1.42: +75 -87 lines
Diff to previous 1.42 (colored)

Bring the coding style into the 80s, i.e., get rid of __P and use
ANSI prototypes and declarations.

Revision 1.42 / (download) - annotate - [select for diffs], Thu Apr 27 15:26:51 2000 UTC (22 years, 9 months ago) by augustss
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored)

Change my email address.

Revision 1.41 / (download) - annotate - [select for diffs], Thu Mar 2 12:37:51 2000 UTC (22 years, 11 months ago) by augustss
Branch: MAIN
Changes since 1.40: +3 -1 lines
Diff to previous 1.40 (colored)

Use ratecheck() to limit error messages on disconnect.
Break out some common functionality.

Revision 1.40 / (download) - annotate - [select for diffs], Wed Feb 2 07:34:00 2000 UTC (23 years ago) by augustss
Branch: MAIN
CVS Tags: chs-ubc2-newbase
Changes since 1.39: +4 -2 lines
Diff to previous 1.39 (colored)

Change the USB event mechanism to include more information about devices
and drivers.  Partly from FreeBSD.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Jan 19 00:23:59 2000 UTC (23 years ago) by augustss
Branch: MAIN
Changes since 1.38: +5 -2 lines
Diff to previous 1.38 (colored)

Add an argument to usbd_open_pipe_intr() to specify the polling interval
for an interrupt pipe in case we don't what what the descriptor suggests.

Revision 1.38 / (download) - annotate - [select for diffs], Sun Jan 16 23:11:43 2000 UTC (23 years ago) by augustss
Branch: MAIN
Changes since 1.37: +8 -6 lines
Diff to previous 1.37 (colored)

Add usbd_reload_device_desc() to get the device descriptor again from a device.
Useful if e.g. downloading firmware updates the revision number.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Jan 16 13:12:05 2000 UTC (23 years ago) by augustss
Branch: MAIN
Changes since 1.36: +5 -1 lines
Diff to previous 1.36 (colored)

Add a flag, USBD_FORCE_SHORT_XFER, to transfers.  Using this flag will
force the last packet of a transfer to be smaller than the maximum
packet size.  The only time this matters is if the transfer size is
a multiple of the maximum packet size, in which case a 0 length packet
is sent last.
Some weird devices require this behaviour to determine the end of
a transfer.

Revision 1.36 / (download) - annotate - [select for diffs], Sun Jan 16 11:19:05 2000 UTC (23 years ago) by augustss
Branch: MAIN
Changes since 1.35: +1 -3 lines
Diff to previous 1.35 (colored)

GC an unused typedef.

Revision 1.35 / (download) - annotate - [select for diffs], Sun Jan 16 09:37:18 2000 UTC (23 years ago) by augustss
Branch: MAIN
Changes since 1.34: +8 -3 lines
Diff to previous 1.34 (colored)

Let usbd_set_polling() work on a usbd_device_handle instead of
a usbd_interface_handle.

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:35:46 1999 UTC (23 years, 1 month ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.29: +41 -58 lines
Diff to previous 1.29 (colored) next main 1.30 (colored)

Pull up to last week's -current.

Revision 1.34 / (download) - annotate - [select for diffs], Thu Nov 18 23:32:34 1999 UTC (23 years, 2 months ago) by augustss
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Changes since 1.33: +2 -1 lines
Diff to previous 1.33 (colored)

Cosmetic changes and some small improvements.  From FreeBSD and Nick Hibma.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Nov 17 23:00:50 1999 UTC (23 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.32: +7 -7 lines
Diff to previous 1.32 (colored)

A few more purely stylistic changes that I missed in the last round.

Revision 1.31.4.1 / (download) - annotate - [select for diffs], Mon Nov 15 00:41:41 1999 UTC (23 years, 2 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.31: +14 -14 lines
Diff to previous 1.31 (colored) next main 1.32 (colored)

Sync with -current

Revision 1.32 / (download) - annotate - [select for diffs], Fri Nov 12 00:34:58 1999 UTC (23 years, 2 months ago) by augustss
Branch: MAIN
CVS Tags: fvdl-softdep-base
Changes since 1.31: +14 -14 lines
Diff to previous 1.31 (colored)

A number of stylistic changes to increase readability (many suggested
by Nick Hibma):
	use NULL not 0
	declare all local definitions static
	rename s/usbd_request/usbd_xfer/ s/reqh/xfer/
	rename s/r/err/
	use implicit test for no err
	KNF

Revision 1.31 / (download) - annotate - [select for diffs], Wed Oct 13 08:10:58 1999 UTC (23 years, 3 months ago) by augustss
Branch: MAIN
CVS Tags: comdex-fall-1999-base, comdex-fall-1999
Branch point for: thorpej_scsipi, fvdl-softdep
Changes since 1.30: +21 -41 lines
Diff to previous 1.30 (colored)

Merge in a large batch of changes from Nick Hibma <hibma@skylink.it> so
the USB stack compiles on FreeBSD again.

Revision 1.30 / (download) - annotate - [select for diffs], Tue Oct 12 11:54:56 1999 UTC (23 years, 3 months ago) by augustss
Branch: MAIN
Changes since 1.29: +3 -1 lines
Diff to previous 1.29 (colored)

Add an event mechanism so that a userland process can watch devices come
and go.

Revision 1.29 / (download) - annotate - [select for diffs], Sun Sep 12 08:23:42 1999 UTC (23 years, 4 months ago) by augustss
Branch: MAIN
Branch point for: wrstuden-devbsize
Changes since 1.28: +5 -3 lines
Diff to previous 1.28 (colored)

Add a flag in the request to determine if the data copying is done by the
driver or the usbdi layer.

Revision 1.28 / (download) - annotate - [select for diffs], Sat Sep 11 08:19:27 1999 UTC (23 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.27: +2 -6 lines
Diff to previous 1.27 (colored)

* Move DMA buffer allocation to HC independent code.
* Remove (almost) unused definitions USBD_XFER_OUT and USBD_XFER_IN.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Sep 9 12:26:48 1999 UTC (23 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.26: +11 -9 lines
Diff to previous 1.26 (colored)

Change the internal API to allow DMA buffers to be pre-allocated by
the device driver instead of happening automagically in the HC driver.
This affects both the HC-USBD interface as well as the USBD-device
interface.
This change will allow DMA buffers to be reused e.g. in isochronous
traffic.

Add isochronous support to the UHCI driver (not for OHCI yet).

Revision 1.26 / (download) - annotate - [select for diffs], Sun Sep 5 19:32:19 1999 UTC (23 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

Change the way the `struct device' base part of all driver softc are
declared and accessed to make it more portable.  Idea from Nick Hibma, FreeBSD.
No functional changes.

Revision 1.25 / (download) - annotate - [select for diffs], Sun Aug 29 19:41:27 1999 UTC (23 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

Make usbd_errstr() always return a useful error message; it's not like
the strings are that big.

Revision 1.24 / (download) - annotate - [select for diffs], Sun Aug 22 20:12:39 1999 UTC (23 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.23: +4 -3 lines
Diff to previous 1.23 (colored)

Move more of the transfer completion processing to HC independent code.
Fix some problems with transfer abort & timeout.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Aug 19 19:51:37 1999 UTC (23 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.22: +6 -2 lines
Diff to previous 1.22 (colored)

Add a utility function, usbd_errstr(), to print error strings.  From FreeBSD.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Aug 17 16:06:21 1999 UTC (23 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

Make some small changes to make it compile on OpenBSD.

Revision 1.21 / (download) - annotate - [select for diffs], Sat Aug 14 14:49:32 1999 UTC (23 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.20: +2 -3 lines
Diff to previous 1.20 (colored)

Some changes from FreeBSD (no functional differences).

Revision 1.17.4.2 / (download) - annotate - [select for diffs], Thu Jul 1 23:40:24 1999 UTC (23 years, 7 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.17.4.1: +1 -2 lines
Diff to previous 1.17.4.1 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)

Sync w/ -current.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Jun 30 06:44:23 1999 UTC (23 years, 7 months ago) by augustss
Branch: MAIN
CVS Tags: chs-ubc2-base
Changes since 1.19: +1 -2 lines
Diff to previous 1.19 (colored)

Totally redo the way device detach is done.  It now uses a kernel event
thread and the config detach method.
Squish a number of space leaks on detach.

Revision 1.17.4.1 / (download) - annotate - [select for diffs], Mon Jun 21 01:19:31 1999 UTC (23 years, 7 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.17: +5 -86 lines
Diff to previous 1.17 (colored)

Sync w/ -current.

Revision 1.19 / (download) - annotate - [select for diffs], Mon Jun 14 17:09:58 1999 UTC (23 years, 7 months ago) by augustss
Branch: MAIN
Changes since 1.18: +2 -86 lines
Diff to previous 1.18 (colored)

Get rid of a bunch of code that was part of an old USBDI proposal, but that
is unused in our USB stack.

Once upon a time, when I started writing the USB stack for NetBSD, there
was an effort to make a standard for how USB device drivers should interact
with the rest of the USB stack.  This effort had contributors from just
about all Un*x camps (but not Micro$oft :).  I based my design on one of their
early proposals since I thought it would be a good idea if we could all
share device drivers with a minimum effort.  Shortly after I started my work
all the free Un*x people were thrown out of the USBDI work since we did not
pay the USB membership fee.  Well, some time has passed now and the work of
the standardization group is almost public again.  But alas, the new standard
has grown to be a monster!  I do not want to have this as the basis for the
*BSD USB stack; it is far too complicated.
So, since we are not even close to being compilant with the standard, I've
thrown out some old baggage.

Revision 1.18 / (download) - annotate - [select for diffs], Sun May 16 13:51:05 1999 UTC (23 years, 8 months ago) by augustss
Branch: MAIN
Changes since 1.17: +4 -1 lines
Diff to previous 1.17 (colored)

Add vendor/product/release locators.  Added in frustration as my HID
devices appeared as different devices after some plugging and unplugging. :-)

Revision 1.17 / (download) - annotate - [select for diffs], Sun Jan 10 19:13:16 1999 UTC (24 years ago) by augustss
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: chs-ubc2
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

Some minor updates from FreeBSD.

Revision 1.16 / (download) - annotate - [select for diffs], Fri Jan 8 11:58:26 1999 UTC (24 years ago) by augustss
Branch: MAIN
Changes since 1.15: +10 -1 lines
Diff to previous 1.15 (colored)

Various little fixes from the FreeBSD version.

Revision 1.15 / (download) - annotate - [select for diffs], Sun Jan 3 01:00:56 1999 UTC (24 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

Add a length paarmeter to usbd_do_request_flags().

Revision 1.14 / (download) - annotate - [select for diffs], Fri Jan 1 15:25:57 1999 UTC (24 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.13: +2 -1 lines
Diff to previous 1.13 (colored)

Add usbd_bulk_transfer(), a function to do interruptible transfer that
do not time out.

Revision 1.13 / (download) - annotate - [select for diffs], Tue Dec 29 03:09:48 1998 UTC (24 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.12: +8 -3 lines
Diff to previous 1.12 (colored)

New USB attach args.

Revision 1.12 / (download) - annotate - [select for diffs], Sat Dec 26 12:53:04 1998 UTC (24 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.11: +43 -1 lines
Diff to previous 1.11 (colored)

Merge changes to make the USB stack work with FreeBSD.  The original
diffs from Nick Hibma <n_hibma@freebsd.org>, but with substantial
changes from me.
XXX Not tested on FreeBSD yet.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Dec 10 23:16:48 1998 UTC (24 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.10: +3 -2 lines
Diff to previous 1.10 (colored)

Take care of some lines > 80 chars.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Dec 9 00:18:12 1998 UTC (24 years, 1 month ago) by augustss
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach
Changes since 1.9: +11 -2 lines
Diff to previous 1.9 (colored)

Improvement to the ugen driver.
Better error checking.
Some code rearrengment.

Revision 1.9 / (download) - annotate - [select for diffs], Tue Dec 8 15:18:45 1998 UTC (24 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.8: +12 -2 lines
Diff to previous 1.8 (colored)

Some minor API changes and additions.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Dec 2 22:57:08 1998 UTC (24 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.7: +3 -1 lines
Diff to previous 1.7 (colored)

Add configuration and interface locators.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Nov 25 22:32:05 1998 UTC (24 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.6: +4 -3 lines
Diff to previous 1.6 (colored)

Make the copyright header conform to the NetBSD template.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Aug 2 22:30:53 1998 UTC (24 years, 6 months ago) by augustss
Branch: MAIN
CVS Tags: chs-ubc-base, chs-ubc
Changes since 1.5: +6 -1 lines
Diff to previous 1.5 (colored)

Improve some error messages.
Make some preparations for isochronous transfers.

Revision 1.5 / (download) - annotate - [select for diffs], Sat Aug 1 18:16:20 1998 UTC (24 years, 6 months ago) by augustss
Branch: MAIN
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored)

Switch from a global flag to tell if the host controller should use
polling to a local one for each controller.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Jul 29 20:50:12 1998 UTC (24 years, 6 months ago) by augustss
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.3: +4 -1 lines
Diff to previous 1.3 (colored)

Add functions to execute asynchronous requests and use these from
interrupt context.
[I had some feline debugging help here.  I noticed that every time Kem,
our kitty, jumped onto the USB keyboard the machine crashed.]

Revision 1.3 / (download) - annotate - [select for diffs], Sun Jul 26 17:42:49 1998 UTC (24 years, 6 months ago) by augustss
Branch: MAIN
Changes since 1.2: +3 -1 lines
Diff to previous 1.2 (colored)

A first stab att supporting console access with a USB keyboard.

Revision 1.2 / (download) - annotate - [select for diffs], Thu Jul 23 13:44:22 1998 UTC (24 years, 6 months ago) by augustss
Branch: MAIN
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored)

Add some comments and a function to set the alternate settings in an
interface.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Jul 12 19:52:01 1998 UTC (24 years, 6 months ago) by augustss
Branch: MAIN

Add USB support.  Supported so far:
* UHCI and OHCI host controllers on PCI
* Hubs
* HID devices withe special drivers for mouse and keyboard
* Printers

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>