The NetBSD Project

CVS log for src/sys/dev/usb/ehci.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.315.2.4 / (download) - annotate - [select for diffs], Sat Feb 17 11:27:30 2024 UTC (5 weeks, 6 days ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5
Changes since 1.315.2.3: +22 -3 lines
Diff to previous 1.315.2.3 (colored) to branchpoint 1.315 (colored) next main 1.316 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by gutteridge in ticket #589):

	sys/dev/usb/ehci.c: revision 1.322
	sys/dev/usb/ehcireg.h: revision 1.39

avoid different struct type problem.

Revision 1.324 / (download) - annotate - [select for diffs], Sat Feb 10 09:21:53 2024 UTC (6 weeks, 6 days ago) by andvar
Branch: MAIN
CVS Tags: HEAD
Changes since 1.323: +3 -3 lines
Diff to previous 1.323 (colored) to selected 1.187 (colored)

fix various typos in comments and log messages.

Revision 1.323 / (download) - annotate - [select for diffs], Fri Feb 9 22:08:36 2024 UTC (6 weeks, 6 days ago) by andvar
Branch: MAIN
Changes since 1.322: +3 -3 lines
Diff to previous 1.322 (colored) to selected 1.187 (colored)

fix spelling mistakes, mainly in comments and log messages.

Revision 1.322 / (download) - annotate - [select for diffs], Tue Feb 6 23:57:41 2024 UTC (7 weeks, 2 days ago) by mrg
Branch: MAIN
Changes since 1.321: +22 -3 lines
Diff to previous 1.321 (colored) to selected 1.187 (colored)

avoid different struct type problem.

Revision 1.315.2.3 / (download) - annotate - [select for diffs], Tue Feb 6 12:18:55 2024 UTC (7 weeks, 3 days ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RC4
Changes since 1.315.2.2: +3 -3 lines
Diff to previous 1.315.2.2 (colored) to branchpoint 1.315 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by jmcneill in ticket #585):

	sys/dev/usb/ehcireg.h: revision 1.38
	sys/dev/usb/ehci.c: revision 1.321

Fix DMA sync flags in ehci_append_sqtd

Ensure proper alignment/padding of EHCI hardware descriptors.

These descriptor structs are embedded in structs that contain additional
context for software. With a non cache coherent device and non-padded
descriptors, the device may issue a read/modify/write past the end of
the descriptor, clobbering software state in the process. This was the
root cause of multiple crashes on evbppc with a non cache coherent EHCI.

Revision 1.321 / (download) - annotate - [select for diffs], Mon Feb 5 23:04:18 2024 UTC (7 weeks, 3 days ago) by jmcneill
Branch: MAIN
Changes since 1.320: +3 -3 lines
Diff to previous 1.320 (colored) to selected 1.187 (colored)

Fix DMA sync flags in ehci_append_sqtd

Revision 1.320 / (download) - annotate - [select for diffs], Sun Feb 4 05:43:06 2024 UTC (7 weeks, 5 days ago) by mrg
Branch: MAIN
Changes since 1.319: +3 -3 lines
Diff to previous 1.319 (colored) to selected 1.187 (colored)

update my email address.

Revision 1.315.2.2 / (download) - annotate - [select for diffs], Mon Oct 30 17:45:10 2023 UTC (4 months, 4 weeks ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Changes since 1.315.2.1: +5 -5 lines
Diff to previous 1.315.2.1 (colored) to branchpoint 1.315 (colored) to selected 1.187 (colored)

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

	sys/dev/usb/ehci.c: revision 1.318
	sys/dev/usb/ehci.c: revision 1.319

ehci(4): Fix cv_timedwait loop in ehci_sync_hc.

Stop when
        now - starttime >= delta,
i.e., when at least delta ticks have elapsed since the start, not
when
        endtime - now > delta,
i.e., more than delta ticks _remain_ to sleep, which is never going
to happen (except on arithmetic overflow).

As is, what will happen in the case that should time out is that we
wake up after delta ticks, and find now = getticks() is exactly
endtime, so we retry cv_timedwait with timo=(endtime - now)=0 which
means sleep indefinitely with no timeout as if with cv_wait.

PR port-i386/57662

ehci(4): Fix bug causing missed wakeups since ehci.c 1.308.

For reasons beyond me now, I used cv_signal on the same cv that is
used to wait for the doorbell to be available _and_ to wait for the
host controller to acknowledge the doorbell.  Which means when the
host controller acknowledges the doorbell, we might wake some thread
waiting for the doorbell to be available -- and leave the thread
waiting for the doorbell acknowledgment hanging indefinitely.

PR port-i386/57662

Revision 1.319 / (download) - annotate - [select for diffs], Sat Oct 28 21:18:31 2023 UTC (5 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation
Changes since 1.318: +4 -4 lines
Diff to previous 1.318 (colored) to selected 1.187 (colored)

ehci(4): Fix bug causing missed wakeups since ehci.c 1.308.

For reasons beyond me now, I used cv_signal on the same cv that is
used to wait for the doorbell to be available _and_ to wait for the
host controller to acknowledge the doorbell.  Which means when the
host controller acknowledges the doorbell, we might wake some thread
waiting for the doorbell to be available -- and leave the thread
waiting for the doorbell acknowledgment hanging indefinitely.

PR port-i386/57662

XXX pullup-10

Revision 1.318 / (download) - annotate - [select for diffs], Sat Oct 28 21:18:15 2023 UTC (5 months ago) by riastradh
Branch: MAIN
Changes since 1.317: +3 -3 lines
Diff to previous 1.317 (colored) to selected 1.187 (colored)

ehci(4): Fix cv_timedwait loop in ehci_sync_hc.

Stop when

	now - starttime >= delta,

i.e., when at least delta ticks have elapsed since the start, not
when

	endtime - now > delta,

i.e., more than delta ticks _remain_ to sleep, which is never going
to happen (except on arithmetic overflow).

As is, what will happen in the case that should time out is that we
wake up after delta ticks, and find now = getticks() is exactly
endtime, so we retry cv_timedwait with timo=(endtime - now)=0 which
means sleep indefinitely with no timeout as if with cv_wait.

PR port-i386/57662

XXX pullup-10

Revision 1.254.8.8 / (download) - annotate - [select for diffs], Wed Aug 2 10:24:16 2023 UTC (7 months, 3 weeks ago) by martin
Branch: netbsd-8
Changes since 1.254.8.7: +7 -4 lines
Diff to previous 1.254.8.7 (colored) to branchpoint 1.254 (colored) next main 1.255 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by skrll in ticket #1877):

	sys/dev/usb/ehci.c: revision 1.317

PR 57518: usb keyboard causes host controller to miss microframe

As per the USB 2.0 specification section 11.18.4; paragraph 3.b
For interrupt IN/OUT full-/low-speed transactions, the host must  schedule a
complete-split transaction in each of the two microframes following the
first microframe in which the full-/low-speed transaction is budgeted. An
additional complete-split must also be scheduled in the third following
microframe unless the full-/low-speed transaction was budgeted to start
in microframe Y6.

Revision 1.267.2.7 / (download) - annotate - [select for diffs], Wed Aug 2 10:22:13 2023 UTC (7 months, 3 weeks ago) by martin
Branch: netbsd-9
Changes since 1.267.2.6: +7 -4 lines
Diff to previous 1.267.2.6 (colored) to branchpoint 1.267 (colored) next main 1.268 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by skrll in ticket #1698):

	sys/dev/usb/ehci.c: revision 1.317

PR 57518: usb keyboard causes host controller to miss microframe

As per the USB 2.0 specification section 11.18.4; paragraph 3.b
For interrupt IN/OUT full-/low-speed transactions, the host must  schedule a
complete-split transaction in each of the two microframes following the
first microframe in which the full-/low-speed transaction is budgeted. An
additional complete-split must also be scheduled in the third following
microframe unless the full-/low-speed transaction was budgeted to start
in microframe Y6.

Revision 1.315.2.1 / (download) - annotate - [select for diffs], Wed Aug 2 10:20:38 2023 UTC (7 months, 3 weeks ago) by martin
Branch: netbsd-10
Changes since 1.315: +7 -4 lines
Diff to previous 1.315 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by skrll in ticket #301):

	sys/dev/usb/ehci.c: revision 1.317

PR 57518: usb keyboard causes host controller to miss microframe

As per the USB 2.0 specification section 11.18.4; paragraph 3.b
For interrupt IN/OUT full-/low-speed transactions, the host must  schedule a
complete-split transaction in each of the two microframes following the
first microframe in which the full-/low-speed transaction is budgeted. An
additional complete-split must also be scheduled in the third following
microframe unless the full-/low-speed transaction was budgeted to start
in microframe Y6.

Revision 1.317 / (download) - annotate - [select for diffs], Sun Jul 30 12:17:02 2023 UTC (7 months, 4 weeks ago) by skrll
Branch: MAIN
Changes since 1.316: +7 -4 lines
Diff to previous 1.316 (colored) to selected 1.187 (colored)

PR//57518: usb keyboard causes host controller to miss microframe

As per the USB 2.0 specification section 11.18.4; paragraph 3.b

For interrupt IN/OUT full-/low-speed transactions, the host must schedule a
complete-split transaction in each of the two microframes following the first
microframe in which the full-/low-speed transaction is budgeted. An additional
complete-split must also be scheduled in the third following microframe unless
the full-/low-speed transaction was budgeted to start in microframe Y6.

Revision 1.316 / (download) - annotate - [select for diffs], Thu Jul 20 20:00:34 2023 UTC (8 months, 1 week ago) by mrg
Branch: MAIN
Changes since 1.315: +8 -3 lines
Diff to previous 1.315 (colored) to selected 1.187 (colored)

various debug updates for some usb drivers

- several new *_DEBUG_DEFAULT options that allow usb debug values to
  be set to a default that is non-zero:
  EHCI_DEBUG_DEFAULT, UGEN_DEBUG_DEFAULT, URTWN_DEBUG_DEFAULT,
  UMS_DEBUG_DEFAULT, and USB_DEBUG_DEFAULT
- ugen debug uses fewer usbhist lines for the same info
- ums.c converted from printf() to usbhist

Revision 1.315 / (download) - annotate - [select for diffs], Tue Dec 13 21:29:04 2022 UTC (15 months, 2 weeks ago) by jakllsch
Branch: MAIN
CVS Tags: netbsd-10-base
Branch point for: netbsd-10
Changes since 1.314: +3 -3 lines
Diff to previous 1.314 (colored) to selected 1.187 (colored)

fix grammar in comment

Revision 1.314 / (download) - annotate - [select for diffs], Tue Dec 13 21:25:10 2022 UTC (15 months, 2 weeks ago) by jakllsch
Branch: MAIN
Changes since 1.313: +3 -4 lines
Diff to previous 1.313 (colored) to selected 1.187 (colored)

ehci_device_isoc_init() returns errno not usbd_error; remove blank line
in ehci_device_fs_isoc_init() to match ehci_device_isoc_init()

Revision 1.313 / (download) - annotate - [select for diffs], Tue Dec 13 21:13:16 2022 UTC (15 months, 2 weeks ago) by jakllsch
Branch: MAIN
Changes since 1.312: +5 -5 lines
Diff to previous 1.312 (colored) to selected 1.187 (colored)

"periodic frame list", not "period frame list" in comments

Revision 1.312 / (download) - annotate - [select for diffs], Tue Dec 13 21:11:00 2022 UTC (15 months, 2 weeks ago) by jakllsch
Branch: MAIN
Changes since 1.311: +3 -3 lines
Diff to previous 1.311 (colored) to selected 1.187 (colored)

Add missing whitespace in error message.

Revision 1.311 / (download) - annotate - [select for diffs], Wed Apr 6 22:01:45 2022 UTC (23 months, 3 weeks ago) by mlelstv
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.310: +1 -8 lines
Diff to previous 1.310 (colored) to selected 1.187 (colored)

revert accidental last commit (except ukbd.c)

Revision 1.310 / (download) - annotate - [select for diffs], Wed Apr 6 21:51:29 2022 UTC (23 months, 3 weeks ago) by mlelstv
Branch: MAIN
Changes since 1.309: +10 -3 lines
Diff to previous 1.309 (colored) to selected 1.187 (colored)

remove debug printf

Revision 1.309 / (download) - annotate - [select for diffs], Sun Mar 13 11:29:21 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.308: +30 -11 lines
Diff to previous 1.308 (colored) to selected 1.187 (colored)

ehci(4): Serialize access to portsc registers.

Both ehci_roothub_ctrl and ehci_suspend/resume do r/m/w on them, so
use a mutex to serialize access to avoid stomping on each other.

Revision 1.308 / (download) - annotate - [select for diffs], Sun Mar 13 11:29:10 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.307: +37 -12 lines
Diff to previous 1.307 (colored) to selected 1.187 (colored)

ehci(4): Fix doorbell synchronization.

ehci_sync_hc was previously subject to spurious wakeup, in which case
the CPU might proceed from aborting and recycle a DMA buffer before
the hardware was done writing to it.  Now the code is not subject to
spurious wakeup -- it waits (up to the 1sec timeout) for the relevant
interrupt to be delivered, not for anything else.

Revision 1.307 / (download) - annotate - [select for diffs], Wed Mar 9 22:18:13 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.306: +2 -10 lines
Diff to previous 1.306 (colored) to selected 1.187 (colored)

ehci(4): Omit bus lock around ehci_suspend/resume.

This no longer serializes access to the portsc registers, also used
by ehci_roothub_ctrl, but it does pose a potential deadlock with
softints to wake usb_delay_ms.  So the bus lock doesn't help here,
and may cause deadlock.

Revision 1.306 / (download) - annotate - [select for diffs], Wed Mar 9 22:17:41 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.305: +9 -3 lines
Diff to previous 1.305 (colored) to selected 1.187 (colored)

usb: Provisionally release bus lock around ubm_rhctrl.

This isn't quite correct, but it avoids a deadlock:

- *_roothub_ctrl holds bus lock, waits in usb_delay_ms for kpause
- softint waits for bus lock, holds up kpause wakeup

The deadlock is new since recent changes to hold the bus lock over
upm_start/upm_transfer.  Making this change regresses to other
problems:

- *_suspend/resume and *_roothub_ctrl often touch the same portsc
   registers

- roothub_ctrl_abort needs to wait for ubm_rhctrl to complete.

  When the bus lock was held across both, a noop served here, but we
  can't hold the bus lock across both, so that doesn't work.

However, these problems -- which we've had for a long time -- seem to
be less bad than the deadlock.  So let's avoid the deadlock for now
and then work out another way to serialize suspend/resume/rhctrl and
aborts.

Candidate fix for PR kern/56739.

Revision 1.305 / (download) - annotate - [select for diffs], Thu Mar 3 06:12:11 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.304: +15 -33 lines
Diff to previous 1.304 (colored) to selected 1.187 (colored)

usb: Hold pipe lock across upm_transfer and upm_start.

This simplifies the code and fixes races with abort.  Access to the
pipe's queue is now done exclusively while the pipe is locked.

Revision 1.304 / (download) - annotate - [select for diffs], Thu Mar 3 06:08:50 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.303: +2 -6 lines
Diff to previous 1.303 (colored) to selected 1.187 (colored)

usb: Factor usb_transfer_complete out of ubm_abortx method.

Revision 1.303 / (download) - annotate - [select for diffs], Thu Mar 3 06:04:31 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.302: +3 -58 lines
Diff to previous 1.302 (colored) to selected 1.187 (colored)

usb: Factor usb_insert_transfer out of upm_transfer and make private.

Almost every upm_transfer function starts with:

	mutex_enter(&sc->sc_lock);
	err = usb_insert_transfer(xfer);
	mutex_exit(&sc->sc_lock);
	if (err)
		return err;

Some of them have debug messages sprinkled in here too, or assert
that err == USBD_NORMAL_COMPLETION (alternative is USBD_IN_PROGRESS,
only for pipes with up_running or up_serialise, presumably not
applicable for these types of pipes).  Some of them also assert
xfer->ux_status == USBD_NOT_STARTED, which is guaranteed on entry and
preserved by usb_insert_transer.

Exceptions:

- arch/mips/adm5120/dev/ahci.c ahci_device_isoc_transfer just returns
  USBD_NORMAL_COMPLETION, but I'm pretty sure this is and always has
  been broken anyway, so won't make anything worse (if anything, might
  make it better...)

- external/bsd/dwc2/dwc2.c dwc2_device_bulk_transfer and
  dwc2_device_isoc_transfer _also_ issue dwc2_device_start(xfer)
  under the lock.  This is probably a better way to do it, but let's
  do it uniformly across all HCIs at once.

- rump/dev/lib/libugenhc/ugenhc.c rumpusb_device_bulk_transfer
  sometimes returns USBD_IN_PROGRESS _without_ queueing the transfer,
  in the !rump_threads case.  Not really sure how this is supposed to
  work...  If it actually breaks anything, we can figure it out.

Revision 1.302 / (download) - annotate - [select for diffs], Sat Feb 12 15:55:04 2022 UTC (2 years, 1 month ago) by macallan
Branch: MAIN
Changes since 1.301: +3 -3 lines
Diff to previous 1.301 (colored) to selected 1.187 (colored)

initialize ntag with the old dmatag so we never end up with an invalid one
suggested by jmcneill@

Revision 1.301 / (download) - annotate - [select for diffs], Wed Jan 26 16:49:06 2022 UTC (2 years, 2 months ago) by macallan
Branch: MAIN
Changes since 1.300: +3 -3 lines
Diff to previous 1.300 (colored) to selected 1.187 (colored)

shut up an unused variable warning
apparently clang gets confused by bus_dmatag_subregion() being EOPNOTSUPP
on powerpc

Revision 1.300 / (download) - annotate - [select for diffs], Thu Dec 30 04:19:23 2021 UTC (2 years, 2 months ago) by mrg
Branch: MAIN
Changes since 1.299: +4 -3 lines
Diff to previous 1.299 (colored) to selected 1.187 (colored)

convert the ehci device owner ship change message to display the ehciN as well.

Revision 1.299 / (download) - annotate - [select for diffs], Fri Dec 24 22:56:55 2021 UTC (2 years, 3 months ago) by nia
Branch: MAIN
Changes since 1.298: +8 -4 lines
Diff to previous 1.298 (colored) to selected 1.187 (colored)

ehci(4): fix PR kern/56574: uaudio at ehci (not xhci) only outputs
rapid gunfire (patch from nick)

Revision 1.298 / (download) - annotate - [select for diffs], Thu Dec 23 11:03:48 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.297: +19 -11 lines
Diff to previous 1.297 (colored) to selected 1.187 (colored)

Use the correct dmatag for all control structures. Also, don't KASSERT that
we're using the low 4GB for them and simply error out.

kern/56570: ehci panic on boot

Revision 1.297 / (download) - annotate - [select for diffs], Wed Dec 22 21:45:02 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.296: +61 -18 lines
Diff to previous 1.296 (colored) to selected 1.187 (colored)

Three fixes

- pass the 64bit DMA tag if the HCCPARAMS says ehci supports it and the
  64bit DMA tag is available/valid.  This should help with the
  "cannot create xfer" error on 64bit systems.

- restrict the control structure memory allocation to the low 4GB
  (CTRLDSSEGMENT was always set to zero anyway)

- if ehci_init fails then tidyup before returning the error.

Revision 1.296 / (download) - annotate - [select for diffs], Wed Dec 22 21:36:40 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.295: +4 -4 lines
Diff to previous 1.295 (colored) to selected 1.187 (colored)

Whitespace

Revision 1.295 / (download) - annotate - [select for diffs], Tue Dec 21 10:16:05 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.294: +2 -3 lines
Diff to previous 1.294 (colored) to selected 1.187 (colored)

Remove an empty line

Revision 1.294 / (download) - annotate - [select for diffs], Tue Dec 21 10:14:43 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.293: +5 -4 lines
Diff to previous 1.293 (colored) to selected 1.187 (colored)

Wrap a long line

Revision 1.293 / (download) - annotate - [select for diffs], Tue Dec 21 09:51:22 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.292: +11 -10 lines
Diff to previous 1.292 (colored) to selected 1.187 (colored)

Change the usb_mem API to take a bus_dma_tag_t in usb_allocmem instead of
a struct usbd_bus *.

This allows an HCD to use more than one tag.

Revision 1.292 / (download) - annotate - [select for diffs], Tue Dec 21 08:49:03 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.291: +38 -21 lines
Diff to previous 1.291 (colored) to selected 1.187 (colored)

KASSERT(BUS_ADDR_HI32(baddr) == 0) in, and apply some consistent code
style to all of ehci_alloc_{sqh,sqtd,itd,sitd}.

While ehci can address memory >4GB for control structures
EHCI_CTRLDSSEGMENT is always set to zero so ehci assumes it's using the
low 4GB.

Revision 1.291 / (download) - annotate - [select for diffs], Sat Dec 18 14:48:14 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.290: +5 -6 lines
Diff to previous 1.290 (colored) to selected 1.187 (colored)

Fix two bugs

i)  EHCI_HCSPARAMS should be read with EREAD4 (and not EOREAD4). Spotted by
    jmcneill

ii) Apply brackets so that ?: vs | operator precedence doesn't give the
    wrong result.

Revision 1.290 / (download) - annotate - [select for diffs], Tue Dec 7 08:04:10 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.289: +16 -16 lines
Diff to previous 1.289 (colored) to selected 1.187 (colored)

Match variable names to register names. Same binary before and after.

Revision 1.289 / (download) - annotate - [select for diffs], Tue Dec 7 07:58:20 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.288: +3 -3 lines
Diff to previous 1.288 (colored) to selected 1.187 (colored)

More usb_status_t -> int

Revision 1.288 / (download) - annotate - [select for diffs], Tue Dec 7 07:54:32 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.287: +23 -24 lines
Diff to previous 1.287 (colored) to selected 1.187 (colored)

Code consistency.  NFCI.

Revision 1.267.2.6 / (download) - annotate - [select for diffs], Mon Dec 6 19:28:57 2021 UTC (2 years, 3 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE
Changes since 1.267.2.5: +8 -12 lines
Diff to previous 1.267.2.5 (colored) to branchpoint 1.267 (colored) to selected 1.187 (colored)

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

	sys/dev/usb/ehci.c: revision 1.287

ehci: Replace bogus polling during suspend by taking bus lock.

The system is not at high IPL or limited to a single CPU at this
point; it is running essentially normally, just with some devices
suspended.  Other threads might be trying to touch EHCI registers,
which might have bad outcomes while we're suspending stuff.  Enabling
polling only makes sense if there is a single thread and single CPU
running, such as when we enter ddb on crash.

Revision 1.287 / (download) - annotate - [select for diffs], Sun Dec 5 11:05:37 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.286: +8 -12 lines
Diff to previous 1.286 (colored) to selected 1.187 (colored)

ehci: Replace bogus polling during suspend by taking bus lock.

The system is not at high IPL or limited to a single CPU at this
point; it is running essentially normally, just with some devices
suspended.  Other threads might be trying to touch EHCI registers,
which might have bad outcomes while we're suspending stuff.  Enabling
polling only makes sense if there is a single thread and single CPU
running, such as when we enter ddb on crash.

Revision 1.267.2.5 / (download) - annotate - [select for diffs], Fri Sep 3 10:25:36 2021 UTC (2 years, 6 months ago) by martin
Branch: netbsd-9
Changes since 1.267.2.4: +4 -4 lines
Diff to previous 1.267.2.4 (colored) to branchpoint 1.267 (colored) to selected 1.187 (colored)

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

	sys/dev/usb/ehci.c: revision 1.286

add missing newline and fix conditional for askroot/single user
hand over delay message.  PR#56366.

Revision 1.286 / (download) - annotate - [select for diffs], Tue Aug 31 08:22:28 2021 UTC (2 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.285: +4 -4 lines
Diff to previous 1.285 (colored) to selected 1.187 (colored)

add missing newline and fix conditional for askroot/single user
hand over delay message.  PR#56366.

Revision 1.282.2.3 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:50 2021 UTC (2 years, 11 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.282.2.2: +8 -11 lines
Diff to previous 1.282.2.2 (colored) next main 1.283 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.285 / (download) - annotate - [select for diffs], Tue Jan 5 18:00:21 2021 UTC (3 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.284: +8 -11 lines
Diff to previous 1.284 (colored) to selected 1.187 (colored)

More converstion from usbd_status to int for function error reporting.
This time it's the turn of usb_allocmem.

Revision 1.282.2.2 / (download) - annotate - [select for diffs], Sun Jan 3 16:35:02 2021 UTC (3 years, 2 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.282.2.1: +2 -3 lines
Diff to previous 1.282.2.1 (colored) to selected 1.187 (colored)

Sync w/ HEAD.

Revision 1.267.2.4 / (download) - annotate - [select for diffs], Wed Dec 23 12:34:38 2020 UTC (3 years, 3 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-2-RELEASE
Changes since 1.267.2.3: +2 -3 lines
Diff to previous 1.267.2.3 (colored) to branchpoint 1.267 (colored) to selected 1.187 (colored)

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

	sys/dev/usb/ohci.c: revision 1.314
	sys/external/bsd/dwc2/dwc2.c: revision 1.75
	sys/dev/usb/ehci.c: revision 1.284
	sys/dev/usb/uhci.c: revision 1.305
	sys/dev/usb/xhci.c: revision 1.136

usb: Omit bogus assertions about struct usbd_pipe::up_intrxfer.

These assertions were only valid for pipes at UE_IN_DIR, UE_INTERRUPT
endpoints created with usbd_open_pipe_intr, which uses up_intrxfer to
pass the struct usbd_xfer object to usbd_close_pipe to free later.

In contrast, for pipes at UE_OUT_DIR, UE_INTERRUPT endpoints,
up_intrxfer is never initialized, so the assertion cannot be right.
In principle we might even have more than one outstanding interrupt
transfer at a time, rendering the point of the assertion moot anyway.

Found by interrupting a uhidev write to a u2f device.

ok nick

Revision 1.284 / (download) - annotate - [select for diffs], Tue Dec 22 01:07:23 2020 UTC (3 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.283: +2 -3 lines
Diff to previous 1.283 (colored) to selected 1.187 (colored)

usb: Omit bogus assertions about struct usbd_pipe::up_intrxfer.

These assertions were only valid for pipes at UE_IN_DIR, UE_INTERRUPT
endpoints created with usbd_open_pipe_intr, which uses up_intrxfer to
pass the struct usbd_xfer object to usbd_close_pipe to free later.

In contrast, for pipes at UE_OUT_DIR, UE_INTERRUPT endpoints,
up_intrxfer is never initialized, so the assertion cannot be right.
In principle we might even have more than one outstanding interrupt
transfer at a time, rendering the point of the assertion moot anyway.

Found by interrupting a uhidev write to a u2f device.

ok nick

Revision 1.282.2.1 / (download) - annotate - [select for diffs], Mon Dec 14 14:38:09 2020 UTC (3 years, 3 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.282: +3 -3 lines
Diff to previous 1.282 (colored) to selected 1.187 (colored)

Sync w/ HEAD.

Revision 1.283 / (download) - annotate - [select for diffs], Mon Nov 30 05:33:32 2020 UTC (3 years, 3 months ago) by msaitoh
Branch: MAIN
Changes since 1.282: +3 -3 lines
Diff to previous 1.282 (colored) to selected 1.187 (colored)

s/ we we / we /

Revision 1.282 / (download) - annotate - [select for diffs], Sun Sep 20 09:08:01 2020 UTC (3 years, 6 months ago) by gson
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.281: +3 -3 lines
Diff to previous 1.281 (colored) to selected 1.187 (colored)

Talk Like a Pirate Day was yesterday.

Revision 1.281 / (download) - annotate - [select for diffs], Sun May 17 08:38:37 2020 UTC (3 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.280: +5 -4 lines
Diff to previous 1.280 (colored) to selected 1.187 (colored)

Copyright maintenance

Revision 1.280 / (download) - annotate - [select for diffs], Sun May 17 08:35:15 2020 UTC (3 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.279: +14 -11 lines
Diff to previous 1.279 (colored) to selected 1.187 (colored)

Use BUS_ADDR_{LO,HI}32.  NFCI.

Revision 1.279 / (download) - annotate - [select for diffs], Fri May 15 06:15:42 2020 UTC (3 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.278: +8 -12 lines
Diff to previous 1.278 (colored) to selected 1.187 (colored)

Update ux_length in usbd_setup_isoc_xfer and use this to usb_syncmem
in the HCDs

Revision 1.259.2.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:49 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.259.2.2: +12 -22 lines
Diff to previous 1.259.2.2 (colored) to branchpoint 1.259 (colored) next main 1.260 (colored) to selected 1.187 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.259.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:13 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.259.2.1: +100 -157 lines
Diff to previous 1.259.2.1 (colored) to branchpoint 1.259 (colored) to selected 1.187 (colored)

Merge changes from current as of 20200406

Revision 1.278 / (download) - annotate - [select for diffs], Sun Apr 5 20:59:38 2020 UTC (3 years, 11 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Changes since 1.277: +10 -8 lines
Diff to previous 1.277 (colored) to selected 1.187 (colored)

Switch USB to use non-coherent buffers for data transfers in the
same way as OpenBSD.

The use of coherent (uncacheable on ARM and other arches) mappings
for transfer buffers impacts performance, espcially where memcpys
are involved.

Audit the necessary usb_syncmem operations - a few were missing.

Revision 1.277 / (download) - annotate - [select for diffs], Sat Mar 14 02:35:33 2020 UTC (4 years ago) by christos
Branch: MAIN
Changes since 1.276: +35 -35 lines
Diff to previous 1.276 (colored) to selected 1.187 (colored)

revert the 0x% -> %# change for fixed width formats pointed out by uwe.

Revision 1.276 / (download) - annotate - [select for diffs], Fri Mar 13 18:17:40 2020 UTC (4 years ago) by christos
Branch: MAIN
Changes since 1.275: +36 -36 lines
Diff to previous 1.275 (colored) to selected 1.187 (colored)

PR/55068: sc.dying: Fix printf formats:
- no %s/%p for kernel log
- 0x% -> %#
- always %j for kernel log

Revision 1.275 / (download) - annotate - [select for diffs], Thu Mar 5 08:35:16 2020 UTC (4 years ago) by skrll
Branch: MAIN
Changes since 1.274: +6 -6 lines
Diff to previous 1.274 (colored) to selected 1.187 (colored)

Use howmany.  NFC.

Revision 1.267.2.3 / (download) - annotate - [select for diffs], Sun Mar 1 12:35:16 2020 UTC (4 years ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-1-RELEASE
Changes since 1.267.2.2: +54 -125 lines
Diff to previous 1.267.2.2 (colored) to branchpoint 1.267 (colored) to selected 1.187 (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.268.2.1 / (download) - annotate - [select for diffs], Sat Feb 29 20:19:16 2020 UTC (4 years ago) by ad
Branch: ad-namecache
Changes since 1.268: +86 -145 lines
Diff to previous 1.268 (colored) next main 1.269 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.254.8.7 / (download) - annotate - [select for diffs], Tue Feb 25 18:52:44 2020 UTC (4 years, 1 month ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE
Changes since 1.254.8.6: +5 -3 lines
Diff to previous 1.254.8.6 (colored) to branchpoint 1.254 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by skrll in ticket #1507):

	sys/dev/usb/ohci.c: revision 1.296
	sys/dev/usb/uhci.c: revision 1.294
	sys/external/bsd/dwc2/dwc2.c: revision 1.72
	sys/arch/mips/adm5120/dev/ahci.c: revision 1.21
	sys/dev/usb/ehci.c: revision 1.274

Fix a memory leak.  Spotted by nat@

Revision 1.267.2.2 / (download) - annotate - [select for diffs], Tue Feb 25 18:50:29 2020 UTC (4 years, 1 month ago) by martin
Branch: netbsd-9
Changes since 1.267.2.1: +5 -3 lines
Diff to previous 1.267.2.1 (colored) to branchpoint 1.267 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by skrll in ticket #718):

	sys/dev/usb/ohci.c: revision 1.296
	sys/dev/usb/uhci.c: revision 1.294
	sys/external/bsd/dwc2/dwc2.c: revision 1.72
	sys/arch/mips/adm5120/dev/ahci.c: revision 1.21
	sys/dev/usb/ehci.c: revision 1.274

Fix a memory leak.  Spotted by nat@

Revision 1.274 / (download) - annotate - [select for diffs], Fri Feb 21 12:41:29 2020 UTC (4 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3
Changes since 1.273: +5 -3 lines
Diff to previous 1.273 (colored) to selected 1.187 (colored)

Fix a memory leak.  Spotted by nat@

Revision 1.273 / (download) - annotate - [select for diffs], Sat Feb 15 01:21:56 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.272: +5 -4 lines
Diff to previous 1.272 (colored) to selected 1.187 (colored)

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!)

Revision 1.272 / (download) - annotate - [select for diffs], Wed Feb 12 16:02:01 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.271: +28 -6 lines
Diff to previous 1.271 (colored) to selected 1.187 (colored)

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.

Revision 1.271 / (download) - annotate - [select for diffs], Wed Feb 12 16:01:00 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.270: +28 -365 lines
Diff to previous 1.270 (colored) to selected 1.187 (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.270 / (download) - annotate - [select for diffs], Wed Feb 12 16:00:34 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.269: +287 -44 lines
Diff to previous 1.269 (colored) to selected 1.187 (colored)

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.

Revision 1.267.2.1 / (download) - annotate - [select for diffs], Mon Feb 10 18:50:29 2020 UTC (4 years, 1 month ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-0-RELEASE
Changes since 1.267: +31 -21 lines
Diff to previous 1.267 (colored) to selected 1.187 (colored)

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

	sys/dev/usb/ehci.c: revision 1.269

don't call usb_syncmem() for zero-length packets.

Revision 1.269 / (download) - annotate - [select for diffs], Tue Feb 4 06:30:46 2020 UTC (4 years, 1 month ago) by mrg
Branch: MAIN
Changes since 1.268: +31 -21 lines
Diff to previous 1.268 (colored) to selected 1.187 (colored)

don't call usb_syncmem() for zero-length packets.

Revision 1.268 / (download) - annotate - [select for diffs], Tue Dec 31 18:11:18 2019 UTC (4 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: ad-namecache-base2, ad-namecache-base1, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.267: +3 -3 lines
Diff to previous 1.267 (colored) to selected 1.187 (colored)

Remove a stray '

Revision 1.267 / (download) - annotate - [select for diffs], Thu Jun 13 17:20:25 2019 UTC (4 years, 9 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20191119, netbsd-9-base, netbsd-9-0-RC2, netbsd-9-0-RC1
Branch point for: netbsd-9
Changes since 1.266: +14 -24 lines
Diff to previous 1.266 (colored) to selected 1.187 (colored)

Random style in ehci, also KM_SLEEP does not fail.

Revision 1.259.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:07:33 2019 UTC (4 years, 9 months ago) by christos
Branch: phil-wifi
Changes since 1.259: +252 -147 lines
Diff to previous 1.259 (colored) to selected 1.187 (colored)

Sync with HEAD

Revision 1.266 / (download) - annotate - [select for diffs], Sun Feb 17 04:17:52 2019 UTC (5 years, 1 month ago) by rin
Branch: MAIN
CVS Tags: phil-wifi-20190609, isaki-audio2-base, isaki-audio2
Changes since 1.265: +6 -5 lines
Diff to previous 1.265 (colored) to selected 1.187 (colored)

Fix assertion failures triggered by usbdi.c,v 1.182, when devices
are detached.

This is because xfers of USBD_NOT_STARTED can be removed from queue
in an invisible way to host controller drivers.

Discussed on tech-kern.

Revision 1.257.2.4 / (download) - annotate - [select for diffs], Sun Sep 30 01:45:51 2018 UTC (5 years, 5 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.257.2.3: +121 -19 lines
Diff to previous 1.257.2.3 (colored) to branchpoint 1.257 (colored) next main 1.258 (colored) to selected 1.187 (colored)

Ssync with HEAD

Revision 1.254.8.6 / (download) - annotate - [select for diffs], Fri Sep 28 08:33:43 2018 UTC (5 years, 6 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.254.8.5: +100 -10 lines
Diff to previous 1.254.8.5 (colored) to branchpoint 1.254 (colored) to selected 1.187 (colored)

Fixup for ticket #1037 - parts of the patch were accidently missing.

Revision 1.254.8.5 / (download) - annotate - [select for diffs], Thu Sep 27 14:52:26 2018 UTC (5 years, 6 months ago) by martin
Branch: netbsd-8
Changes since 1.254.8.4: +22 -10 lines
Diff to previous 1.254.8.4 (colored) to branchpoint 1.254 (colored) to selected 1.187 (colored)

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

	sys/dev/usb/uhub.c: revision 1.139
	sys/external/bsd/dwc2/dwc2.c: revision 1.55
	sys/ddb/db_output.c: revision 1.34
	sys/ddb/db_command.c: revision 1.160
	sys/dev/usb/ehci.c: revision 1.264
	sys/dev/usb/xhci.c: revision 1.99
	sys/dev/usb/ehci.c: revision 1.265
	sys/kern/subr_userconf.c: revision 1.27
	sys/dev/usb/ehcivar.h: revision 1.46
	sys/dev/usb/ohci.c: revision 1.287
	sys/dev/usb/uhci.c: revision 1.284
	sys/dev/usb/usbdi.c: revision 1.178
	sys/dev/usb/usb.c: revision 1.172
	sys/dev/pci/xhci_pci.c: revision 1.14
	sys/dev/usb/usb.c: revision 1.173
	sys/dev/usb/usb.c: revision 1.174
	share/man/man4/usb.4: revision 1.110
	sys/ddb/db_command.c: revision 1.159
	sys/dev/usb/usb_subr.c: revision 1.227
	sys/dev/usb/uhcivar.h: revision 1.56
	(all via patch)

consolidate the handling of polling across HC drivers, and generic USB:
- don't take mutexes if polling
- normalise the code across all drivers
- add some not yet code to block discovery to/from polling
- minor CSE
- adjust comment for usbd_set_polling() to reality now i properly
  understand what it is used for and why.

this, with a hack to make RB_ASKNAME to wait 5 seconds allows boot -a
work with USB keyboards.  there are still multiple issues remaining:
- discovery and polling need to be mutually exclusive
- attachment of ukbd and wskbd is not handled by config_pending, and
  the 5 second delay isn't going to always be enough.

call cnpollc(1) and cnpollc(0) around cngetc().
(christos has a good idea to add a function that does all 3,
and we should switch all the callers in this sequence to use
it (and fix the MD ones missing it still).  not all can, as
eg, line-grabbing functions can use cngetsn(), which only
calls cnpollc() twice.)


When this file is used when not building the kernel (eg: /usr/sbin/crash)
make cnpollc() go away.


reorder some struct members to remove holes.


add config_pending usage to uhub and general USB device attachment.
- call config_pending_incr() and config_pending_decr() around attaching
  devices against "usbdevif" attribute.

uhub:
- convert sc_explorepending and sc_running to bool.  add new sc_first_explore.
- call config_pending_incr() at the start of uhub_attach().  dropped in
  uhub_explore(), if this is the first explore.


implement a gross hack to fix "boot -a" on systems with usb keyboards on
systems with ehci handover to uhci (and maybe ohci), and fix a similar
problem for "boot -s".

there is effort to ensure that all devices attached via USB are probed
before RB_ASKNAME or RB_SINGLE attempts to ask any questions on the console,
and largely this works, often by chance, today, for USB disks and root.
i've recently pushed this more into uhub and general USB device attachment
as well, and kept a config_pending reference across the first explore of
a bus.  these fix many issues with directly attached hubs.

however, on systems where devices connected to ehci ports are handed over
to a companion uhci or ohci port, it may not be the first, or even second,
bus explore that finds the device finally before attachment, and at this
point all config_pending references are dropped.

there is no direct communication between drivers, the potentials are
looked up but their device_t is only used for generic things like the name,
so informing the correct companion to expect a device and deal with the
config_pending references is not possible without some fairly ugly layer
violations or multi-level callbacks (eg, we have "ehci0", and usually an
the relevant companion, eg, "uhci2", but it is the uhub that uhci2 has
attached that will deal with the device attachment.)

with the above fixes to generic USB code, the disown happens during the
first explore.  the hack works by, at this point, checking if (a) root
is not mounted, (b) single user or ask name are set, and (c) if the hack
as not been triggered already.  if all 3 conditions are true, then a
config_pending_incr() is called and a callback is triggered for (default)
5 seconds to call config_pending_decr().  ehci detach pauses waiting for
this callback if scheduled.

this allows enough time for the uhub and the ukbd/wskbd to attach before
the RK_ASKROOT prompts appear.  testing shows it takes between 1.5 and
2 seconds for the keyboard to appear after the disown occurs.

Index: dev/usb/ehcivar.c
- new sc_compcallout, sc_compcallout, sc_complock, and a state for th
  handover hack.

Index: dev/usb/ehci.c
ehci_init():
- use aprint_normal_dev() instead of manual device_xname().
- initialise sc_compcallout, sc_compcallout, sc_complock, and sc_comp_state.
ehci_detach():
- if there are companion controllers, tear own the above, including waiting
  if there is a callback scheduled.
ehci_disown_callback():
- new callout to call config_pending_decr() in the the future.
  schedule this ca
ehci_disown_sched_callback():
- if booting to single user or asking names, call config_pending_incr() and
  schedule the callout above, default 5 second delay.
ehci_disown():
- if disowning a port call ehci_disown_sched_callback().
deal with partial attach failures in usb_attach vs usb_detach aka PR 53598.
- make sure xhci's sc->sc_ios is NULL if failure happens.
- rearrange usb_attach() / usb_doattach() to make it simpler to clean up.
- move usb_async_intr softint into usb_once_init().  previously, each USB
  controller would start a new one, and leave the old one leaked.
- handle controller interrupts without a bus attached


remove usb(4)'s "flags 1" code.  it has been dead for a while,
as it runs during the interrupts part of configuration now,
and all the devices try attach as early as possible, including
any root or boot required disk or keyboard device, which is
what this flag was for.

Revision 1.265 / (download) - annotate - [select for diffs], Tue Sep 18 02:00:06 2018 UTC (5 years, 6 months ago) by mrg
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930
Changes since 1.264: +100 -10 lines
Diff to previous 1.264 (colored) to selected 1.187 (colored)

implement a gross hack to fix "boot -a" on systems with usb keyboards on
systems with ehci handover to uhci (and maybe ohci), and fix a similar
problem for "boot -s".

there is effort to ensure that all devices attached via USB are probed
before RB_ASKNAME or RB_SINGLE attempts to ask any questions on the console,
and largely this works, often by chance, today, for USB disks and root.
i've recently pushed this more into uhub and general USB device attachment
as well, and kept a config_pending reference across the first explore of
a bus.  these fix many issues with directly attached hubs.

however, on systems where devices connected to ehci ports are handed over
to a companion uhci or ohci port, it may not be the first, or even second,
bus explore that finds the device finally before attachment, and at this
point all config_pending references are dropped.

there is no direct communication between drivers, the potentials are
looked up but their device_t is only used for generic things like the name,
so informing the correct companion to expect a device and deal with the
config_pending references is not possible without some fairly ugly layer
violations or multi-level callbacks (eg, we have "ehci0", and usually an
the relevant companion, eg, "uhci2", but it is the uhub that uhci2 has
attached that will deal with the device attachment.)

with the above fixes to generic USB code, the disown happens during the
first explore.  the hack works by, at this point, checking if (a) root
is not mounted, (b) single user or ask name are set, and (c) if the hack
as not been triggered already.  if all 3 conditions are true, then a
config_pending_incr() is called and a callback is triggered for (default)
5 seconds to call config_pending_decr().  ehci detach pauses waiting for
this callback if scheduled.

this allows enough time for the uhub and the ukbd/wskbd to attach before
the RK_ASKROOT prompts appear.  testing shows it takes between 1.5 and
2 seconds for the keyboard to appear after the disown occurs.


Index: dev/usb/ehcivar.c
- new sc_compcallout, sc_compcallout, sc_complock, and a state for th
  handover hack.

Index: dev/usb/ehci.c
ehci_init():
- use aprint_normal_dev() instead of manual device_xname().
- initialise sc_compcallout, sc_compcallout, sc_complock, and sc_comp_state.
ehci_detach():
- if there are companion controllers, tear own the above, including waiting
  if there is a callback scheduled.
ehci_disown_callback():
- new callout to call config_pending_decr() in the the future.
  schedule this ca
ehci_disown_sched_callback():
- if booting to single user or asking names, call config_pending_incr() and
  schedule the callout above, default 5 second delay.
ehci_disown():
- if disowning a port call ehci_disown_sched_callback().

Revision 1.264 / (download) - annotate - [select for diffs], Sun Sep 16 20:21:56 2018 UTC (5 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.263: +22 -10 lines
Diff to previous 1.263 (colored) to selected 1.187 (colored)

consolidate the handling of polling across HC drivers, and generic USB:
- don't take mutexes if polling
- normalise the code across all drivers
- add some not yet code to block discovery to/from polling
- minor CSE
- adjust comment for usbd_set_polling() to reality now i properly
  understand what it is used for and why.

this, with a hack to make RB_ASKNAME to wait 5 seconds allows boot -a
work with USB keyboards.  there are still multiple issues remaining:
- discovery and polling need to be mutually exclusive
- attachment of ukbd and wskbd is not handled by config_pending, and
  the 5 second delay isn't going to always be enough.

Revision 1.263 / (download) - annotate - [select for diffs], Sun Sep 16 09:25:47 2018 UTC (5 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.262: +3 -3 lines
Diff to previous 1.262 (colored) to selected 1.187 (colored)

interrupt has two 'r's

fix another typo while I'm here (flsah)

Revision 1.257.2.3 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:04 2018 UTC (5 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.257.2.2: +129 -127 lines
Diff to previous 1.257.2.2 (colored) to branchpoint 1.257 (colored) to selected 1.187 (colored)

Sync with HEAD

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

Revision 1.262 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:33 2018 UTC (5 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-compat-0906
Changes since 1.261: +9 -9 lines
Diff to previous 1.261 (colored) to selected 1.187 (colored)

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int.  The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER!  Some subsystems have

	#define min(a, b)	((a) < (b) ? (a) : (b))
	#define max(a, b)	((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX.  Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate.  But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all.  (Who knows, maybe in some cases integer
truncation is actually intended!)

Revision 1.228.2.3 / (download) - annotate - [select for diffs], Sat Aug 25 14:57:35 2018 UTC (5 years, 7 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE
Changes since 1.228.2.2: +123 -120 lines
Diff to previous 1.228.2.2 (colored) to branchpoint 1.228 (colored) next main 1.229 (colored) to selected 1.187 (colored)

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

	sys/dev/usb/usbdivar.h: revision 1.117
	sys/external/bsd/dwc2/dwc2.c: revision 1.52
	sys/dev/usb/xhcivar.h: revision 1.10
	sys/dev/usb/motg.c: revision 1.22
	sys/dev/usb/ehci.c: revision 1.260
	sys/dev/usb/ehci.c: revision 1.261
	sys/dev/usb/xhci.c: revision 1.96
	sys/dev/usb/ohci.c: revision 1.282
	sys/dev/usb/ohci.c: revision 1.283
	sys/dev/usb/ehcivar.h: revision 1.45
	sys/dev/usb/uhci.c: revision 1.281
	sys/dev/usb/uhci.c: revision 1.282
	sys/dev/usb/usbdi.c: revision 1.177
	sys/dev/usb/ohcivar.h: revision 1.60
	sys/dev/usb/uhcivar.h: revision 1.55
	(all via patch)

pull across abort fixes from nick-nhusb.  add more abort fixes, using
ideas from Taylor and Nick, and myself.  special thanks to both who
inspired much of the code here, if not wrote it directly.

among other problems, this assert should no longer trigger:

   panic: kernel diagnostic assertion "xfer->ux_state == XFER_ONQU" failed: file "/current/src/sys/dev/usb/usbdi.c", line 914

using usbhist i was able to track down my instance of it being related
to userland close() beginning, dropping the sc_lock, and then the usb
softintr completes the transfer normally, and when it is done, the
abort path attempts to re-complete the transfer, and the above assert
is tripped.

changes from nhusb were commited with these logs:
--
Move the struct usb_task to struct usbd_xfer for everyone to use.
--
Set device transfer status to USBD_IN_PROGRESS if start methods succeeds
--
Actually set the transfer status on transfers in ohci_abort_xfer and
the controller is dying
--
Don't supply the lock to callout_halt when polling as it won't be held
--
Improve transfer abort
--
Mark device transfers as USBD_IN_PROGRESS appropriately and improve
abort handling
--
--
Mark device transfers as USBD_IN_PROGRESS appropriately and improve
abort handling
--

additional changes include:
- initialise the usb abort task in the HCI allocx routine, so that it
  can be safely usb_rem_task()'d.
- rework the handling of softintr vs cancellation vs timeout abort based
  upon a scheme from Taylor:
  when completing a transfer normally:
  - if the status is not in progress, it must be cancelled or timed out,
    and we should not process this xfer.
  - set the status as normal.
  - unconditionallly callout_stop() and usb_rem_task().  they're safe and
    either aren't running, or will run and do nothing.
  - finally call usb_transfer_complete().
  when aborting a transfer:
  - status should be cancelled or timed out.
  - if cancelling, callout_halt and usb_rem_task_wait() to make sure the
    timer is either done or cancelled.
  - at this point, the ux_status must not be cancelled or timed out, and
    if it is not in progress we're done.
  - set the status.
  - if the controller is dying, just return.
  - perform HCI-specific tasks to abort this xfer.
  - finally call usb_transfer_complete().
  for the timeout and timeout task:
  - if the HCI is not dying, and the ux_status is in progress, then
    trigger the usb abort task.
- remove UXFER_ABORTWAIT and UXFER_ABORTING.

tested on:
- multiple PC systems with several types of devices: ugen/UPS, ucom,
  umass with disk, ssd and cdrom backends, kbd, ms, using uhci, ehci
  and xhci.
- erlite3: sd@umass on dwc2.
- sunblade2000: kbd/ms and umass disk on ohci.

untested:
- motg, slhci and ahci.  motg has some portion of the new scheme
  applied, but slhci and ahci require more study.

future work includes pushing a lot of the common abort handling into
usbdi.c and leaving upm_abort() for HC specific tasks, but this change
is pullup-able to netbsd-7 and netbsd-8 as it does not change any
external API, as well as removing over 100 lines of code while adding
over 30 new asserts.

XXX: pullup-7, pullup-8.

fix DIAGNOSTIC build by not copying ub_usepolling to stack before use

Sprinkle __diagused

Revision 1.254.8.4 / (download) - annotate - [select for diffs], Sat Aug 25 11:29:52 2018 UTC (5 years, 7 months ago) by martin
Branch: netbsd-8
Changes since 1.254.8.3: +122 -120 lines
Diff to previous 1.254.8.3 (colored) to branchpoint 1.254 (colored) to selected 1.187 (colored)

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

	sys/dev/usb/usbdivar.h: revision 1.117
	sys/external/bsd/dwc2/dwc2.c: revision 1.52
	sys/dev/usb/xhcivar.h: revision 1.10
	sys/dev/usb/motg.c: revision 1.22
	sys/dev/usb/ehci.c: revision 1.260
	sys/dev/usb/ehci.c: revision 1.261
	sys/dev/usb/xhci.c: revision 1.96
	sys/dev/usb/ohci.c: revision 1.282
	sys/dev/usb/ohci.c: revision 1.283
	sys/dev/usb/ehcivar.h: revision 1.45
	sys/dev/usb/uhci.c: revision 1.281
	sys/dev/usb/uhci.c: revision 1.282
	sys/dev/usb/usbdi.c: revision 1.177
	sys/dev/usb/ohcivar.h: revision 1.60
	sys/dev/usb/uhcivar.h: revision 1.55
	(all via patch)

pull across abort fixes from nick-nhusb.  add more abort fixes, using
ideas from Taylor and Nick, and myself.  special thanks to both who
inspired much of the code here, if not wrote it directly.
among other problems, this assert should no longer trigger:

   panic: kernel diagnostic assertion "xfer->ux_state == XFER_ONQU" failed: file "/current/src/sys/dev/usb/usbdi.c", line 914

using usbhist i was able to track down my instance of it being related
to userland close() beginning, dropping the sc_lock, and then the usb
softintr completes the transfer normally, and when it is done, the
abort path attempts to re-complete the transfer, and the above assert
is tripped.

changes from nhusb were commited with these logs:
--
Move the struct usb_task to struct usbd_xfer for everyone to use.
--
Set device transfer status to USBD_IN_PROGRESS if start methods succeeds
--
Actually set the transfer status on transfers in ohci_abort_xfer and
the controller is dying
--
Don't supply the lock to callout_halt when polling as it won't be held
--
Improve transfer abort
--
Mark device transfers as USBD_IN_PROGRESS appropriately and improve
abort handling
--
--
Mark device transfers as USBD_IN_PROGRESS appropriately and improve
abort handling
--

additional changes include:
- initialise the usb abort task in the HCI allocx routine, so that it
  can be safely usb_rem_task()'d.
- rework the handling of softintr vs cancellation vs timeout abort based
  upon a scheme from Taylor:
  when completing a transfer normally:
  - if the status is not in progress, it must be cancelled or timed out,
    and we should not process this xfer.
  - set the status as normal.
  - unconditionallly callout_stop() and usb_rem_task().  they're safe and
    either aren't running, or will run and do nothing.
  - finally call usb_transfer_complete().
  when aborting a transfer:
  - status should be cancelled or timed out.
  - if cancelling, callout_halt and usb_rem_task_wait() to make sure the
    timer is either done or cancelled.
  - at this point, the ux_status must not be cancelled or timed out, and
    if it is not in progress we're done.
  - set the status.
  - if the controller is dying, just return.
  - perform HCI-specific tasks to abort this xfer.
  - finally call usb_transfer_complete().
  for the timeout and timeout task:
  - if the HCI is not dying, and the ux_status is in progress, then
    trigger the usb abort task.
- remove UXFER_ABORTWAIT and UXFER_ABORTING.

tested on:
- multiple PC systems with several types of devices: ugen/UPS, ucom,
  umass with disk, ssd and cdrom backends, kbd, ms, using uhci, ehci
  and xhci.
- erlite3: sd@umass on dwc2.
- sunblade2000: kbd/ms and umass disk on ohci.

untested:
- motg, slhci and ahci.  motg has some portion of the new scheme
  applied, but slhci and ahci require more study.

future work includes pushing a lot of the common abort handling into
usbdi.c and leaving upm_abort() for HC specific tasks, but this change
is pullup-able to netbsd-7 and netbsd-8 as it does not change any
external API, as well as removing over 100 lines of code while adding
over 30 new asserts.

XXX: pullup-7, pullup-8.

fix DIAGNOSTIC build by not copying ub_usepolling to stack before use

Sprinkle __diagused

Revision 1.261 / (download) - annotate - [select for diffs], Thu Aug 9 18:17:39 2018 UTC (5 years, 7 months ago) by jakllsch
Branch: MAIN
CVS Tags: jdolecek-ncqfixes-base, jdolecek-ncqfixes
Changes since 1.260: +3 -4 lines
Diff to previous 1.260 (colored) to selected 1.187 (colored)

fix DIAGNOSTIC build by not copying ub_usepolling to stack before use

Revision 1.260 / (download) - annotate - [select for diffs], Thu Aug 9 06:26:47 2018 UTC (5 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.259: +124 -121 lines
Diff to previous 1.259 (colored) to selected 1.187 (colored)

pull across abort fixes from nick-nhusb.  add more abort fixes, using
ideas from Taylor and Nick, and myself.  special thanks to both who
inspired much of the code here, if not wrote it directly.

among other problems, this assert should no longer trigger:

   panic: kernel diagnostic assertion "xfer->ux_state == XFER_ONQU" failed: file "/current/src/sys/dev/usb/usbdi.c", line 914

using usbhist i was able to track down my instance of it being related
to userland close() beginning, dropping the sc_lock, and then the usb
softintr completes the transfer normally, and when it is done, the
abort path attempts to re-complete the transfer, and the above assert
is tripped.


changes from nhusb were commited with these logs:
--
Move the struct usb_task to struct usbd_xfer for everyone to use.
--
Set device transfer status to USBD_IN_PROGRESS if start methods succeeds
--
Actually set the transfer status on transfers in ohci_abort_xfer and
the controller is dying
--
Don't supply the lock to callout_halt when polling as it won't be held
--
Improve transfer abort
--
Mark device transfers as USBD_IN_PROGRESS appropriately and improve
abort handling
--
#ifdef DIAGNOSTIC -> KASSERT and add another KASSERT
--
Mark device transfers as USBD_IN_PROGRESS appropriately and improve
abort handling
--

additional changes include:
- initialise the usb abort task in the HCI allocx routine, so that it
  can be safely usb_rem_task()'d.
- rework the handling of softintr vs cancellation vs timeout abort based
  upon a scheme from Taylor:
  when completing a transfer normally:
  - if the status is not in progress, it must be cancelled or timed out,
    and we should not process this xfer.
  - set the status as normal.
  - unconditionallly callout_stop() and usb_rem_task().  they're safe and
    either aren't running, or will run and do nothing.
  - finally call usb_transfer_complete().
  when aborting a transfer:
  - status should be cancelled or timed out.
  - if cancelling, callout_halt and usb_rem_task_wait() to make sure the
    timer is either done or cancelled.
  - at this point, the ux_status must not be cancelled or timed out, and
    if it is not in progress we're done.
  - set the status.
  - if the controller is dying, just return.
  - perform HCI-specific tasks to abort this xfer.
  - finally call usb_transfer_complete().
  for the timeout and timeout task:
  - if the HCI is not dying, and the ux_status is in progress, then
    trigger the usb abort task.
- remove UXFER_ABORTWAIT and UXFER_ABORTING.

tested on:
- multiple PC systems with several types of devices: ugen/UPS, ucom,
  umass with disk, ssd and cdrom backends, kbd, ms, using uhci, ehci
  and xhci.
- erlite3: sd@umass on dwc2.
- sunblade2000: kbd/ms and umass disk on ohci.

untested:
- motg, slhci and ahci.  motg has some portion of the new scheme
  applied, but slhci and ahci require more study.

future work includes pushing a lot of the common abort handling into
usbdi.c and leaving upm_abort() for HC specific tasks, but this change
is pullup-able to netbsd-7 and netbsd-8 as it does not change any
external API, as well as removing over 100 lines of code while adding
over 30 new asserts.

XXX: pullup-7, pullup-8.

Revision 1.257.2.2 / (download) - annotate - [select for diffs], Mon Jun 25 07:26:02 2018 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.257.2.1: +4 -4 lines
Diff to previous 1.257.2.1 (colored) to branchpoint 1.257 (colored) to selected 1.187 (colored)

Sync with HEAD

Revision 1.259 / (download) - annotate - [select for diffs], Wed Jun 6 01:49:09 2018 UTC (5 years, 9 months ago) by maya
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0728, pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.258: +4 -4 lines
Diff to previous 1.258 (colored) to selected 1.187 (colored)

Remove duplicate ;

Revision 1.257.2.1 / (download) - annotate - [select for diffs], Mon Apr 16 02:00:02 2018 UTC (5 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.257: +2 -15 lines
Diff to previous 1.257 (colored) to selected 1.187 (colored)

Sync with HEAD, resolve some conflicts

Revision 1.258 / (download) - annotate - [select for diffs], Mon Apr 9 16:21:10 2018 UTC (5 years, 11 months ago) by jakllsch
Branch: MAIN
CVS Tags: pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415
Changes since 1.257: +2 -15 lines
Diff to previous 1.257 (colored) to selected 1.187 (colored)

Stop potential misuse of vendor names and USB vendor IDs in root hub
device and string descriptors.

Firstly: Few vendors have identical PCI-SIG vendor IDs and USB-IF vendor
IDs.  As such, using the PCI vendor ID as a USB vendor ID may trample
on whomever is allocated that USB vendor ID.

Secondly: The vendor of the host controller hardware implementation has
little to nothing to do with our usbroothub implementation.  Thus we
should not potentially associate any problems therewith to such third
party.

This change will result in root hubs being identified by USB Vendor ID
0x0000.  Root hub vendor string will now be "NetBSD" (or, specifically:
ostype). Product ID (0x0000) and product strings remain unchanged.

Revision 1.228.2.2 / (download) - annotate - [select for diffs], Wed Jan 3 20:02:37 2018 UTC (6 years, 2 months ago) by snj
Branch: netbsd-7
Changes since 1.228.2.1: +3 -3 lines
Diff to previous 1.228.2.1 (colored) to branchpoint 1.228 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by skrll in ticket #1529):
	sys/dev/usb/ehci.c: revision 1.257
	sys/dev/usb/motg.c: revision 1.19
	sys/dev/usb/ohci.c: revision 1.276
	sys/dev/usb/uhci.c: revision 1.279
	sys/dev/usb/xhci.c: revision 1.77
	sys/external/bsd/dwc2/dwc2.c: revision 1.47
s/PR_NOWAIT/PR_WAITOK/ in HCD allocx (allocate xfer) method

Revision 1.192.2.5 / (download) - annotate - [select for diffs], Sun Dec 3 11:37:33 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.192.2.4: +2463 -1793 lines
Diff to previous 1.192.2.4 (colored) to branchpoint 1.192 (colored) next main 1.193 (colored) to selected 1.187 (colored)

update from HEAD

Revision 1.254.8.3 / (download) - annotate - [select for diffs], Thu Nov 23 13:29:32 2017 UTC (6 years, 4 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.254.8.2: +3 -3 lines
Diff to previous 1.254.8.2 (colored) to branchpoint 1.254 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by skrll in ticket #385):
	sys/dev/usb/xhci.c: revision 1.77
	sys/external/bsd/dwc2/dwc2.c: revision 1.47
	sys/dev/usb/motg.c: revision 1.19
	sys/dev/usb/ehci.c: revision 1.257
	sys/dev/usb/ohci.c: revision 1.276
	sys/dev/usb/uhci.c: revision 1.279

s/PR_NOWAIT/PR_WAITOK/ in HCD allocx (allocate xfer) method

Revision 1.257 / (download) - annotate - [select for diffs], Fri Nov 17 08:22:02 2017 UTC (6 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, pgoyette-compat-base, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.256: +3 -3 lines
Diff to previous 1.256 (colored) to selected 1.187 (colored)

s/PR_NOWAIT/PR_WAITOK/ in HCD allocx (allocate xfer) method

Revision 1.254.8.2 / (download) - annotate - [select for diffs], Thu Nov 2 21:29:52 2017 UTC (6 years, 4 months ago) by snj
Branch: netbsd-8
CVS Tags: matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.254.8.1: +154 -139 lines
Diff to previous 1.254.8.1 (colored) to branchpoint 1.254 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by pgoyette in ticket #335):
	share/man/man9/kernhist.9: 1.5-1.8
	sys/arch/acorn26/acorn26/pmap.c: 1.39
	sys/arch/arm/arm32/fault.c: 1.105 via patch
	sys/arch/arm/arm32/pmap.c: 1.350, 1.359
	sys/arch/arm/broadcom/bcm2835_bsc.c: 1.7
	sys/arch/arm/omap/if_cpsw.c: 1.20
	sys/arch/arm/omap/tiotg.c: 1.7
	sys/arch/evbarm/conf/RPI2_INSTALL: 1.3
	sys/dev/ic/sl811hs.c: 1.98
	sys/dev/usb/ehci.c: 1.256
	sys/dev/usb/if_axe.c: 1.83
	sys/dev/usb/motg.c: 1.18
	sys/dev/usb/ohci.c: 1.274
	sys/dev/usb/ucom.c: 1.119
	sys/dev/usb/uhci.c: 1.277
	sys/dev/usb/uhub.c: 1.137
	sys/dev/usb/umass.c: 1.160-1.162
	sys/dev/usb/umass_quirks.c: 1.100
	sys/dev/usb/umass_scsipi.c: 1.55
	sys/dev/usb/usb.c: 1.168
	sys/dev/usb/usb_mem.c: 1.70
	sys/dev/usb/usb_subr.c: 1.221
	sys/dev/usb/usbdi.c: 1.175
	sys/dev/usb/usbdi_util.c: 1.67-1.70
	sys/dev/usb/usbroothub.c: 1.3
	sys/dev/usb/xhci.c: 1.75
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.34
	sys/kern/kern_history.c: 1.15
	sys/kern/kern_xxx.c: 1.74
	sys/kern/vfs_bio.c: 1.275-1.276
	sys/miscfs/genfs/genfs_io.c: 1.71
	sys/sys/kernhist.h: 1.21
	sys/ufs/ffs/ffs_balloc.c: 1.63
	sys/ufs/lfs/lfs_vfsops.c: 1.361
	sys/ufs/lfs/ulfs_inode.c: 1.21
	sys/ufs/lfs/ulfs_vnops.c: 1.52
	sys/ufs/ufs/ufs_inode.c: 1.102
	sys/ufs/ufs/ufs_vnops.c: 1.239
	sys/uvm/pmap/pmap.c: 1.37-1.39
	sys/uvm/pmap/pmap_tlb.c: 1.22
	sys/uvm/uvm_amap.c: 1.108
	sys/uvm/uvm_anon.c: 1.64
	sys/uvm/uvm_aobj.c: 1.126
	sys/uvm/uvm_bio.c: 1.91
	sys/uvm/uvm_device.c: 1.66
	sys/uvm/uvm_fault.c: 1.201
	sys/uvm/uvm_km.c: 1.144
	sys/uvm/uvm_loan.c: 1.85
	sys/uvm/uvm_map.c: 1.353
	sys/uvm/uvm_page.c: 1.194
	sys/uvm/uvm_pager.c: 1.111
	sys/uvm/uvm_pdaemon.c: 1.109
	sys/uvm/uvm_swap.c: 1.175
	sys/uvm/uvm_vnode.c: 1.103
	usr.bin/vmstat/vmstat.c: 1.219
Reorder to test for null before null deref in debug code
--
Reorder to test for null before null deref in debug code
--
KNF
--
No need for '\n' in UVMHIST_LOG
--
normalise a BIOHIST log message
--
Update the kernhist(9) kernel history code to address issues identified
in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Details of changes:
* All history arguments are now stored as uintmax_t values[1], both in
   the kernel and in the structures used for exporting the history data
   to userland via sysctl(9).  This avoids problems on some architectures
   where passing a 64-bit (or larger) value to printf(3) can cause it to
   process the value as multiple arguments.  (This can be particularly
   problematic when printf()'s format string is not a literal, since in
   that case the compiler cannot know how large each argument should be.)
* Update the data structures used for exporting kernel history data to
   include a version number as well as the length of history arguments.
* All [2] existing users of kernhist(9) have had their format strings
   updated.  Each format specifier now includes an explicit length
   modifier 'j' to refer to numeric values of the size of uintmax_t.
* All [2] existing users of kernhist(9) have had their format strings
   updated to replace uses of "%p" with "%#jx", and the pointer
   arguments are now cast to (uintptr_t) before being subsequently cast
   to (uintmax_t).  This is needed to avoid compiler warnings about
   casting "pointer to integer of a different size."
* All [2] existing users of kernhist(9) have had instances of "%s" or
   "%c" format strings replaced with numeric formats; several instances
   of mis-match between format string and argument list have been fixed.
* vmstat(1) has been modified to handle the new size of arguments in the
   history data as exported by sysctl(9).
* vmstat(1) now provides a warning message if the history requested with
   the -u option does not exist (previously, this condition was silently
   ignored, with only a single blank line being printed).
* vmstat(1) now checks the version and argument length included in the
   data exported via sysctl(9) and exits if they do not match the values
   with which vmstat was built.
* The kernhist(9) man-page has been updated to note the additional
   requirements imposed on the format strings, along with several other
   minor changes and enhancements.
[1] It would have been possible to use an explicit length (for example,
     uint64_t) for the history arguments.  But that would require another
     "rototill" of all the users in the future when we add support for an
     architecture that supports a larger size.  Also, the printf(3)
format
     specifiers for explicitly-sized values, such as "%"PRIu64, are much
     more verbose (and less aesthetically appealing, IMHO) than simply
     using "%ju".
[2] I've tried very hard to find "all [the] existing users of
kernhist(9)"
     but it is possible that I've missed some of them.  I would be glad
to
     update any stragglers that anyone identifies.
--
For some reason this single kernel seems to have outgrown its declared
size as a result of the kernhist(9) changes.  Bump the size.
XXX The amount of increase may be excessive - anyone with more detailed
XXX knowledge please feel free to further adjust the value
appropriately.
--
Misssed one cast of pointer --> uintptr_t in previous kernhist(9) commit
--
And yet another one.  :(
--
Use correct mark-up for NetBSD version.
--
More improvements in grammar and readability.
--
Remove a stray '"' (obvious typo) and add a couple of casts that are
probably needed.
--
And replace an instance of "%p" conversion with "%#jx"
--
Whitespace fix. Give Bl tag table a width. Fix Xr.

Revision 1.256 / (download) - annotate - [select for diffs], Sat Oct 28 00:37:12 2017 UTC (6 years, 5 months ago) by pgoyette
Branch: MAIN
Changes since 1.255: +154 -139 lines
Diff to previous 1.255 (colored) to selected 1.187 (colored)

Update the kernhist(9) kernel history code to address issues identified
in PR kern/52639, as well as some general cleaning-up...

(As proposed on tech-kern@ with additional changes and enhancements.)

Details of changes:

* All history arguments are now stored as uintmax_t values[1], both in
  the kernel and in the structures used for exporting the history data
  to userland via sysctl(9).  This avoids problems on some architectures
  where passing a 64-bit (or larger) value to printf(3) can cause it to
  process the value as multiple arguments.  (This can be particularly
  problematic when printf()'s format string is not a literal, since in
  that case the compiler cannot know how large each argument should be.)

* Update the data structures used for exporting kernel history data to
  include a version number as well as the length of history arguments.

* All [2] existing users of kernhist(9) have had their format strings
  updated.  Each format specifier now includes an explicit length
  modifier 'j' to refer to numeric values of the size of uintmax_t.

* All [2] existing users of kernhist(9) have had their format strings
  updated to replace uses of "%p" with "%#jx", and the pointer
  arguments are now cast to (uintptr_t) before being subsequently cast
  to (uintmax_t).  This is needed to avoid compiler warnings about
  casting "pointer to integer of a different size."

* All [2] existing users of kernhist(9) have had instances of "%s" or
  "%c" format strings replaced with numeric formats; several instances
  of mis-match between format string and argument list have been fixed.

* vmstat(1) has been modified to handle the new size of arguments in the
  history data as exported by sysctl(9).

* vmstat(1) now provides a warning message if the history requested with
  the -u option does not exist (previously, this condition was silently
  ignored, with only a single blank line being printed).

* vmstat(1) now checks the version and argument length included in the
  data exported via sysctl(9) and exits if they do not match the values
  with which vmstat was built.

* The kernhist(9) man-page has been updated to note the additional
  requirements imposed on the format strings, along with several other
  minor changes and enhancements.

[1] It would have been possible to use an explicit length (for example,
    uint64_t) for the history arguments.  But that would require another
    "rototill" of all the users in the future when we add support for an
    architecture that supports a larger size.  Also, the printf(3) format
    specifiers for explicitly-sized values, such as "%"PRIu64, are much
    more verbose (and less aesthetically appealing, IMHO) than simply
    using "%ju".

[2] I've tried very hard to find "all [the] existing users of kernhist(9)"
    but it is possible that I've missed some of them.  I would be glad to
    update any stragglers that anyone identifies.

Revision 1.234.2.110 / (download) - annotate - [select for diffs], Tue Sep 5 07:01:12 2017 UTC (6 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.109: +6 -10 lines
Diff to previous 1.234.2.109 (colored) to branchpoint 1.234 (colored) next main 1.235 (colored) to selected 1.187 (colored)

#ifdef DIAGNOSTIC -> KASSERT and add another KASSERT

Revision 1.234.2.109 / (download) - annotate - [select for diffs], Mon Aug 28 17:52:27 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.108: +16 -8 lines
Diff to previous 1.234.2.108 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Sync with HEAD

Revision 1.254.8.1 / (download) - annotate - [select for diffs], Tue Jul 18 19:13:10 2017 UTC (6 years, 8 months ago) by snj
Branch: netbsd-8
Changes since 1.254: +16 -8 lines
Diff to previous 1.254 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by jmcneill in ticket #114):
	sys/arch/arm/samsung/exynos_intr.h: revision 1.3
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
	sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
	distrib/utils/embedded/mkimage: revision 1.66
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
	sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
	sys/dev/gpio/gpio.c: revision 1.59
	sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
	sys/conf/Makefile.kern.inc: revision 1.257
	sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
	sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
	sys/conf/Makefile.kern.inc: revision 1.258
	sys/arch/arm/fdt/psci_fdt.h: revision 1.1
	sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
	sys/arch/evbarm/conf/files.sunxi: revision 1.1
	sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
	sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
	sys/arch/arm/samsung/files.exynos: revision 1.22
	distrib/utils/embedded/conf/armv7.conf: revision 1.13
	sys/arch/arm/samsung/files.exynos: revision 1.23
	sys/arch/evbarm/conf/std.tegra: revision 1.15
	distrib/utils/embedded/conf/armv7.conf: revision 1.14
	sys/arch/arm/samsung/files.exynos: revision 1.24
	distrib/utils/embedded/conf/armv7.conf: revision 1.15
	sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
	sys/arch/arm/samsung/exynos_fdt.c: file removal
	sys/dev/fdt/fdt_pinctrl.c: revision 1.4
	sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
	sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
	sys/dev/usb/ehci.c: revision 1.255
	sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
	sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
	sys/dev/ic/dwc_mmc.c: revision 1.11
	sys/arch/arm/cortex/gic.c: revision 1.24
	distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
	etc/etc.evbarm/Makefile.inc: revision 1.87
	etc/etc.evbarm/Makefile.inc: revision 1.88
	sys/arch/arm/fdt/gic_fdt.c: revision 1.5
	etc/Makefile: revision 1.429
	sys/arch/arm/fdt/gic_fdt.c: revision 1.6
	sys/arch/arm/fdt/gic_fdt.c: revision 1.7
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
	sys/arch/evbarm/conf/std.sunxi: revision 1.1
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
	sys/arch/evbarm/conf/std.sunxi: revision 1.2
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
	sys/arch/evbarm/conf/std.sunxi: revision 1.3
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
	sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
	sys/dev/gpio/gpiovar.h: revision 1.17
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
	sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
	sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
	sys/dev/fdt/fdtvar.h: revision 1.21
	sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
	sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
	sys/dev/fdt/fdtvar.h: revision 1.22
	sys/arch/evbarm/conf/SUNXI: revision 1.10
	sys/dev/fdt/fdtvar.h: revision 1.23
	sys/arch/evbarm/conf/SUNXI: revision 1.11
	sys/dev/fdt/gpioleds.c: revision 1.1
	sys/dev/fdt/fdtvar.h: revision 1.24
	sys/arch/evbarm/conf/SUNXI: revision 1.12
	sys/arch/evbarm/conf/SUNXI: revision 1.13
	sys/arch/arm/cortex/gic.c: revision 1.30
	sys/arch/evbarm/conf/SUNXI: revision 1.14
	sys/arch/evbarm/conf/SUNXI: revision 1.15
	sys/arch/evbarm/conf/SUNXI: revision 1.16
	sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
	etc/Makefile: revision 1.430
	sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
	etc/Makefile: revision 1.431
	sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
	sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
	sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
	sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
	sys/arch/arm/samsung/exynos_platform.c: revision 1.1
	sys/dev/ofw/ofw_subr.c: revision 1.29
	sys/arch/arm/samsung/exynos_platform.c: revision 1.2
	sys/arch/evbarm/conf/mk.vexpress: revision 1.3
	sys/arch/arm/samsung/exynos_platform.c: revision 1.3
	sys/arch/evbarm/conf/mk.vexpress: revision 1.4
	sys/arch/arm/samsung/exynos_platform.c: revision 1.4
	sys/arch/arm/arm/psci.h: revision 1.1
	sys/arch/arm/samsung/exynos_platform.c: revision 1.5
	sys/arch/arm/samsung/exynos_platform.c: revision 1.6
	sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
	external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
	sys/dev/fdt/files.fdt: revision 1.17
	sys/dev/fdt/files.fdt: revision 1.18
	sys/dev/fdt/files.fdt: revision 1.19
	sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
	sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
	sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
	sys/arch/arm/conf/files.arm: revision 1.133
	sys/arch/arm/samsung/mct_var.h: revision 1.5
	sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
	sys/arch/evbarm/conf/std.vexpress: revision 1.6
	sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
	sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
	sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
	sys/arch/arm/sunxi/files.sunxi: revision 1.1
	sys/dev/ofw/ofw_subr.c: revision 1.30
	sys/arch/arm/sunxi/files.sunxi: revision 1.2
	sys/dev/ofw/openfirm.h: revision 1.35
	sys/arch/arm/sunxi/files.sunxi: revision 1.3
	sys/dev/ofw/openfirm.h: revision 1.36
	sys/arch/arm/sunxi/files.sunxi: revision 1.4
	sys/arch/arm/sunxi/files.sunxi: revision 1.5
	sys/arch/evbarm/exynos/exynos_machdep.c: file removal
	sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
	sys/arch/arm/samsung/sscom.c: revision 1.9
	sys/arch/arm/sunxi/files.sunxi: revision 1.6
	sys/dev/fdt/ohci_fdt.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
	sys/arch/arm/sunxi/files.sunxi: revision 1.7
	sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
	sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
	sys/arch/arm/sunxi/files.sunxi: revision 1.8
	sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
	sys/arch/arm/sunxi/files.sunxi: revision 1.9
	sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
	sys/arch/evbarm/conf/mk.tegra: revision 1.5
	sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
	sys/arch/evbarm/conf/mk.tegra: revision 1.6
	sys/arch/evbarm/conf/EXYNOS: revision 1.15
	sys/arch/evbarm/conf/EXYNOS: revision 1.16
	sys/arch/evbarm/conf/EXYNOS: revision 1.17
	sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
	sys/arch/evbarm/conf/EXYNOS: revision 1.19
	sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
	sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
	sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
	sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
	sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
	sys/arch/evbarm/conf/mk.sunxi: revision 1.1
	sys/arch/evbarm/include/bootconfig.h: revision 1.7
	sys/arch/evbarm/conf/TEGRA: revision 1.24
	sys/arch/arm/arm/psci.c: revision 1.1
	sys/dev/led.c: revision 1.1
	sys/dev/led.c: revision 1.2
	sys/arch/arm/arm/psci_arm.S: revision 1.1
	sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
	sys/dev/fdt/ehci_fdt.c: revision 1.1
	sys/dev/fdt/ehci_fdt.c: revision 1.2
	sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
	sys/arch/evbarm/conf/EXYNOS: revision 1.21
	sys/arch/arm/sunxi/files.sunxi: revision 1.10
	sys/arch/arm/sunxi/files.sunxi: revision 1.11
	sys/dev/fdt/fdtbus.c: revision 1.14
	sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
	sys/arch/arm/samsung/exynos5422_dma.c: file removal
	usr.bin/config/mkmakefile.c: revision 1.69
	sys/conf/files: revision 1.1178
	sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
	sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
	sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
	sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
	sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
	sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
	sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
	sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
	sys/arch/evbarm/conf/SUNXI: revision 1.1
	external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
	sys/arch/evbarm/conf/SUNXI: revision 1.2
	sys/arch/arm/fdt/psci_fdt.c: revision 1.1
	sys/arch/evbarm/conf/SUNXI: revision 1.3
	sys/arch/evbarm/conf/SUNXI: revision 1.4
	sys/arch/evbarm/conf/files.exynos: revision 1.3
	sys/arch/evbarm/conf/SUNXI: revision 1.5
	sys/arch/evbarm/conf/SUNXI: revision 1.6
	sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
	sys/dev/fdt/fixedfactorclock.c: revision 1.1
	sys/dev/fdt/fdt_subr.c: revision 1.14
	sys/arch/evbarm/conf/SUNXI: revision 1.7
	sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
	sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
	sys/dev/fdt/fdt_subr.c: revision 1.15
	sys/arch/evbarm/conf/SUNXI: revision 1.8
	sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
	sys/dev/ic/dwc_mmc_reg.h: revision 1.6
	sys/dev/fdt/fdt_subr.c: revision 1.16
	sys/arch/evbarm/conf/SUNXI: revision 1.9
	usr.bin/config/mkmakefile.c: revision 1.70
	sys/dev/fdt/fdt_phy.c: revision 1.1
	sys/arch/evbarm/conf/ODROID-XU: file removal
	sys/arch/arm/fdt/arm_fdt.c: revision 1.4
	sys/arch/arm/samsung/exynos_reg.h: revision 1.14
	sys/conf/files: revision 1.1180
	sys/arch/arm/samsung/exynos_reg.h: revision 1.15
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
	sys/dev/ic/dwc_mmc_var.h: revision 1.6
	sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
	sys/arch/evbarm/exynos/platform.h: revision 1.2
	sys/arch/arm/fdt/files.fdt: revision 1.12
	sys/arch/evbarm/conf/std.exynos: revision 1.2
	sys/arch/evbarm/conf/std.exynos: revision 1.3
	sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
	sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
	sys/dev/led.h: revision 1.1
	sys/arch/evbarm/conf/std.exynos: revision 1.5
	sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
	sys/arch/evbarm/conf/files.evbarm: revision 1.26
	usr.bin/config/defs.h: revision 1.99
	sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
	sys/arch/arm/samsung/exynos_soc.c: revision 1.32
	sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
	sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
	sys/arch/arm/samsung/mct.c: revision 1.11
	sys/arch/evbarm/conf/ODROID-U: file removal
	sys/arch/arm/samsung/mct.c: revision 1.12
	sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
	sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
	sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too.  ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.

Revision 1.255 / (download) - annotate - [select for diffs], Sat Jul 8 16:19:20 2017 UTC (6 years, 8 months ago) by jmcneill
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825
Changes since 1.254: +16 -8 lines
Diff to previous 1.254 (colored) to selected 1.187 (colored)

Remove the requirement for ehci to attach after companion devices.

"go for it" - skrll@

Revision 1.228.2.1 / (download) - annotate - [select for diffs], Wed Apr 5 19:54:19 2017 UTC (6 years, 11 months ago) by snj
Branch: netbsd-7
Changes since 1.228: +2472 -1825 lines
Diff to previous 1.228 (colored) to selected 1.187 (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.228.6.2 / (download) - annotate - [select for diffs], Thu Jan 26 21:54:24 2017 UTC (7 years, 2 months ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.228.6.1: +7 -4 lines
Diff to previous 1.228.6.1 (colored) to branchpoint 1.228 (colored) next main 1.229 (colored) to selected 1.187 (colored)

Sync with HEAD/nhusb

Revision 1.234.2.108 / (download) - annotate - [select for diffs], Wed Dec 28 10:42:59 2016 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.107: +2 -4 lines
Diff to previous 1.234.2.107 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Whitespace

Revision 1.234.2.107 / (download) - annotate - [select for diffs], Tue Dec 27 10:37:52 2016 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.106: +8 -7 lines
Diff to previous 1.234.2.106 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Reduce scope of variables

Revision 1.234.2.106 / (download) - annotate - [select for diffs], Tue Dec 27 10:16:49 2016 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.105: +2 -3 lines
Diff to previous 1.234.2.105 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Remove a printf

Revision 1.234.2.105 / (download) - annotate - [select for diffs], Tue Dec 27 08:59:48 2016 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.104: +110 -77 lines
Diff to previous 1.234.2.104 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Improve and simplify ehci_abort_xfer.  The races should now be removed.

Revision 1.252.2.1 / (download) - annotate - [select for diffs], Fri Nov 4 14:49:15 2016 UTC (7 years, 4 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.252: +7 -4 lines
Diff to previous 1.252 (colored) next main 1.253 (colored) to selected 1.187 (colored)

Sync with HEAD

Revision 1.234.2.104 / (download) - annotate - [select for diffs], Wed Oct 5 20:55:57 2016 UTC (7 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.103: +7 -4 lines
Diff to previous 1.234.2.103 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Sync with HEAD

Revision 1.254 / (download) - annotate - [select for diffs], Mon Oct 3 00:32:37 2016 UTC (7 years, 5 months ago) by dholland
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, netbsd-8-base, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.253: +7 -4 lines
Diff to previous 1.253 (colored) to selected 1.187 (colored)

Improve diagnostic print seen in PR 51524.

Revision 1.228.6.1 / (download) - annotate - [select for diffs], Tue Sep 6 20:33:08 2016 UTC (7 years, 6 months ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.228: +2431 -1787 lines
Diff to previous 1.228 (colored) to selected 1.187 (colored)

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

Revision 1.253 / (download) - annotate - [select for diffs], Sun Aug 14 14:42:22 2016 UTC (7 years, 7 months ago) by skrll
Branch: MAIN
CVS Tags: localcount-20160914
Changes since 1.252: +4 -4 lines
Diff to previous 1.252 (colored) to selected 1.187 (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.234.2.103 / (download) - annotate - [select for diffs], Fri Jun 10 08:15:21 2016 UTC (7 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.102: +4 -4 lines
Diff to previous 1.234.2.102 (colored) to branchpoint 1.234 (colored) to selected 1.187 (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.234.2.102 / (download) - annotate - [select for diffs], Sun May 29 08:44:31 2016 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.101: +5 -66 lines
Diff to previous 1.234.2.101 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Sync with HEAD

Revision 1.252 / (download) - annotate - [select for diffs], Sat May 14 07:14:31 2016 UTC (7 years, 10 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20160907, nick-nhusb-base-20160529
Branch point for: pgoyette-localcount
Changes since 1.251: +4 -3 lines
Diff to previous 1.251 (colored) to selected 1.187 (colored)

Only set QH CMASK for FS/LS interrupt transfers

Revision 1.251 / (download) - annotate - [select for diffs], Fri May 6 16:30:01 2016 UTC (7 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.250: +3 -3 lines
Diff to previous 1.250 (colored) to selected 1.187 (colored)

Fix a KASSERT (ub_usepolling || mutex)

Revision 1.250 / (download) - annotate - [select for diffs], Fri May 6 13:03:06 2016 UTC (7 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.249: +2 -64 lines
Diff to previous 1.249 (colored) to selected 1.187 (colored)

usb is attached with config_interrupts so we can G/C the code to support
transfers when this wasn't the case.

Revision 1.234.2.101 / (download) - annotate - [select for diffs], Sat Apr 30 10:34:14 2016 UTC (7 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.100: +5 -6 lines
Diff to previous 1.234.2.100 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Move the struct usb_task to struct usbd_xfer for everyone to use.

Revision 1.249 / (download) - annotate - [select for diffs], Sat Apr 23 10:15:31 2016 UTC (7 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.248: +2219 -1694 lines
Diff to previous 1.248 (colored) to selected 1.187 (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.234.2.100 / (download) - annotate - [select for diffs], Sat Apr 16 16:02:42 2016 UTC (7 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.99: +6 -6 lines
Diff to previous 1.234.2.99 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Fix usbd_status vs int in *_alloc_*_chain

Revision 1.234.2.99 / (download) - annotate - [select for diffs], Sat Apr 16 15:39:36 2016 UTC (7 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.98: +3 -2 lines
Diff to previous 1.234.2.98 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Don't leak memory in *_alloc_*td_chain if allocation fails.

Revision 1.234.2.98 / (download) - annotate - [select for diffs], Sat Apr 16 14:04:55 2016 UTC (7 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.97: +4 -3 lines
Diff to previous 1.234.2.97 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

KNF

Revision 1.234.2.97 / (download) - annotate - [select for diffs], Sat Apr 16 14:01:43 2016 UTC (7 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.96: +2 -3 lines
Diff to previous 1.234.2.96 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Remove an unnecessary ux_hcpriv assignment
$CVS: ----------------------------------------------------------------------

Revision 1.234.2.96 / (download) - annotate - [select for diffs], Mon Apr 4 07:43:12 2016 UTC (7 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.95: +123 -174 lines
Diff to previous 1.234.2.95 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Rework {alloc,reset}_*_chain functions to perform all of TD setup in
reset chain.  The initial motivation for this was to fix ZLP.

Revision 1.234.2.95 / (download) - annotate - [select for diffs], Sat Mar 26 11:42:44 2016 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.94: +8 -2 lines
Diff to previous 1.234.2.94 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Grab sc_istthreshhold (not used as yet)

Revision 1.234.2.94 / (download) - annotate - [select for diffs], Sat Mar 26 11:40:59 2016 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.93: +4 -3 lines
Diff to previous 1.234.2.93 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Re-org for clarity (sparams vs cparams)

Revision 1.234.2.93 / (download) - annotate - [select for diffs], Sun Mar 20 08:06:15 2016 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.92: +265 -301 lines
Diff to previous 1.234.2.92 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Provide and use DPRINTF{,N} macros in the same way as all other HCDs.

No functional change.

Revision 1.234.2.92 / (download) - annotate - [select for diffs], Thu Mar 17 09:04:53 2016 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.91: +9 -59 lines
Diff to previous 1.234.2.91 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

All HCDs were fighting the seriaisation of transfers in usbdi.c for isoc
transfers.  Instead allow the HCDs to specify which pipes can handle
removing this serialisation and apply it appropriately.

dwctwo(4) can handle this for all transfer types, but only enable
bulk/isoc for now.

Revision 1.248 / (download) - annotate - [select for diffs], Sun Mar 13 07:01:43 2016 UTC (8 years ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20160422, nick-nhusb-base-20160319
Changes since 1.247: +4 -4 lines
Diff to previous 1.247 (colored) to selected 1.187 (colored)

KNF

Revision 1.234.2.91 / (download) - annotate - [select for diffs], Sun Feb 28 09:16:20 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.90: +8 -48 lines
Diff to previous 1.234.2.90 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Centralise the up_repeat handling and use the standard pipe method to
start the next transfer.  This allows the removal of a bunch of code
in the upm_done methods for interrupt transfers which had copies of
the upm_start method code.

At the same time we can perform the upm_done method before calling the
transfer callback allowing correct bus_dma(9) operations before
using the transfer DMA buffer.

Revision 1.234.2.90 / (download) - annotate - [select for diffs], Sat Feb 27 17:03:58 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.89: +4 -3 lines
Diff to previous 1.234.2.89 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Why KASSERT when you can KASSERTMSG?wq

Revision 1.234.2.89 / (download) - annotate - [select for diffs], Sat Feb 27 16:53:22 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.88: +3 -2 lines
Diff to previous 1.234.2.88 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Initialise ex_isrunning in ehci_device_isoc_init.  No real functional
change as the memory was zeroised.

Revision 1.234.2.88 / (download) - annotate - [select for diffs], Sun Feb 21 07:04:13 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.87: +3 -2 lines
Diff to previous 1.234.2.87 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

We need to delete the transfer from the interrupt list in
ehci_abort_isoc_xfer

Revision 1.234.2.87 / (download) - annotate - [select for diffs], Fri Feb 19 16:23:15 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.86: +7 -2 lines
Diff to previous 1.234.2.86 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Add a comment

Revision 1.234.2.86 / (download) - annotate - [select for diffs], Sun Feb 7 13:58:19 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.85: +4 -4 lines
Diff to previous 1.234.2.85 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Unwrap line

Revision 1.234.2.85 / (download) - annotate - [select for diffs], Sat Feb 6 11:23:43 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.84: +7 -7 lines
Diff to previous 1.234.2.84 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

KNF comments with whitespace

Revision 1.234.2.84 / (download) - annotate - [select for diffs], Sat Feb 6 10:24:58 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.83: +6 -8 lines
Diff to previous 1.234.2.83 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Missed hunk from previous

Revision 1.234.2.83 / (download) - annotate - [select for diffs], Sat Feb 6 10:21:45 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.82: +79 -78 lines
Diff to previous 1.234.2.82 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Make interrupt handling MP safe by not dropping the bus lock while
traversing the active transfer list.  Instead move the complete transfers
from the active list to a complete list and do callbacks on this complete
list.

usbd_transfer_complete can safely drop the bus lock while traversing this
private list.

Revision 1.234.2.82 / (download) - annotate - [select for diffs], Sat Feb 6 09:02:57 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.81: +3 -3 lines
Diff to previous 1.234.2.81 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Improve DEBUG

Revision 1.234.2.81 / (download) - annotate - [select for diffs], Sat Feb 6 09:01:39 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.80: +3 -3 lines
Diff to previous 1.234.2.80 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Whitespace

Revision 1.234.2.80 / (download) - annotate - [select for diffs], Sat Feb 6 08:47:06 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.79: +10 -4 lines
Diff to previous 1.234.2.79 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Fix the fix... look a the correct list of TDs when aborting a transfer

Revision 1.234.2.79 / (download) - annotate - [select for diffs], Mon Jan 11 22:24:58 2016 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.78: +13 -9 lines
Diff to previous 1.234.2.78 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Fix active control transfer aborts - need to run through the entire TD
chain from start to finish and not just on any data phase.

Revision 1.234.2.78 / (download) - annotate - [select for diffs], Sun Jan 10 16:06:07 2016 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.77: +30 -6 lines
Diff to previous 1.234.2.77 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Debug improvements

Revision 1.234.2.77 / (download) - annotate - [select for diffs], Sat Jan 9 21:47:23 2016 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.76: +4 -4 lines
Diff to previous 1.234.2.76 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Consistency with USBHIST_LOGN

Revision 1.234.2.76 / (download) - annotate - [select for diffs], Tue Jan 5 05:53:38 2016 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.75: +3 -3 lines
Diff to previous 1.234.2.75 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Don't leak sqtds in ehci_free_sqtds

Revision 1.234.2.75 / (download) - annotate - [select for diffs], Sun Jan 3 08:30:37 2016 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.74: +8 -8 lines
Diff to previous 1.234.2.74 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

In ehci_idone check for timed out or aborted transfer earlier and before
twiddling ex_isdone to avoid KASSERT firing.

Revision 1.234.2.74 / (download) - annotate - [select for diffs], Mon Dec 28 22:25:43 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.73: +3 -3 lines
Diff to previous 1.234.2.73 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Correct KASSERT

Revision 1.234.2.73 / (download) - annotate - [select for diffs], Sun Dec 27 12:09:59 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.72: +2 -11 lines
Diff to previous 1.234.2.72 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.234.2.72 / (download) - annotate - [select for diffs], Wed Dec 23 08:07:40 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.71: +3 -3 lines
Diff to previous 1.234.2.71 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Revert previous... I got ahead of myself

Revision 1.234.2.71 / (download) - annotate - [select for diffs], Wed Dec 23 07:59:19 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.70: +3 -3 lines
Diff to previous 1.234.2.70 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Transfer are only ever allocated from thread context now.  Change IPL_USB
to IPL_NONE in pool_cache_init for the xfer struct pool.

Revision 1.234.2.70 / (download) - annotate - [select for diffs], Mon Dec 21 12:26:38 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.69: +3 -3 lines
Diff to previous 1.234.2.69 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Fix locking botch

Revision 1.247 / (download) - annotate - [select for diffs], Fri Dec 11 07:21:09 2015 UTC (8 years, 3 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226
Changes since 1.246: +2 -6 lines
Diff to previous 1.246 (colored) to selected 1.187 (colored)

Don't need to nest #ifdef EHCI_DEBUG

Revision 1.234.2.69 / (download) - annotate - [select for diffs], Tue Dec 8 12:48:55 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.68: +20 -24 lines
Diff to previous 1.234.2.68 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Improve ex->ex_sqtds handling a little.

Revision 1.234.2.68 / (download) - annotate - [select for diffs], Tue Dec 8 12:40:12 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.67: +4 -3 lines
Diff to previous 1.234.2.67 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Wrap a long line

Revision 1.234.2.67 / (download) - annotate - [select for diffs], Sat Nov 14 10:44:57 2015 UTC (8 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.66: +13 -7 lines
Diff to previous 1.234.2.66 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Shuffle comment

Revision 1.234.2.66 / (download) - annotate - [select for diffs], Sat Nov 14 10:37:09 2015 UTC (8 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.65: +3 -4 lines
Diff to previous 1.234.2.65 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Not much point printing NULL in a KASSERTMSG, so don't.

Revision 1.234.2.65 / (download) - annotate - [select for diffs], Sat Nov 14 10:35:38 2015 UTC (8 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.64: +3 -3 lines
Diff to previous 1.234.2.64 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Whitespace

Revision 1.246 / (download) - annotate - [select for diffs], Thu Oct 29 00:15:48 2015 UTC (8 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.245: +2 -7 lines
Diff to previous 1.245 (colored) to selected 1.187 (colored)

eliminate USBHIST as a define/option.  it was entangled with USB_DEBUG
and only referenced a handful of times.  rename any usage in configs.

fixes recent build problems i introduced with the previous files.usb
change.

Revision 1.234.2.64 / (download) - annotate - [select for diffs], Sun Oct 25 09:50:06 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.63: +959 -572 lines
Diff to previous 1.234.2.63 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Restructure the xfer methods so that (close to) minimal work in done in softint
context.  Now all memory allocation is done in thread context.

Addresses kern/48308 for ehci(4), fixes a bunch of locking bugs around the
*TD free lists, and plugs some memory leaks on error conditions.

XXX revisit for isoc caching models (4.7.2.1)

Revision 1.234.2.63 / (download) - annotate - [select for diffs], Sun Oct 25 09:28:41 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.62: +6 -10 lines
Diff to previous 1.234.2.62 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Initialise some variables in their declarations.

Revision 1.234.2.62 / (download) - annotate - [select for diffs], Sat Oct 24 15:33:59 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.61: +5 -5 lines
Diff to previous 1.234.2.61 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

One ';' is enough most of the time.

Revision 1.234.2.61 / (download) - annotate - [select for diffs], Sat Oct 24 15:32:20 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.60: +11 -22 lines
Diff to previous 1.234.2.60 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Initialise some variables in their declarations.

Revision 1.234.2.60 / (download) - annotate - [select for diffs], Sat Oct 24 15:24:13 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.59: +6 -4 lines
Diff to previous 1.234.2.59 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

KNF a comment

Revision 1.234.2.59 / (download) - annotate - [select for diffs], Sat Oct 24 15:21:51 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.58: +5 -4 lines
Diff to previous 1.234.2.58 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Use #if 0 / #endif instead of comment for disabling code

Revision 1.234.2.58 / (download) - annotate - [select for diffs], Tue Oct 20 15:31:21 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.57: +40 -46 lines
Diff to previous 1.234.2.57 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Consistently providei/use *_{XFER,PIPE,BUS}2SC, etc macros

Revision 1.234.2.57 / (download) - annotate - [select for diffs], Sat Oct 17 15:25:38 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.56: +13 -13 lines
Diff to previous 1.234.2.56 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Whitespace

Revision 1.234.2.56 / (download) - annotate - [select for diffs], Fri Oct 16 17:05:19 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.55: +3 -3 lines
Diff to previous 1.234.2.55 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Whitespace.

Revision 1.234.2.55 / (download) - annotate - [select for diffs], Fri Oct 16 17:00:15 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.54: +8 -7 lines
Diff to previous 1.234.2.54 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Whitespace.

Revision 1.234.2.54 / (download) - annotate - [select for diffs], Sun Oct 11 09:17:51 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.53: +4 -4 lines
Diff to previous 1.234.2.53 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Update ubm_allocx with the isoc frame count parameter and use it in
dwctwo(4)

Revision 1.234.2.53 / (download) - annotate - [select for diffs], Sun Oct 11 08:13:11 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.52: +2 -7 lines
Diff to previous 1.234.2.52 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Remove unused struct entry

Revision 1.234.2.52 / (download) - annotate - [select for diffs], Sat Oct 10 17:18:05 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.51: +42 -40 lines
Diff to previous 1.234.2.51 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Provide and use some macros to access ehci_{xfer,pipe} from
usbd_{xfer,pipe}

No functional change

Revision 1.234.2.51 / (download) - annotate - [select for diffs], Fri Oct 9 09:16:43 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.50: +32 -28 lines
Diff to previous 1.234.2.50 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Wrap/unwrap long lines

Revision 1.234.2.50 / (download) - annotate - [select for diffs], Tue Sep 22 12:06:01 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.49: +8 -16 lines
Diff to previous 1.234.2.49 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Sync with HEAD

Revision 1.245 / (download) - annotate - [select for diffs], Fri Sep 11 06:51:43 2015 UTC (8 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.244: +2 -13 lines
Diff to previous 1.244 (colored) to selected 1.187 (colored)

Fix up USBMODE registers in sc_vendor_init functions and not in the ehci
driver.

Revision 1.244 / (download) - annotate - [select for diffs], Mon Aug 24 23:55:04 2015 UTC (8 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.243: +5 -2 lines
Diff to previous 1.243 (colored) to selected 1.187 (colored)

add some _KERNEL_OPT as the finishing touch

Revision 1.243 / (download) - annotate - [select for diffs], Wed Aug 19 06:23:35 2015 UTC (8 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.242: +3 -3 lines
Diff to previous 1.242 (colored) to selected 1.187 (colored)

More IPL_SCHED -> IPL_USB

Revision 1.242 / (download) - annotate - [select for diffs], Sat Jul 11 03:06:25 2015 UTC (8 years, 8 months ago) by msaitoh
Branch: MAIN
Changes since 1.241: +5 -5 lines
Diff to previous 1.241 (colored) to selected 1.187 (colored)

 Use correct E[O]{READ,WRITE} function.

Revision 1.241 / (download) - annotate - [select for diffs], Thu Jul 2 09:05:06 2015 UTC (8 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.240: +3 -3 lines
Diff to previous 1.240 (colored) to selected 1.187 (colored)

Somehow the ; disappeared from the previouis commit

Revision 1.240 / (download) - annotate - [select for diffs], Thu Jul 2 08:35:44 2015 UTC (8 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.239: +3 -3 lines
Diff to previous 1.239 (colored) to selected 1.187 (colored)

From FreeBSD rev1.30 via OpenBSD:
 - always initialise the pipe multiplier to a valid value
 - do not unchain the the interrupt QHs immediately after initialisation

Prompted by msaitoh

Revision 1.234.2.49 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:13 2015 UTC (8 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.48: +4 -4 lines
Diff to previous 1.234.2.48 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Sync with HEAD

Revision 1.239 / (download) - annotate - [select for diffs], Mon May 11 06:44:36 2015 UTC (8 years, 10 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.238: +5 -5 lines
Diff to previous 1.238 (colored) to selected 1.187 (colored)

Remove '\n' from panic message.

Revision 1.234.2.48 / (download) - annotate - [select for diffs], Mon Apr 6 08:58:43 2015 UTC (8 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.47: +37 -37 lines
Diff to previous 1.234.2.47 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Use anonymous unions in various structs and rename the ctl/iso members of
the pipe structs to ctrl/isoc.

No functional change intended.

Revision 1.234.2.47 / (download) - annotate - [select for diffs], Mon Apr 6 07:08:59 2015 UTC (8 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.46: +23 -23 lines
Diff to previous 1.234.2.46 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Use an anonymous union in struct ehci_pipe and rename the ctl member to
ctrl.

No functional change.

Revision 1.234.2.46 / (download) - annotate - [select for diffs], Sat Mar 21 16:42:55 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.45: +2 -8 lines
Diff to previous 1.234.2.45 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

G/C unused variable/code

Revision 1.234.2.45 / (download) - annotate - [select for diffs], Thu Mar 19 17:26:42 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.44: +102 -101 lines
Diff to previous 1.234.2.44 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

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

Revision 1.234.2.44 / (download) - annotate - [select for diffs], Wed Mar 18 06:42:02 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.43: +2 -4 lines
Diff to previous 1.234.2.43 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

No need to touch ux_done in ehci_device_{fs_,}isoc_start

Revision 1.234.2.43 / (download) - annotate - [select for diffs], Tue Mar 17 20:56:39 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.42: +6 -4 lines
Diff to previous 1.234.2.42 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

KNF

Revision 1.234.2.42 / (download) - annotate - [select for diffs], Mon Mar 16 21:21:46 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.41: +45 -12 lines
Diff to previous 1.234.2.41 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Correct / improve some usb_syncmem calls.

Revision 1.234.2.41 / (download) - annotate - [select for diffs], Sun Mar 15 11:52:47 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.40: +8 -7 lines
Diff to previous 1.234.2.40 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Only dump sqtds if we're not isochronous

Revision 1.234.2.40 / (download) - annotate - [select for diffs], Sat Mar 7 22:15:50 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.39: +6 -2 lines
Diff to previous 1.234.2.39 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Add missing locking in ehci_device_fs_isoc_transfer

Revision 1.234.2.39 / (download) - annotate - [select for diffs], Thu Mar 5 20:57:07 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.38: +11 -17 lines
Diff to previous 1.234.2.38 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Remove macro magic. No functional change.

Revision 1.234.2.38 / (download) - annotate - [select for diffs], Tue Mar 3 10:06:01 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.37: +4 -4 lines
Diff to previous 1.234.2.37 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Convert to __BIT and friends.

No functional change.

Revision 1.234.2.37 / (download) - annotate - [select for diffs], Tue Mar 3 06:36:53 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.36: +4 -4 lines
Diff to previous 1.234.2.36 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Improve EHCI_PAGE macros and usage.

No functional change.

Revision 1.234.2.36 / (download) - annotate - [select for diffs], Mon Mar 2 22:16:38 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.35: +5 -5 lines
Diff to previous 1.234.2.35 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Simplify - no functional change.

Revision 1.234.2.35 / (download) - annotate - [select for diffs], Mon Mar 2 21:52:02 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.34: +23 -46 lines
Diff to previous 1.234.2.34 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

ex_isdone / ux_state tidyup

Revision 1.238 / (download) - annotate - [select for diffs], Sun Mar 1 09:53:36 2015 UTC (9 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.237: +3 -3 lines
Diff to previous 1.237 (colored) to selected 1.187 (colored)

Fix previous for HEAD

Revision 1.234.2.34 / (download) - annotate - [select for diffs], Sun Mar 1 08:26:55 2015 UTC (9 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.33: +3 -3 lines
Diff to previous 1.234.2.33 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Whitespace

Revision 1.234.2.33 / (download) - annotate - [select for diffs], Sun Mar 1 08:18:16 2015 UTC (9 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.32: +10 -3 lines
Diff to previous 1.234.2.32 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Improve debug

Revision 1.234.2.32 / (download) - annotate - [select for diffs], Sun Mar 1 08:17:45 2015 UTC (9 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.31: +8 -8 lines
Diff to previous 1.234.2.31 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Whitespace.

Revision 1.237 / (download) - annotate - [select for diffs], Sun Mar 1 08:03:35 2015 UTC (9 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.236: +11 -3 lines
Diff to previous 1.236 (colored) to selected 1.187 (colored)

Improve debug

Revision 1.236 / (download) - annotate - [select for diffs], Sun Mar 1 08:00:57 2015 UTC (9 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.235: +7 -7 lines
Diff to previous 1.235 (colored) to selected 1.187 (colored)


Whitespace

Revision 1.234.2.31 / (download) - annotate - [select for diffs], Sun Feb 22 08:59:17 2015 UTC (9 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.30: +20 -5 lines
Diff to previous 1.234.2.30 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Improvie debugging

Revision 1.234.2.30 / (download) - annotate - [select for diffs], Sun Feb 1 08:45:04 2015 UTC (9 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.29: +4 -4 lines
Diff to previous 1.234.2.29 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Define and use EHCI_QTD_MAXTRANSFER.  No functional change.

Revision 1.234.2.29 / (download) - annotate - [select for diffs], Sun Feb 1 06:15:41 2015 UTC (9 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.28: +7 -7 lines
Diff to previous 1.234.2.28 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

KNF

Revision 1.234.2.28 / (download) - annotate - [select for diffs], Fri Jan 2 08:52:14 2015 UTC (9 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.27: +4 -4 lines
Diff to previous 1.234.2.27 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

KNF - whitespace.

Revision 1.234.2.27 / (download) - annotate - [select for diffs], Fri Jan 2 08:45:05 2015 UTC (9 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.26: +22 -12 lines
Diff to previous 1.234.2.26 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

KNF. Comments.

Revision 1.234.2.26 / (download) - annotate - [select for diffs], Fri Jan 2 08:43:06 2015 UTC (9 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.25: +3 -3 lines
Diff to previous 1.234.2.25 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Oops, missed a semicolon in previous

Revision 1.234.2.25 / (download) - annotate - [select for diffs], Fri Jan 2 07:59:27 2015 UTC (9 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.24: +10 -29 lines
Diff to previous 1.234.2.24 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Convert some #ifdef DIAGNOSTIC / #endifs to KASSERT.

Revision 1.234.2.24 / (download) - annotate - [select for diffs], Fri Jan 2 07:57:18 2015 UTC (9 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.23: +2 -4 lines
Diff to previous 1.234.2.23 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Remove #ifdef DIAGNOSTIC / #endif from around a USBHIST_LOG call.

Revision 1.234.2.23 / (download) - annotate - [select for diffs], Wed Dec 24 14:18:32 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.22: +3 -3 lines
Diff to previous 1.234.2.22 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

No need for '\n' in USBHIST_LOG message.

Revision 1.234.2.22 / (download) - annotate - [select for diffs], Wed Dec 24 14:13:32 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.21: +3 -3 lines
Diff to previous 1.234.2.21 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Actually log the erroneous bInterval in ehci_device_fs_isoc_start

Revision 1.234.2.21 / (download) - annotate - [select for diffs], Wed Dec 24 14:12:16 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.20: +4 -4 lines
Diff to previous 1.234.2.20 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Typo in USBHIST_LOG message.

Revision 1.234.2.20 / (download) - annotate - [select for diffs], Wed Dec 24 14:11:05 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.19: +94 -93 lines
Diff to previous 1.234.2.19 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Prefix ehci_xfer members with 'ex_'. No functional change.

Revision 1.235 / (download) - annotate - [select for diffs], Wed Dec 24 14:01:10 2014 UTC (9 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.234: +3 -3 lines
Diff to previous 1.234 (colored) to selected 1.187 (colored)

Typo in USBHIST_LOG message

Revision 1.234.2.19 / (download) - annotate - [select for diffs], Tue Dec 23 19:31:44 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.18: +35 -35 lines
Diff to previous 1.234.2.18 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Remove an item and use a union to reduce the size of ehci_xfer

Revision 1.234.2.18 / (download) - annotate - [select for diffs], Mon Dec 22 08:24:20 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.17: +6 -4 lines
Diff to previous 1.234.2.17 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

KNF a comment.

Revision 1.234.2.17 / (download) - annotate - [select for diffs], Mon Dec 22 08:23:35 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.16: +3 -6 lines
Diff to previous 1.234.2.16 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

#ifdef DIAGNOSTIC ... panic... #endif -> KASSERT

Revision 1.234.2.16 / (download) - annotate - [select for diffs], Sat Dec 6 08:27:23 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.15: +17 -17 lines
Diff to previous 1.234.2.15 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

KNF. Remove argument name from function declarations.

No functional change.

Revision 1.234.2.15 / (download) - annotate - [select for diffs], Fri Dec 5 13:23:38 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.14: +9 -9 lines
Diff to previous 1.234.2.14 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Use int for return type for [eou]chi_init and motg_init.

Revision 1.234.2.14 / (download) - annotate - [select for diffs], Fri Dec 5 09:37:49 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.13: +51 -51 lines
Diff to previous 1.234.2.13 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

KNF. Remove ( ) from return statements.

Revision 1.234.2.13 / (download) - annotate - [select for diffs], Thu Dec 4 08:04:31 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.12: +64 -329 lines
Diff to previous 1.234.2.12 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Rework roothub control transfers so that much of the code is shared
across HCDs.

I have retained the vendor/product reporting for each HCD for now,
but it maybe get removed later.

ahci(4) now reports a language table and uses the usb_makestrdesc
function instead of rolling its own version.

Revision 1.234.2.12 / (download) - annotate - [select for diffs], Wed Dec 3 23:05:06 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.11: +3 -3 lines
Diff to previous 1.234.2.11 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Rename usbroothub_subr.[ch] to usbroothub.[ch]

Revision 1.234.2.11 / (download) - annotate - [select for diffs], Wed Dec 3 22:40:55 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.10: +6 -7 lines
Diff to previous 1.234.2.10 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Provide a USETWD macro for use with USB words designated
initialisers.

Revision 1.234.2.10 / (download) - annotate - [select for diffs], Wed Dec 3 13:19:38 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.9: +45 -43 lines
Diff to previous 1.234.2.9 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Use designated initializers for more descriptors.

Revision 1.234.2.9 / (download) - annotate - [select for diffs], Wed Dec 3 13:09:00 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.8: +16 -12 lines
Diff to previous 1.234.2.8 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Use designated initialisers for usb_device_descriptor_t structs.

Revision 1.234.2.8 / (download) - annotate - [select for diffs], Wed Dec 3 12:52:07 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.7: +286 -286 lines
Diff to previous 1.234.2.7 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

The grand renaming of structure members.

No functional change.

Revision 1.234.2.7 / (download) - annotate - [select for diffs], Tue Dec 2 09:00:33 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.6: +6 -47 lines
Diff to previous 1.234.2.6 (colored) to branchpoint 1.234 (colored) to selected 1.187 (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.234.2.6 / (download) - annotate - [select for diffs], Mon Dec 1 12:38:39 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.5: +53 -53 lines
Diff to previous 1.234.2.5 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Add prefixes to method structures member names. No functional change.

Revision 1.234.2.5 / (download) - annotate - [select for diffs], Mon Dec 1 08:12:09 2014 UTC (9 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.4: +2 -3 lines
Diff to previous 1.234.2.4 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Remove usbd_bus no_intrs member it was (virtually) unused.

Revision 1.234.2.4 / (download) - annotate - [select for diffs], Sun Nov 30 16:38:45 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.3: +3 -5 lines
Diff to previous 1.234.2.3 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Use ASSERT_SLEEPABLE.

Revision 1.234.2.3 / (download) - annotate - [select for diffs], Sun Nov 30 13:46:00 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.2: +594 -17 lines
Diff to previous 1.234.2.2 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Add full speed isoc support to ehci(4). Based on the patch posted in

https://mail-index.netbsd.org/port-arm/2013/04/14/msg001842.html

From Masao Uebayashi via Sebastien Bocahu

Revision 1.234.2.2 / (download) - annotate - [select for diffs], Sun Nov 30 13:14:11 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234.2.1: +13 -13 lines
Diff to previous 1.234.2.1 (colored) to branchpoint 1.234 (colored) to selected 1.187 (colored)

Whitespace

Revision 1.234.2.1 / (download) - annotate - [select for diffs], Sun Nov 30 12:18:58 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.234: +21 -21 lines
Diff to previous 1.234 (colored) to selected 1.187 (colored)

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

No functional change.

Revision 1.234 / (download) - annotate - [select for diffs], Mon Sep 22 08:13:02 2014 UTC (9 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.233: +4 -3 lines
Diff to previous 1.233 (colored) to selected 1.187 (colored)

Wrap a long line

Revision 1.233 / (download) - annotate - [select for diffs], Tue Sep 16 10:27:53 2014 UTC (9 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.232: +4 -4 lines
Diff to previous 1.232 (colored) to selected 1.187 (colored)

Use lower case for USBHIST messages.

Revision 1.232 / (download) - annotate - [select for diffs], Sat Sep 13 18:36:45 2014 UTC (9 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.231: +3 -3 lines
Diff to previous 1.231 (colored) to selected 1.187 (colored)

Whitespace.

Revision 1.231 / (download) - annotate - [select for diffs], Sat Sep 13 18:35:57 2014 UTC (9 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.230: +3 -3 lines
Diff to previous 1.230 (colored) to selected 1.187 (colored)

Fix reversed argument to USBHIST_LOG

Revision 1.230 / (download) - annotate - [select for diffs], Sat Sep 13 08:15:43 2014 UTC (9 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.229: +8 -3 lines
Diff to previous 1.229 (colored) to selected 1.187 (colored)

Fix build when USB_DEBUG is defined and EHCI_DEBUG isn't. The converse is
always true.

PR/49201 (broken build with options USB_DEBUG (latest current))

Revision 1.229 / (download) - annotate - [select for diffs], Fri Sep 12 16:40:38 2014 UTC (9 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.228: +512 -329 lines
Diff to previous 1.228 (colored) to selected 1.187 (colored)

Improve USB debugging with USBHIST based on KERNHIST.

Convert some DPRINTFs to USBHIST_LOG and allow usbdebug, ehcidebug and
umassdebug to be changed via sysctl.

Remove the #define mess in usb.h.

This was started by mrg@ and updated by reinoud@

Revision 1.192.2.4 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:51 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.192.2.3: +64 -57 lines
Diff to previous 1.192.2.3 (colored) to branchpoint 1.192 (colored) to selected 1.187 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.225.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:54:58 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.225: +9 -13 lines
Diff to previous 1.225 (colored) next main 1.226 (colored) to selected 1.187 (colored)

Rebase.

Revision 1.228 / (download) - annotate - [select for diffs], Tue Aug 5 10:33:46 2014 UTC (9 years, 7 months ago) by skrll
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-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: netbsd-7-nhusb, netbsd-7
Changes since 1.227: +2 -4 lines
Diff to previous 1.227 (colored) to selected 1.187 (colored)

Remove #ifdef DIAGNOSTIC around sc from the root interrupt abort methods
now it's always used.

Revision 1.227 / (download) - annotate - [select for diffs], Tue Aug 5 06:35:24 2014 UTC (9 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.226: +8 -10 lines
Diff to previous 1.226 (colored) to selected 1.187 (colored)

Simplify the freeing of the interrupt pipe transfer.  Inspired by OpenBSD.

Revision 1.226 / (download) - annotate - [select for diffs], Mon Aug 4 06:17:04 2014 UTC (9 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.225: +3 -3 lines
Diff to previous 1.225 (colored) to selected 1.187 (colored)

Fix duplicate assignment to NULL of sqtdstart in ehci_device_isoc_start
and initialise sqtdend is NULL instead.

From OpenBSD.

Revision 1.181.2.5 / (download) - annotate - [select for diffs], Thu May 22 11:40:36 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.181.2.4: +75 -75 lines
Diff to previous 1.181.2.4 (colored) to branchpoint 1.181 (colored) next main 1.182 (colored) to selected 1.187 (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.207.2.2 / (download) - annotate - [select for diffs], Sun May 18 17:45:47 2014 UTC (9 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.207.2.1: +55 -44 lines
Diff to previous 1.207.2.1 (colored) to branchpoint 1.207 (colored) next main 1.208 (colored) to selected 1.187 (colored)

sync with head

Revision 1.225 / (download) - annotate - [select for diffs], Mon Feb 17 07:34:21 2014 UTC (10 years, 1 month 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.224: +11 -16 lines
Diff to previous 1.224 (colored) to selected 1.187 (colored)

Re-establish the default pipe after the initial reading of the device
descriptor.

This fixes usbd_new_device so that there is no really need to touch
QHs/EDs in [eo]hci_device_request.

KASSERT the address and maximum packet length now.

Revision 1.224 / (download) - annotate - [select for diffs], Mon Dec 16 10:04:20 2013 UTC (10 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.223: +15 -6 lines
Diff to previous 1.223 (colored) to selected 1.187 (colored)

Backout the ED/QH change removal in [eo]hci_device_request.

Reports of the KASSERT firing mean this needs more thought/testing.

Revision 1.223 / (download) - annotate - [select for diffs], Sun Dec 15 17:15:34 2013 UTC (10 years, 3 months ago) by para
Branch: MAIN
Changes since 1.222: +3 -3 lines
Diff to previous 1.222 (colored) to selected 1.187 (colored)

mark variable usage, fix non DIAGNOSTIC non DEBUG build

Revision 1.222 / (download) - annotate - [select for diffs], Sun Dec 15 10:25:23 2013 UTC (10 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.221: +5 -14 lines
Diff to previous 1.221 (colored) to selected 1.187 (colored)

Now that usbd_new_device has been fixed there is no need to touch QHs/EDs
in [eo]hci_device_request.

KASSERT the address and maximum packet length just in case.

Revision 1.183.2.2 / (download) - annotate - [select for diffs], Sat Dec 14 19:26:39 2013 UTC (10 years, 3 months ago) by bouyer
Branch: netbsd-6
Changes since 1.183.2.1: +21 -4 lines
Diff to previous 1.183.2.1 (colored) to branchpoint 1.183 (colored) next main 1.184 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by skrll in ticket #990):
	sys/dev/usb/ehci.c: revision 1.221
In ehci_check_qh_intr don't treat a short control transfer as done if the
status phase is still inflight.  Let the hardware complete it.
PR/48358: Repeated low-speed USB control transfers returning short data
	  fail on EHCI
PR/46696: uhub disables port where USB keyboard attached

Revision 1.221 / (download) - annotate - [select for diffs], Sun Dec 1 07:34:16 2013 UTC (10 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.220: +21 -4 lines
Diff to previous 1.220 (colored) to selected 1.187 (colored)

In ehci_check_qh_intr don't treat a short control transfer as done if the
status phase is still inflight.  Let the hardware complete it.

PR/48358: Repeated low-speed USB control transfers returning short data
	  fail on EHCI

PR/46696: uhub disables port where USB keyboard attached

Revision 1.220 / (download) - annotate - [select for diffs], Sun Dec 1 07:28:47 2013 UTC (10 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.219: +3 -3 lines
Diff to previous 1.219 (colored) to selected 1.187 (colored)

Adjust KASSERT in device_ctrl_done to polling case.

PR/48213: ehci assertion failure during boot

Revision 1.219 / (download) - annotate - [select for diffs], Tue Nov 26 05:54:43 2013 UTC (10 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.218: +3 -3 lines
Diff to previous 1.218 (colored) to selected 1.187 (colored)

Improve DEBUG message.

Revision 1.218 / (download) - annotate - [select for diffs], Mon Nov 25 07:59:03 2013 UTC (10 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.217: +10 -8 lines
Diff to previous 1.217 (colored) to selected 1.187 (colored)

Improve DEBUG output.

Revision 1.217 / (download) - annotate - [select for diffs], Sat Nov 23 12:41:13 2013 UTC (10 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.216: +4 -5 lines
Diff to previous 1.216 (colored) to selected 1.187 (colored)

Simplify debug/DIAGNOSTIC code.

Revision 1.216 / (download) - annotate - [select for diffs], Sat Nov 23 12:35:19 2013 UTC (10 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.215: +8 -10 lines
Diff to previous 1.215 (colored) to selected 1.187 (colored)

Whitespace in DIAGNOSTIC code.

Revision 1.215 / (download) - annotate - [select for diffs], Mon Nov 4 16:54:36 2013 UTC (10 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.214: +3 -3 lines
Diff to previous 1.214 (colored) to selected 1.187 (colored)

mark a variable __diagused

Revision 1.214 / (download) - annotate - [select for diffs], Fri Nov 1 15:33:48 2013 UTC (10 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.213: +4 -4 lines
Diff to previous 1.213 (colored) to selected 1.187 (colored)

Style.

Revision 1.213 / (download) - annotate - [select for diffs], Mon Oct 28 17:40:43 2013 UTC (10 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.212: +3 -2 lines
Diff to previous 1.212 (colored) to selected 1.187 (colored)

Add an explicit initialization of .new_device = NULL

Revision 1.183.8.1 / (download) - annotate - [select for diffs], Thu Sep 26 01:57:22 2013 UTC (10 years, 6 months ago) by riz
Branch: netbsd-6-1
CVS Tags: netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE
Changes since 1.183: +7 -6 lines
Diff to previous 1.183 (colored) next main 1.184 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by skrll in ticket #950):
	sys/dev/usb/uhci.c: revision 1.255
	sys/dev/usb/uhci.c: revision 1.256
	sys/dev/usb/ehci.c: revision 1.205
	sys/dev/usb/uhci.c: revision 1.258
Add missed byteswap ops for BE machines in block added in rev 1.223.
Call usb_syncmem() against descriptors more strictly.
(not sure if the previous ones were fatal though)
Deal with control transfers better by
	- removing the UHCI_PTR_VF flag for the setup and status stages
	  which means they are scheduled less aggressively.  Some devices
	  appear to require this (blymn@ has one).  The flag was
	  introduced as a performance improvement for bulk transfers.
	- Checking for short reads and making sure the status stage runs
	  if they're encountered.
PR/47522 Enumeration of LUFA/Atmel devices on UHCI fails
Thanks to jak@ and blymn@ for testing and mlelstv@ for comments.

Revision 1.183.6.1 / (download) - annotate - [select for diffs], Thu Sep 26 01:55:49 2013 UTC (10 years, 6 months ago) by riz
Branch: netbsd-6-0
CVS Tags: netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE
Changes since 1.183: +7 -6 lines
Diff to previous 1.183 (colored) next main 1.184 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by skrll in ticket #950):
	sys/dev/usb/uhci.c: revision 1.255
	sys/dev/usb/uhci.c: revision 1.256
	sys/dev/usb/ehci.c: revision 1.205
	sys/dev/usb/uhci.c: revision 1.258
Add missed byteswap ops for BE machines in block added in rev 1.223.
Call usb_syncmem() against descriptors more strictly.
(not sure if the previous ones were fatal though)
Deal with control transfers better by
	- removing the UHCI_PTR_VF flag for the setup and status stages
	  which means they are scheduled less aggressively.  Some devices
	  appear to require this (blymn@ has one).  The flag was
	  introduced as a performance improvement for bulk transfers.
	- Checking for short reads and making sure the status stage runs
	  if they're encountered.
PR/47522 Enumeration of LUFA/Atmel devices on UHCI fails
Thanks to jak@ and blymn@ for testing and mlelstv@ for comments.

Revision 1.183.2.1 / (download) - annotate - [select for diffs], Thu Sep 26 01:51:47 2013 UTC (10 years, 6 months ago) by riz
Branch: netbsd-6
Changes since 1.183: +7 -6 lines
Diff to previous 1.183 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by skrll in ticket #950):
	sys/dev/usb/uhci.c: revision 1.255
	sys/dev/usb/uhci.c: revision 1.256
	sys/dev/usb/ehci.c: revision 1.205
	sys/dev/usb/uhci.c: revision 1.258
Add missed byteswap ops for BE machines in block added in rev 1.223.
Call usb_syncmem() against descriptors more strictly.
(not sure if the previous ones were fatal though)
Deal with control transfers better by
	- removing the UHCI_PTR_VF flag for the setup and status stages
	  which means they are scheduled less aggressively.  Some devices
	  appear to require this (blymn@ has one).  The flag was
	  introduced as a performance improvement for bulk transfers.
	- Checking for short reads and making sure the status stage runs
	  if they're encountered.
PR/47522 Enumeration of LUFA/Atmel devices on UHCI fails
Thanks to jak@ and blymn@ for testing and mlelstv@ for comments.

Revision 1.212 / (download) - annotate - [select for diffs], Thu Sep 12 19:53:41 2013 UTC (10 years, 6 months ago) by martin
Branch: MAIN
Changes since 1.211: +2 -7 lines
Diff to previous 1.211 (colored) to selected 1.187 (colored)

Remove unused variables

Revision 1.211 / (download) - annotate - [select for diffs], Sat Sep 7 19:53:24 2013 UTC (10 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.210: +6 -2 lines
Diff to previous 1.210 (colored) to selected 1.187 (colored)

add KASSERT to make sure softints are not NULL

Revision 1.210 / (download) - annotate - [select for diffs], Sat Sep 7 16:43:48 2013 UTC (10 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.209: +3 -3 lines
Diff to previous 1.209 (colored) to selected 1.187 (colored)

Typo.

Revision 1.207.2.1 / (download) - annotate - [select for diffs], Wed Aug 28 23:59:27 2013 UTC (10 years, 7 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.207: +5 -5 lines
Diff to previous 1.207 (colored) to selected 1.187 (colored)

sync with head

Revision 1.209 / (download) - annotate - [select for diffs], Sun Aug 25 06:16:19 2013 UTC (10 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.208: +3 -3 lines
Diff to previous 1.208 (colored) to selected 1.187 (colored)

Use UE_GET_XFERTYPE. No functional change.

Revision 1.208 / (download) - annotate - [select for diffs], Wed Aug 21 17:52:10 2013 UTC (10 years, 7 months ago) by jakllsch
Branch: MAIN
Changes since 1.207: +4 -4 lines
Diff to previous 1.207 (colored) to selected 1.187 (colored)

swap positions of ehci_root_ctrl_done and ehci_root_intr_done so that they
are grouped with their respective transfer types

Revision 1.207 / (download) - annotate - [select for diffs], Tue Jun 25 15:32:23 2013 UTC (10 years, 9 months ago) by jakllsch
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: rmind-smpnet
Changes since 1.206: +3 -3 lines
Diff to previous 1.206 (colored) to selected 1.187 (colored)

Change "translater" to "translator" in comment.

Revision 1.192.2.3 / (download) - annotate - [select for diffs], Sun Jun 23 06:20:22 2013 UTC (10 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.192.2.2: +7 -7 lines
Diff to previous 1.192.2.2 (colored) to branchpoint 1.192 (colored) to selected 1.187 (colored)

resync from head

Revision 1.206 / (download) - annotate - [select for diffs], Thu Apr 4 13:27:55 2013 UTC (10 years, 11 months ago) by skrll
Branch: MAIN
CVS Tags: khorben-n900
Changes since 1.205: +7 -7 lines
Diff to previous 1.205 (colored) to selected 1.187 (colored)

Don't take the bus lock in usbd_transfer_complete when polling.

Sprinkle || polling in KASSERTsw

Revision 1.192.2.2 / (download) - annotate - [select for diffs], Mon Feb 25 00:29:33 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.192.2.1: +73 -87 lines
Diff to previous 1.192.2.1 (colored) to branchpoint 1.192 (colored) to selected 1.187 (colored)

resync with head

Revision 1.205 / (download) - annotate - [select for diffs], Fri Feb 1 12:53:47 2013 UTC (11 years, 1 month ago) by tsutsui
Branch: MAIN
CVS Tags: agc-symver-base, agc-symver
Changes since 1.204: +7 -6 lines
Diff to previous 1.204 (colored) to selected 1.187 (colored)

Call usb_syncmem() against descriptors more strictly.
(not sure if the previous ones were fatal though)

Revision 1.204 / (download) - annotate - [select for diffs], Tue Jan 29 00:00:15 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.203: +8 -20 lines
Diff to previous 1.203 (colored) to selected 1.187 (colored)

use a pool instead of a linked list to avoid synchronization problems.

Revision 1.181.2.4 / (download) - annotate - [select for diffs], Wed Jan 23 00:06:10 2013 UTC (11 years, 2 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.181.2.3: +62 -65 lines
Diff to previous 1.181.2.3 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

sync with head

Revision 1.203 / (download) - annotate - [select for diffs], Tue Jan 22 12:40:42 2013 UTC (11 years, 2 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-pagecache-base8
Changes since 1.202: +4 -3 lines
Diff to previous 1.202 (colored) to selected 1.187 (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.181.2.3 / (download) - annotate - [select for diffs], Wed Jan 16 05:33:33 2013 UTC (11 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.181.2.2: +2 -4 lines
Diff to previous 1.181.2.2 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

sync with (a bit old) head

Revision 1.202 / (download) - annotate - [select for diffs], Tue Jan 15 17:45:05 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.201: +3 -3 lines
Diff to previous 1.201 (colored) to selected 1.187 (colored)

fix the fix of the fix of the format string.

Revision 1.201 / (download) - annotate - [select for diffs], Tue Jan 15 10:41:57 2013 UTC (11 years, 2 months ago) by mbalmer
Branch: MAIN
Changes since 1.200: +4 -4 lines
Diff to previous 1.200 (colored) to selected 1.187 (colored)

Fix a debug printf format.

Revision 1.200 / (download) - annotate - [select for diffs], Tue Jan 15 04:02:56 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.199: +7 -7 lines
Diff to previous 1.199 (colored) to selected 1.187 (colored)

fix printf formats

Revision 1.199 / (download) - annotate - [select for diffs], Tue Jan 15 03:24:00 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.198: +3 -4 lines
Diff to previous 1.198 (colored) to selected 1.187 (colored)

don't use kprintf() directly, it does not lock so it just garbles the output.

Revision 1.198 / (download) - annotate - [select for diffs], Wed Jan 9 23:02:59 2013 UTC (11 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.197: +2 -4 lines
Diff to previous 1.197 (colored) to selected 1.187 (colored)

Remove unused length member of ctrl xfer in struct ehci_pipe

Revision 1.197 / (download) - annotate - [select for diffs], Mon Jan 7 15:07:40 2013 UTC (11 years, 2 months ago) by prlw1
Branch: MAIN
Changes since 1.196: +43 -45 lines
Diff to previous 1.196 (colored) to selected 1.187 (colored)

Allow USB memory allocation by multiple segments in scatter/gather lists
rather than in a single contiguous block which causes problems with
large USB video frames.
Based on a patch by Jeremy Morse in the thread
http://mail-index.netbsd.org/current-users/2011/01/26/msg015532.html
Tested by developing http://code.opencv.org/issues/2360
OK jmcneill@

Revision 1.196 / (download) - annotate - [select for diffs], Sat Jan 5 23:34:16 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.195: +2 -5 lines
Diff to previous 1.195 (colored) to selected 1.187 (colored)

fix debug variables.
- include opt_usb.h in usb.h so that USB_DEBUG gets set properly in it.
- normalize and sort debugging variables

Revision 1.195 / (download) - annotate - [select for diffs], Sat Jan 5 01:30:15 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.194: +14 -12 lines
Diff to previous 1.194 (colored) to selected 1.187 (colored)

- need opt_usb.h if depending on USB_DEBUG
- remove trailing whitespace
- add missing KERNEL_RCSID

Revision 1.194 / (download) - annotate - [select for diffs], Wed Jan 2 09:49:14 2013 UTC (11 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.193: +6 -4 lines
Diff to previous 1.193 (colored) to selected 1.187 (colored)

KNF a comment.

Revision 1.192.2.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:02:33 2012 UTC (11 years, 4 months ago) by tls
Branch: tls-maxphys
Changes since 1.192: +2 -4 lines
Diff to previous 1.192 (colored) to selected 1.187 (colored)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.193 / (download) - annotate - [select for diffs], Sun Nov 4 12:01:55 2012 UTC (11 years, 4 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base7
Changes since 1.192: +2 -4 lines
Diff to previous 1.192 (colored) to selected 1.187 (colored)

Fix ETTF PSPD definitions and enable the ETTF PORTSC detection.
Fix EHCI portion of PR/47156.

Revision 1.181.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:22:04 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.181.2.1: +282 -168 lines
Diff to previous 1.181.2.1 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

sync with head

Revision 1.192 / (download) - annotate - [select for diffs], Fri Jun 22 00:12:23 2012 UTC (11 years, 9 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.191: +6 -3 lines
Diff to previous 1.191 (colored) to selected 1.187 (colored)

fix locking for isoc transfers, as reported (and the fix tested) by prlw1.

Revision 1.191 / (download) - annotate - [select for diffs], Tue Jun 19 07:15:41 2012 UTC (11 years, 9 months ago) by skrll
Branch: MAIN
Changes since 1.190: +4 -4 lines
Diff to previous 1.190 (colored) to selected 1.187 (colored)

Typos in comments.

Revision 1.190 / (download) - annotate - [select for diffs], Sun Jun 10 06:15:53 2012 UTC (11 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.189: +277 -166 lines
Diff to previous 1.189 (colored) to selected 1.187 (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.181.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:05 2012 UTC (11 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.181: +52 -71 lines
Diff to previous 1.181 (colored) to selected 1.187 (colored)

sync with head

Revision 1.181.6.20 / (download) - annotate - [select for diffs], Thu Apr 5 22:32:08 2012 UTC (11 years, 11 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.19: +2 -0 lines
Diff to previous 1.181.6.19 (colored) to branchpoint 1.181 (colored) next main 1.182 (colored) to selected 1.187 (colored)

make these compile without DIAGNOSTIC.

Revision 1.181.6.19 / (download) - annotate - [select for diffs], Thu Apr 5 21:33:33 2012 UTC (11 years, 11 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.18: +6 -6 lines
Diff to previous 1.181.6.18 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

sync to latest -current.

Revision 1.189 / (download) - annotate - [select for diffs], Sat Mar 17 11:45:00 2012 UTC (12 years ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base10
Changes since 1.188: +4 -4 lines
Diff to previous 1.188 (colored) to selected 1.187 (colored)

Always check index against array bound; keep only the printf under
DIAGNOSTIC. Suggested by matthew green

Revision 1.188 / (download) - annotate - [select for diffs], Thu Mar 15 18:38:37 2012 UTC (12 years ago) by bouyer
Branch: MAIN
Changes since 1.187: +4 -4 lines
Diff to previous 1.187 (colored)

Do not read array before detecting array overflow, found by gcc -O3

Revision 1.181.6.18 / (download) - annotate - [select for diffs], Mon Mar 12 06:42:15 2012 UTC (12 years ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.17: +9 -2 lines
Diff to previous 1.181.6.17 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

fix detach bugs:
- need to disestablish the ehci softint's.
- need to destroy needs_explore_cv
- note that ehci.c inits locks, but ehci_pci.c destroys them due to the
  way that the (pci) front end does softint handling, and can only be
  trusted to destroy them.  XXX need to fix this, by looking at the many
  ehci frontends as well and checking ohci/uhci.

Revision 1.181.6.17 / (download) - annotate - [select for diffs], Sun Mar 11 01:52:28 2012 UTC (12 years ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.16: +2 -2 lines
Diff to previous 1.181.6.16 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

sync to latest -current

Revision 1.187 / (download) - annotate - [selected], Sun Mar 11 00:34:45 2012 UTC (12 years ago) by mrg
Branch: MAIN
CVS Tags: jmcneill-usbmp-base7
Changes since 1.186: +5 -12 lines
Diff to previous 1.186 (colored)

pull down from usbmp branch:
- remove usbd_bus{} intr_context member, and replace the checks against
  it with cpu_intr_p() and cpu_softintr_p().

Revision 1.186 / (download) - annotate - [select for diffs], Tue Mar 6 03:35:29 2012 UTC (12 years ago) by mrg
Branch: MAIN
CVS Tags: jmcneill-usbmp-base6
Changes since 1.185: +45 -45 lines
Diff to previous 1.185 (colored) to selected 1.187 (colored)

pull down from usbmp branch:

- rename usb_detach_{wake,waitup}() to usb_detach_{wake,waitup}old()
- use some c99 struct .initialisers

Revision 1.185 / (download) - annotate - [select for diffs], Tue Mar 6 02:49:02 2012 UTC (12 years ago) by mrg
Branch: MAIN
Changes since 1.184: +2 -12 lines
Diff to previous 1.184 (colored) to selected 1.187 (colored)

pull down from usbmp:

kill the !USE_USE_SOFTINTR code.

Revision 1.184 / (download) - annotate - [select for diffs], Tue Mar 6 02:36:45 2012 UTC (12 years ago) by mrg
Branch: MAIN
Changes since 1.183: +2 -4 lines
Diff to previous 1.183 (colored) to selected 1.187 (colored)

pull down from usbmp branch:

- remove SPLUSBCHECK.  it has been broken and disabled for ages.

Revision 1.181.6.16 / (download) - annotate - [select for diffs], Sun Mar 4 01:32:47 2012 UTC (12 years ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.15: +4 -3 lines
Diff to previous 1.181.6.15 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

minor KNF.

Revision 1.181.6.15 / (download) - annotate - [select for diffs], Sat Mar 3 02:28:52 2012 UTC (12 years ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.14: +3 -4 lines
Diff to previous 1.181.6.14 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

revert a stray splx(s) that somehow got back in here..

Revision 1.181.6.14 / (download) - annotate - [select for diffs], Sun Feb 26 05:05:44 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.13: +4 -4 lines
Diff to previous 1.181.6.13 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

- add some more "XXXSMP ok" tags
- use cpu_softintr_p() instead of checking LP_INTR directly

Revision 1.181.6.13 / (download) - annotate - [select for diffs], Sat Feb 25 20:46:33 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.12: +5 -12 lines
Diff to previous 1.181.6.12 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

replace the (diagnostic-only) intr_context with checks against LP_INTR
and cpu_intr_p().

XXX: there's one check that changes behaviour

Revision 1.181.6.12 / (download) - annotate - [select for diffs], Sat Feb 25 10:26:23 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.11: +5 -5 lines
Diff to previous 1.181.6.11 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

copyright maintenence.

Revision 1.181.6.11 / (download) - annotate - [select for diffs], Thu Feb 23 09:25:04 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.10: +6 -6 lines
Diff to previous 1.181.6.10 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

update a bunch of comments for reality.  usb lock isn't a "thread lock",
which is terminology we copied from the audiomp code.

Revision 1.181.6.10 / (download) - annotate - [select for diffs], Mon Feb 20 22:42:24 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.9: +8 -4 lines
Diff to previous 1.181.6.9 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

make sure we have the thread lock when calling usb_transfer_complete()

Revision 1.181.6.9 / (download) - annotate - [select for diffs], Mon Feb 20 06:50:20 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.8: +5 -7 lines
Diff to previous 1.181.6.8 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

remove the intr_lock from the mp usb api, it wasn't used.

Revision 1.181.6.8 / (download) - annotate - [select for diffs], Mon Feb 20 04:05:44 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.7: +10 -10 lines
Diff to previous 1.181.6.7 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

remove a bunch of superfluous parens.

Revision 1.181.6.7 / (download) - annotate - [select for diffs], Mon Feb 20 03:23:26 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.6: +3 -3 lines
Diff to previous 1.181.6.6 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

adjust some comments to reality.  copy some XXX comments from ehci
into uhci/ohci since it's probably right there too

Revision 1.181.6.6 / (download) - annotate - [select for diffs], Mon Feb 20 02:12:23 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.5: +28 -29 lines
Diff to previous 1.181.6.5 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

several changes to the MP usb apis, and other misc changes:

- usb_transfer_complete()/usb_insert_transfer()/usb_start_next() all
  must have the thread lock held

- (*soft_intr) now is called with the thread lock held unless we are
  in polling mode.  add a usb_soft_intr() to deal with this

- XXX usbd_set_polling() api exists to increase/decrease the polling
  count, but only ukbd uses.  everyone else open codes it, but this
  should probably be changed

- (*abort) is now called with the thread lock held

- update several comments to not refer to splusb() anymore

- add many more asserts

- use more c99 struct initialisers

Revision 1.183 / (download) - annotate - [select for diffs], Fri Dec 23 00:51:43 2011 UTC (12 years, 3 months ago) by jakllsch
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-1-RELEASE, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2
Branch point for: netbsd-6-1, netbsd-6-0, netbsd-6
Changes since 1.182: +15 -15 lines
Diff to previous 1.182 (colored) to selected 1.187 (colored)

Revert previous due to active usbmp branch(es).

Revision 1.182 / (download) - annotate - [select for diffs], Thu Dec 22 20:06:59 2011 UTC (12 years, 3 months ago) by jakllsch
Branch: MAIN
Changes since 1.181: +15 -15 lines
Diff to previous 1.181 (colored) to selected 1.187 (colored)

Adjust-away inconsistent and trailing whitespace.

Revision 1.181.6.5 / (download) - annotate - [select for diffs], Fri Dec 9 01:52:59 2011 UTC (12 years, 3 months ago) by mrg
Branch: jmcneill-usbmp
CVS Tags: jmcneill-usbmp-pre-base2
Changes since 1.181.6.4: +11 -9 lines
Diff to previous 1.181.6.4 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

- make pipe->close method take the thread lock

- convert usb_taskq to use mutex/cv

- convert needs_explore usage into a cv on the thread lock

- remove KERNEL_*LOCK from uaudio and umidi, since we're supposedly
  MPSAFE here now

- use IPL_SCHED instead of IPL_USB (aka biglocked) interrupts

- drop the audio thread lock when calling into usb when it may sleep,
  avoiding a deadlock between audiowrite and audioioctl.  this fixes
  mixerctl -a vs. playing hanging the system
  XXX probably need to check this in a bunch more places.

Revision 1.181.6.2.2.1 / (download) - annotate - [select for diffs], Thu Dec 8 08:52:24 2011 UTC (12 years, 3 months ago) by mrg
Branch: mrg-ohci-jmcneill-usbmp
Changes since 1.181.6.2: +60 -53 lines
Diff to previous 1.181.6.2 (colored) next main 1.181.6.3 (colored) to selected 1.187 (colored)

sync a couple more changes from the main branch, uaudio@ohci still works.

Revision 1.181.6.4 / (download) - annotate - [select for diffs], Thu Dec 8 02:51:07 2011 UTC (12 years, 3 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.3: +56 -53 lines
Diff to previous 1.181.6.3 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

- convert usbd_bus_methods{} and usbd_pipe_methods{} to use
  c99 struct initialisers

- move the locks from the pipe to the bus, since we'll need
  access to them from bus-level ops

- remove dead-for-years SPLUSBCHECK and replaced it with
  asserts that the thread lock is held

- begin to document the locking scheme

- convert usbd_*lock_pipe() into real function-like macros

Revision 1.181.6.3 / (download) - annotate - [select for diffs], Tue Dec 6 02:10:01 2011 UTC (12 years, 3 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.181.6.2: +6 -2 lines
Diff to previous 1.181.6.2 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

need to ensure kpreempt_disable() for softint_schedule().

fix the locking in ohci_timeout_task(), ohci_device_isoc_start(),
ohci_device_isoc_abort() and ohci_device_isoc_close().

uaudio(4) can still play with these, but mixerctl -a against it will
hang the writer.  however, mixerctl continues to run in a tight loop
and the system isn't soft-locked up at this point, an advance from
how it is in -current.

Revision 1.181.6.2 / (download) - annotate - [select for diffs], Sun Dec 4 19:22:56 2011 UTC (12 years, 3 months ago) by jmcneill
Branch: jmcneill-usbmp
CVS Tags: mrg-ohci-jmcneill-usbmp-base
Branch point for: mrg-ohci-jmcneill-usbmp
Changes since 1.181.6.1: +4 -5 lines
Diff to previous 1.181.6.1 (colored) to branchpoint 1.181 (colored) to selected 1.187 (colored)

change callout_stop + usbd_delay_ms to callout_halt + callout_destroy in
ehci_detach

Revision 1.181.6.1 / (download) - annotate - [select for diffs], Sun Dec 4 13:23:16 2011 UTC (12 years, 3 months ago) by jmcneill
Branch: jmcneill-usbmp
Changes since 1.181: +231 -150 lines
Diff to previous 1.181 (colored) to selected 1.187 (colored)

Make ehci mpsafe.

Revision 1.154.4.2.4.2 / (download) - annotate - [select for diffs], Tue Aug 2 01:26:01 2011 UTC (12 years, 8 months ago) by matt
Branch: matt-nb5-pq3
Changes since 1.154.4.2.4.1: +10 -6 lines
Diff to previous 1.154.4.2.4.1 (colored) to branchpoint 1.154.4.2 (colored) next main 1.154.4.3 (colored) to selected 1.187 (colored)

Pull in ETTF EHCI changes from -current.

Revision 1.181 / (download) - annotate - [select for diffs], Fri Jul 1 23:48:20 2011 UTC (12 years, 9 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.180: +3 -3 lines
Diff to previous 1.180 (colored) to selected 1.187 (colored)

use an unsigned type for unsigned calcations.  avoid GCC 4.5 warnings.

Revision 1.180 / (download) - annotate - [select for diffs], Thu Jun 30 20:09:40 2011 UTC (12 years, 9 months ago) by wiz
Branch: MAIN
Changes since 1.179: +3 -3 lines
Diff to previous 1.179 (colored) to selected 1.187 (colored)

dependant -> dependent

Revision 1.177.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:09 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.177: +10 -9 lines
Diff to previous 1.177 (colored) next main 1.178 (colored) to selected 1.187 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.166.2.6 / (download) - annotate - [select for diffs], Sun Jun 12 00:24:26 2011 UTC (12 years, 9 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.166.2.5: +8 -7 lines
Diff to previous 1.166.2.5 (colored) to branchpoint 1.166 (colored) next main 1.167 (colored) to selected 1.187 (colored)

sync with head

Revision 1.179 / (download) - annotate - [select for diffs], Fri Jun 10 14:20:34 2011 UTC (12 years, 9 months ago) by jmcneill
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base
Changes since 1.178: +3 -3 lines
Diff to previous 1.178 (colored) to selected 1.187 (colored)

ehci_set_qh_qtd: terminate alternate next qTD pointer with EHCI_NULL, not 0

Revision 1.178 / (download) - annotate - [select for diffs], Thu Jun 9 19:08:31 2011 UTC (12 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.177: +9 -8 lines
Diff to previous 1.177 (colored) to selected 1.187 (colored)

Move EHCI_DEBUG, OHCI_DEBUG, UHCI_DEBUG, USB_DEBUG, UHUB_DEBUG to opt_usb.h
(ya dependencies).
Cleanup usb_mem.c a little more and add block tracking code.  Help find
corruption problems.
Comment out the SPEED check for ETTF.  XXX why doesn't that work right?

Revision 1.171.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:08:40 2011 UTC (12 years, 9 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.171: +67 -16 lines
Diff to previous 1.171 (colored) next main 1.172 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.166.2.5 / (download) - annotate - [select for diffs], Tue May 31 03:04:55 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.166.2.4: +4 -1 lines
Diff to previous 1.166.2.4 (colored) to branchpoint 1.166 (colored) to selected 1.187 (colored)

sync with head

Revision 1.177 / (download) - annotate - [select for diffs], Sat May 28 15:47:17 2011 UTC (12 years, 10 months ago) by tsutsui
Branch: MAIN
CVS Tags: cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.176: +7 -11 lines
Diff to previous 1.176 (colored) to selected 1.187 (colored)

Revert changes for PR kern/44907
http://mail-index.NetBSD.org/source-changes/2011/05/27/msg022584.html
for now.  It might cause a panic in ehci_freex() on device detach
as reported by Paul Goyette on current-users@.

Revision 1.176 / (download) - annotate - [select for diffs], Fri May 27 19:04:24 2011 UTC (12 years, 10 months ago) by tsutsui
Branch: MAIN
Changes since 1.175: +11 -7 lines
Diff to previous 1.175 (colored) to selected 1.187 (colored)

Apply patch in PR kern/44907 (crash due to race in ehci.c):
 - make sure to remove abort_task in ehci_freex
 - always initialize abort_task in ehci_allocx,
   not in ehci_timeout just before adding the task
Also apply similar fixes to ohci and uhci.

XXX: should we also call abort_task handler before removing it from queue
     if *hci_freex() is called for usbd_xfer_handle with queued abort_task?

Revision 1.175 / (download) - annotate - [select for diffs], Fri May 27 17:19:18 2011 UTC (12 years, 10 months ago) by drochner
Branch: MAIN
Changes since 1.174: +6 -3 lines
Diff to previous 1.174 (colored) to selected 1.187 (colored)

remember the data toggle bit per (bulk) endpoint rather than per
pipe, as required by the spec
This helps in cases where pipes are opened/closed without reconfiguring
the device in between, eg with the ugen driver.
only for UHCI/EHCI, don't have an OHCI to test

Revision 1.154.4.3 / (download) - annotate - [select for diffs], Fri May 20 19:31:46 2011 UTC (12 years, 10 months 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
Changes since 1.154.4.2: +2 -1 lines
Diff to previous 1.154.4.2 (colored) to branchpoint 1.154 (colored) next main 1.155 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by drochner in ticket #1620):
	sys/dev/usb/ehci.c: revision 1.174
in alloc_sqtd_chain(), deal with the case where a data packet ends
exactly at a page boundary, and the FORCE_SHORT_XFER was set by the
client (which causes that an empty descriptor is needed to terminate
the transfer), from Gordon McNutt per PR kern/44883
(fixed a bit differently than the proposed patch for aesthetical
reasons -- avoids the page pointer to come into unexpexted area earlier)

Revision 1.154.4.1.4.1 / (download) - annotate - [select for diffs], Fri May 20 08:11:26 2011 UTC (12 years, 10 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.154.4.1: +6 -3 lines
Diff to previous 1.154.4.1 (colored) next main 1.154.4.2 (colored) to selected 1.187 (colored)

bring matt-nb5-mips64 up to date with netbsd-5-1-RELEASE (except compat).

Revision 1.166.2.4 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:02 2011 UTC (12 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.166.2.3: +2 -1 lines
Diff to previous 1.166.2.3 (colored) to branchpoint 1.166 (colored) to selected 1.187 (colored)

sync with head

Revision 1.174 / (download) - annotate - [select for diffs], Wed Apr 20 09:32:43 2011 UTC (12 years, 11 months ago) by drochner
Branch: MAIN
Changes since 1.173: +4 -3 lines
Diff to previous 1.173 (colored) to selected 1.187 (colored)

in alloc_sqtd_chain(), deal with the case where a data packet ends
exactly at a page boundary, and the FORCE_SHORT_XFER was set by the
client (which causes that an empty descriptor is needed to terminate
the transfer), from Gordon McNutt per PR kern/44883
(fixed a bit differently than the proposed patch for aesthetical
reasons -- avoids the page pointer to come into unexpexted area earlier)

Revision 1.166.2.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:54:10 2011 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.166.2.2: +79 -21 lines
Diff to previous 1.166.2.2 (colored) to branchpoint 1.166 (colored) to selected 1.187 (colored)

sync with head

Revision 1.173 / (download) - annotate - [select for diffs], Tue Jan 18 15:05:03 2011 UTC (13 years, 2 months ago) by jmcneill
Branch: MAIN
CVS Tags: bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.172: +3 -3 lines
Diff to previous 1.172 (colored) to selected 1.187 (colored)

fix port reset for non-ETTF case broken by previous commit

Revision 1.172 / (download) - annotate - [select for diffs], Tue Jan 18 08:29:24 2011 UTC (13 years, 2 months ago) by matt
Branch: MAIN
Changes since 1.171: +61 -14 lines
Diff to previous 1.171 (colored) to selected 1.187 (colored)

Add preliminary support for Embedded Transaction Translator Function (as
found on the MPC8536 and AR9334) which allows low/full devices to be
connected to an EHCI root hub.

Revision 1.154.4.2.4.1 / (download) - annotate - [select for diffs], Fri Jan 7 02:50:47 2011 UTC (13 years, 2 months ago) by matt
Branch: matt-nb5-pq3
Changes since 1.154.4.2: +58 -13 lines
Diff to previous 1.154.4.2 (colored) to selected 1.187 (colored)

Add Embedded Transaction Translator Function support.  No proof it works
yet.

Revision 1.165.2.4 / (download) - annotate - [select for diffs], Sat Nov 6 08:08:34 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.165.2.3: +9 -9 lines
Diff to previous 1.165.2.3 (colored) to branchpoint 1.165 (colored) next main 1.166 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.171 / (download) - annotate - [select for diffs], Wed Nov 3 22:34:23 2010 UTC (13 years, 4 months ago) by dyoung
Branch: MAIN
CVS Tags: uebayasi-xip-base4, matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr
Changes since 1.170: +9 -9 lines
Diff to previous 1.170 (colored) to selected 1.187 (colored)

Stop using the compatibility macros USB_ATTACH(), USB_DETACH(),
USB_MATCH(), et cetera.  These files produce the same assembly
(according to objdump -d) before and after the change

Revision 1.165.2.3 / (download) - annotate - [select for diffs], Fri Oct 22 07:22:17 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.165.2.2: +7 -2 lines
Diff to previous 1.165.2.2 (colored) to branchpoint 1.165 (colored) to selected 1.187 (colored)

Sync with HEAD (-D20101022).

Revision 1.170 / (download) - annotate - [select for diffs], Sat Oct 16 05:23:41 2010 UTC (13 years, 5 months ago) by kiyohara
Branch: MAIN
CVS Tags: uebayasi-xip-base3
Changes since 1.169: +9 -4 lines
Diff to previous 1.169 (colored) to selected 1.187 (colored)

Add vendor dependent functions.
  sc_vendor_init()/sc_vendor_port_status().

Revision 1.165.2.2 / (download) - annotate - [select for diffs], Tue Aug 17 06:46:42 2010 UTC (13 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.165.2.1: +28 -38 lines
Diff to previous 1.165.2.1 (colored) to branchpoint 1.165 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.134.4.6 / (download) - annotate - [select for diffs], Wed Aug 11 22:54:13 2010 UTC (13 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.134.4.5: +30 -40 lines
Diff to previous 1.134.4.5 (colored) to branchpoint 1.134 (colored) next main 1.135 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.169 / (download) - annotate - [select for diffs], Wed Jul 7 03:55:01 2010 UTC (13 years, 8 months ago) by msaitoh
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base2
Changes since 1.168: +9 -3 lines
Diff to previous 1.168 (colored) to selected 1.187 (colored)

 For interrupt transfer, nak throttling must be disabled, but for the other
transfer type, nak throttling should be enabled from the veiwpoint that
avoids the memory thrashing. Fixes a problem that interrupt transfer stall
on some EHCI controllers (e.g. Geode LX). Fixed by Yamada Katsumi.

Revision 1.166.2.2 / (download) - annotate - [select for diffs], Sat Jul 3 01:19:41 2010 UTC (13 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.166.2.1: +17 -36 lines
Diff to previous 1.166.2.1 (colored) to branchpoint 1.166 (colored) to selected 1.187 (colored)

sync with head

Revision 1.154.4.2 / (download) - annotate - [select for diffs], Sat Jun 12 01:05:44 2010 UTC (13 years, 9 months ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, 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, matt-nb5-pq3-base
Branch point for: matt-nb5-pq3
Changes since 1.154.4.1: +6 -3 lines
Diff to previous 1.154.4.1 (colored) to branchpoint 1.154 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by jakllsch in ticket #1409):
	sys/dev/usb/ehci.c: revision 1.167
Nvidia EHCI controllers do not ignore one or more of the "Port Number",
"Hub Address", "Split Completion Mask" fields in the Queue Head marked
"This field is ignored by the host controller unless the EPS field
indicates a full- or low-speed device.".
Therefore, only populate these fields for full- and low-speed devices.
Fixes PR#37884.

Revision 1.168 / (download) - annotate - [select for diffs], Wed Jun 2 18:53:39 2010 UTC (13 years, 9 months ago) by jakllsch
Branch: MAIN
Changes since 1.167: +17 -36 lines
Diff to previous 1.167 (colored) to selected 1.187 (colored)

Improve EHCI isochronous code, fix scheduling.

 - Create and use symbolic constants.

 - Convert some switch statements to functionally-similar caculations.

 - Correct scheduling interval of high-speed isochronous transactions.
   Previous calculation produced half the intended rate.

Revision 1.166.2.1 / (download) - annotate - [select for diffs], Sun May 30 05:17:44 2010 UTC (13 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.166: +8 -5 lines
Diff to previous 1.166 (colored) to selected 1.187 (colored)

sync with head

Revision 1.167 / (download) - annotate - [select for diffs], Sat May 29 16:52:33 2010 UTC (13 years, 10 months ago) by jakllsch
Branch: MAIN
Changes since 1.166: +8 -5 lines
Diff to previous 1.166 (colored) to selected 1.187 (colored)

Nvidia EHCI controllers do not ignore one or more of the "Port Number",
"Hub Address", "Split Completion Mask" fields in the Queue Head marked
"This field is ignored by the host controller unless the EPS field
indicates a full- or low-speed device.".

Therefore, only populate these fields for full- and low-speed devices.

Fixes PR#37884.

Revision 1.165.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:43:50 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.165: +4 -4 lines
Diff to previous 1.165 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.134.4.5 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:04 2010 UTC (14 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.134.4.4: +70 -77 lines
Diff to previous 1.134.4.4 (colored) to branchpoint 1.134 (colored) to selected 1.187 (colored)

sync with head

Revision 1.166 / (download) - annotate - [select for diffs], Wed Feb 24 22:38:09 2010 UTC (14 years, 1 month ago) by dyoung
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1
Branch point for: rmind-uvmplock
Changes since 1.165: +4 -4 lines
Diff to previous 1.165 (colored) to selected 1.187 (colored)

A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.

Revision 1.165 / (download) - annotate - [select for diffs], Fri Jan 8 20:38:43 2010 UTC (14 years, 2 months ago) by dyoung
Branch: MAIN
CVS Tags: uebayasi-xip-base
Branch point for: uebayasi-xip
Changes since 1.164: +4 -4 lines
Diff to previous 1.164 (colored) to selected 1.187 (colored)

Expand PMF_FN_* macros.

Revision 1.164 / (download) - annotate - [select for diffs], Sat Nov 14 17:06:12 2009 UTC (14 years, 4 months ago) by uebayasi
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.163: +51 -53 lines
Diff to previous 1.163 (colored) to selected 1.187 (colored)

Sprinkle static.

Revision 1.123.12.6 / (download) - annotate - [select for diffs], Fri Nov 13 02:04:49 2009 UTC (14 years, 4 months ago) by uebayasi
Branch: itohy-usb1
Changes since 1.123.12.5: +6 -3 lines
Diff to previous 1.123.12.5 (colored) to branchpoint 1.123 (colored) next main 1.124 (colored) to selected 1.187 (colored)

Reduce the diff a little.

Revision 1.163 / (download) - annotate - [select for diffs], Thu Nov 12 19:46:01 2009 UTC (14 years, 4 months ago) by dyoung
Branch: MAIN
Changes since 1.162: +5 -10 lines
Diff to previous 1.162 (colored) to selected 1.187 (colored)

Simplify activation hook.

(sc_dying must die!)

Revision 1.123.12.5 / (download) - annotate - [select for diffs], Thu Nov 12 09:04:11 2009 UTC (14 years, 4 months ago) by uebayasi
Branch: itohy-usb1
Changes since 1.123.12.4: +4 -4 lines
Diff to previous 1.123.12.4 (colored) to branchpoint 1.123 (colored) to selected 1.187 (colored)

Sort struct usbd_bus_methods member initializers.

Revision 1.162 / (download) - annotate - [select for diffs], Sun Nov 1 13:26:50 2009 UTC (14 years, 4 months ago) by uebayasi
Branch: MAIN
Changes since 1.161: +3 -3 lines
Diff to previous 1.161 (colored) to selected 1.187 (colored)

EHCI_NULL is already little-endian.  No htole32() needed.  Pointed out by
Tsubai Masanari.

Revision 1.161 / (download) - annotate - [select for diffs], Sun Nov 1 07:23:13 2009 UTC (14 years, 5 months ago) by uebayasi
Branch: MAIN
CVS Tags: jym-xensuspend-nbase
Changes since 1.160: +13 -13 lines
Diff to previous 1.160 (colored) to selected 1.187 (colored)

Fix some whitespaces.

Revision 1.160 / (download) - annotate - [select for diffs], Sun Nov 1 06:36:44 2009 UTC (14 years, 5 months ago) by uebayasi
Branch: MAIN
Changes since 1.159: +4 -4 lines
Diff to previous 1.159 (colored) to selected 1.187 (colored)

Update referencial URLs.

Revision 1.134.4.4 / (download) - annotate - [select for diffs], Wed Sep 16 13:37:57 2009 UTC (14 years, 6 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.134.4.3: +20 -23 lines
Diff to previous 1.134.4.3 (colored) to branchpoint 1.134 (colored) to selected 1.187 (colored)

sync with head

Revision 1.159 / (download) - annotate - [select for diffs], Fri Sep 4 17:55:03 2009 UTC (14 years, 6 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8
Changes since 1.158: +20 -23 lines
Diff to previous 1.158 (colored) to selected 1.187 (colored)

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

Revision 1.134.4.3 / (download) - annotate - [select for diffs], Wed Aug 19 18:47:20 2009 UTC (14 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.134.4.2: +4 -4 lines
Diff to previous 1.134.4.2 (colored) to branchpoint 1.134 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.158 / (download) - annotate - [select for diffs], Mon Jul 27 14:41:19 2009 UTC (14 years, 8 months ago) by sketch
Branch: MAIN
CVS Tags: yamt-nfs-mp-base7
Changes since 1.157: +4 -4 lines
Diff to previous 1.157 (colored) to selected 1.187 (colored)

Wrap ehcidebug in EHCI_DEBUG, not USB_DEBUG.

Revision 1.156.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:21:34 2009 UTC (14 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.156: +3 -3 lines
Diff to previous 1.156 (colored) next main 1.157 (colored) to selected 1.187 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.134.4.2 / (download) - annotate - [select for diffs], Mon May 4 08:13:20 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.134.4.1: +984 -84 lines
Diff to previous 1.134.4.1 (colored) to branchpoint 1.134 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.154.2.2 / (download) - annotate - [select for diffs], Tue Apr 28 07:36:39 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.154.2.1: +3 -3 lines
Diff to previous 1.154.2.1 (colored) to branchpoint 1.154 (colored) next main 1.155 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.157 / (download) - annotate - [select for diffs], Wed Mar 18 10:22:41 2009 UTC (15 years ago) by cegger
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-base, jymxensuspend-base, jym-xensuspend-base
Changes since 1.156: +3 -3 lines
Diff to previous 1.156 (colored) to selected 1.187 (colored)

Ansify function definitions w/o arguments. Generated with sed.

Revision 1.154.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:19:08 2009 UTC (15 years, 2 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.154: +19 -17 lines
Diff to previous 1.154 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.131.6.5 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:09 2009 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.131.6.4: +55 -53 lines
Diff to previous 1.131.6.4 (colored) to branchpoint 1.131 (colored) next main 1.132 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.156 / (download) - annotate - [select for diffs], Tue Dec 16 22:35:35 2008 UTC (15 years, 3 months ago) by christos
Branch: MAIN
CVS Tags: nick-hppapmap-base2, mjf-devfs2-base
Branch point for: jym-xensuspend
Changes since 1.155: +9 -9 lines
Diff to previous 1.155 (colored) to selected 1.187 (colored)

replace bitmask_snprintf(9) with snprintb(3)

Revision 1.138.2.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:14:53 2008 UTC (15 years, 3 months ago) by haad
Branch: haad-dm
Changes since 1.138.2.1: +12 -10 lines
Diff to previous 1.138.2.1 (colored) to branchpoint 1.138 (colored) next main 1.139 (colored) to selected 1.187 (colored)

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

Revision 1.154.4.1 / (download) - annotate - [select for diffs], Sat Nov 29 20:47:05 2008 UTC (15 years, 4 months ago) by bouyer
Branch: netbsd-5
CVS Tags: netbsd-5-1-RC2, netbsd-5-1-RC1, 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-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.154: +12 -10 lines
Diff to previous 1.154 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by jmorse in ticket #138):
	sys/dev/usb/ehcireg.h: revision 1.29
	sys/dev/usb/ehci.c: revision 1.155
Fixed high-speed isoc USB transfers, 64 bit capable host controllers
have a different transfer descriptor to non-capable controllers.
Added dma-sync of data buffer before scheduling transfers

Revision 1.155 / (download) - annotate - [select for diffs], Fri Nov 28 17:18:21 2008 UTC (15 years, 4 months ago) by jmorse
Branch: MAIN
CVS Tags: haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Changes since 1.154: +12 -10 lines
Diff to previous 1.154 (colored) to selected 1.187 (colored)

Fixed high-speed isoc USB transfers, 64 bit capable host controllers have a different transfer descriptor to non-capable controllers.

Added dma-sync of data buffer before scheduling transfers

Revision 1.138.2.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:17:09 2008 UTC (15 years, 5 months ago) by haad
Branch: haad-dm
Changes since 1.138: +828 -70 lines
Diff to previous 1.138 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.154 / (download) - annotate - [select for diffs], Tue Oct 14 18:32:53 2008 UTC (15 years, 5 months ago) by jmcneill
Branch: MAIN
CVS Tags: netbsd-5-base, matt-mips64-base2, haad-dm-base1
Branch point for: nick-hppapmap, netbsd-5
Changes since 1.153: +4 -2 lines
Diff to previous 1.153 (colored) to selected 1.187 (colored)

ehci_dump_itd and _sitd are unused

Revision 1.153 / (download) - annotate - [select for diffs], Tue Oct 14 18:12:38 2008 UTC (15 years, 5 months ago) by jmcneill
Branch: MAIN
Changes since 1.152: +38 -40 lines
Diff to previous 1.152 (colored) to selected 1.187 (colored)

kern/39727: race condition in ehci isoc abort xfer path

From Jeremy Morse:

  * Serialize access to the ehci intrlist.
  * Change the ehci intrlist to a tailq so xfers are not queued out of order.
  * In ehci_check_itd_intr, don't treat a transfer error as an indication
    that the xfer is no longer active.

Revision 1.152 / (download) - annotate - [select for diffs], Sat Oct 11 13:56:51 2008 UTC (15 years, 5 months ago) by jmcneill
Branch: MAIN
Changes since 1.151: +3 -4 lines
Diff to previous 1.151 (colored) to selected 1.187 (colored)

Revert previous.

Revision 1.151 / (download) - annotate - [select for diffs], Sat Oct 11 05:17:12 2008 UTC (15 years, 5 months ago) by jmcneill
Branch: MAIN
Changes since 1.150: +4 -3 lines
Diff to previous 1.150 (colored) to selected 1.187 (colored)

ehci_check_itd_intr: correct logic for checking for active itds

Revision 1.135.2.4 / (download) - annotate - [select for diffs], Fri Oct 10 22:33:10 2008 UTC (15 years, 5 months ago) by skrll
Branch: wrstuden-revivesa
Changes since 1.135.2.3: +4 -4 lines
Diff to previous 1.135.2.3 (colored) to branchpoint 1.135 (colored) next main 1.136 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.150 / (download) - annotate - [select for diffs], Mon Oct 6 02:21:50 2008 UTC (15 years, 5 months ago) by jmcneill
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4
Changes since 1.149: +3 -3 lines
Diff to previous 1.149 (colored) to selected 1.187 (colored)

ehci_free_itd: use LIST_INSERT_HEAD rather than
LIST_INSERT_AFTER(LIST_FIRST(..), ..) when returning itds to the freelist
to prevent a crash when the freelist is empty. Reviewed by Jeremy Morse.

Revision 1.149 / (download) - annotate - [select for diffs], Sun Oct 5 21:31:39 2008 UTC (15 years, 5 months ago) by jmcneill
Branch: MAIN
Changes since 1.148: +3 -3 lines
Diff to previous 1.148 (colored) to selected 1.187 (colored)

Fix issue where multi-transaction isoc endpoints were forced to single
transactions, from Jeremy Morse.

Revision 1.91.2.10 / (download) - annotate - [select for diffs], Sun Sep 28 16:06:39 2008 UTC (15 years, 6 months ago) by jdc
Branch: netbsd-3
Changes since 1.91.2.9: +136 -8 lines
Diff to previous 1.91.2.9 (colored) to branchpoint 1.91 (colored) next main 1.92 (colored) to selected 1.187 (colored)

Pull up revisions:
  sys/dev/usb/ehci.c		1.138 via patch
  sys/dev/usb/ehcivar.h		1.31 via patch
  sys/dev/usb/ohci.c		1.195 via patch
  sys/dev/usb/ohcivar.h		1.45 via patch
  sys/dev/usb/uhci.c		1.223 via patch
  sys/dev/usb/uhcivar.h		1.45 via patch
  sys/dev/usb/usb_mem.c		1.37 via patch
  sys/dev/usb/usb_mem.h		1.27 via patch
requested by bouyer in ticket 1946.

Add appropriate bus_dmamap_sync() calls to uhci(4), ohci(4) and ehci(4),
as proposed on tech-kern@.
While all DMA memory used in the USB framework is mapped BUS_DMAMAP_COHERENT
(including data memory, which is memcpy'd from/to USB-private buffers),
the CPU can reorder loads or stores from/to main memory, causing the
controller to have an incoherent view of the DMA descriptors lists for a
short time. bus_dmamap_sync() should contain memory barriers that prevents
the CPU from reordering load/store. Note that BUS_DMAMAP_COHERENT is
still required for the DMA descriptor lists - these can't work properly
with software cache coherency.
This fixes "host controller process error/host controller halted" errors
I'm occasionally seeing with a umodem device on uhci on x86.
Thanks to Michael Lorenz for testing it on his O2, and Izumi Tsutsui on
his Cobalt Qube 2700.

Revision 1.131.6.4 / (download) - annotate - [select for diffs], Sun Sep 28 10:40:33 2008 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.131.6.3: +815 -57 lines
Diff to previous 1.131.6.3 (colored) to branchpoint 1.131 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.135.2.3 / (download) - annotate - [select for diffs], Wed Sep 24 16:38:55 2008 UTC (15 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.135.2.2: +16 -15 lines
Diff to previous 1.135.2.2 (colored) to branchpoint 1.135 (colored) to selected 1.187 (colored)

Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.

Revision 1.135.2.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:35:11 2008 UTC (15 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.135.2.1: +939 -54 lines
Diff to previous 1.135.2.1 (colored) to branchpoint 1.135 (colored) to selected 1.187 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.148 / (download) - annotate - [select for diffs], Wed Sep 10 06:08:27 2008 UTC (15 years, 6 months ago) by cegger
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3
Changes since 1.147: +5 -8 lines
Diff to previous 1.147 (colored) to selected 1.187 (colored)

update TODO list: we have isoc support

Revision 1.147 / (download) - annotate - [select for diffs], Tue Sep 9 21:51:32 2008 UTC (15 years, 6 months ago) by hubertf
Branch: MAIN
Changes since 1.146: +5 -5 lines
Diff to previous 1.146 (colored) to selected 1.187 (colored)

Sign over copyright of Jeremy Morse's code to TNF, OK'd by Jeremy Morse
(still mention Jeremy as contributor)

Revision 1.146 / (download) - annotate - [select for diffs], Tue Sep 9 00:46:45 2008 UTC (15 years, 6 months ago) by jmcneill
Branch: MAIN
Changes since 1.145: +10 -6 lines
Diff to previous 1.145 (colored) to selected 1.187 (colored)

Clarify the message printed by the kernel when a low or full speed
device with isochronous endpoints is attached to a hi-speed hub. Also
silence a printf in ehci_device_isoc_close

Revision 1.118.2.1.2.1 / (download) - annotate - [select for diffs], Thu Sep 4 08:46:45 2008 UTC (15 years, 6 months ago) by skrll
Branch: wrstuden-fixsa
Changes since 1.118.2.1: +136 -8 lines
Diff to previous 1.118.2.1 (colored) next main 1.118.2.2 (colored) to selected 1.187 (colored)

Sync with netbsd-4.

Revision 1.118.2.2 / (download) - annotate - [select for diffs], Sun Aug 31 16:48:29 2008 UTC (15 years, 7 months ago) by jdc
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base
Changes since 1.118.2.1: +136 -8 lines
Diff to previous 1.118.2.1 (colored) to branchpoint 1.118 (colored) next main 1.119 (colored) to selected 1.187 (colored)

Pull up revisions:
  src/sys/dev/usb/ehci.c:1.138
  src/sys/dev/usb/ehcivar.h:1.31
  src/sys/dev/usb/ohci.c:1.195
  src/sys/dev/usb/ohcivar.h:1.45
  src/sys/dev/usb/uhcivar.h:1.45
  src/sys/dev/usb/uhci.c:1.223
  src/sys/dev/usb/usb_mem.c:1.37
  src/sys/dev/usb/usb_mem.h:1.27
via patch (requested by bouyer in ticket #1166).

Revision 1.145 / (download) - annotate - [select for diffs], Thu Aug 28 23:08:00 2008 UTC (15 years, 7 months ago) by drochner
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-2
Changes since 1.144: +3 -2 lines
Diff to previous 1.144 (colored) to selected 1.187 (colored)

add a "break" so that the isoc setup code doesn't access uninitialized
data if the frames allocated by a client driver don't use up all the
microframes within a frame

Revision 1.144 / (download) - annotate - [select for diffs], Thu Aug 21 12:25:03 2008 UTC (15 years, 7 months ago) by drochner
Branch: MAIN
Changes since 1.143: +3 -3 lines
Diff to previous 1.143 (colored) to selected 1.187 (colored)

use M_NOWAIT in an early allocation for consistency, from Kevin Lo

Revision 1.143 / (download) - annotate - [select for diffs], Sat Aug 16 15:41:37 2008 UTC (15 years, 7 months ago) by drochner
Branch: MAIN
Changes since 1.142: +14 -6 lines
Diff to previous 1.142 (colored) to selected 1.187 (colored)

fix my last commit: add missing "break"s, from Marcus Glocker

Revision 1.142 / (download) - annotate - [select for diffs], Tue Aug 12 16:35:06 2008 UTC (15 years, 7 months ago) by drochner
Branch: MAIN
Changes since 1.141: +13 -15 lines
Diff to previous 1.141 (colored) to selected 1.187 (colored)

fix an off-by-one in isochronous interval check, and streamline some
frame / microframe calculation, avoiding overestimation of frames needed,
reviewed by Jared D. McNeill

Revision 1.141 / (download) - annotate - [select for diffs], Sun Aug 3 07:05:22 2008 UTC (15 years, 7 months ago) by cegger
Branch: MAIN
Changes since 1.140: +3 -3 lines
Diff to previous 1.140 (colored) to selected 1.187 (colored)

make i386 ALL kernel compile

Revision 1.140 / (download) - annotate - [select for diffs], Sat Aug 2 22:57:36 2008 UTC (15 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.139: +3 -2 lines
Diff to previous 1.139 (colored) to selected 1.187 (colored)

Update copyright.

Revision 1.139 / (download) - annotate - [select for diffs], Sat Aug 2 22:23:18 2008 UTC (15 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.138: +800 -51 lines
Diff to previous 1.138 (colored) to selected 1.187 (colored)

High speed isochronous support, from Jeremy Morse as part of Google
Summer of Code 2008.

Revision 1.136.2.2 / (download) - annotate - [select for diffs], Thu Jul 3 18:38:05 2008 UTC (15 years, 8 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.136.2.1: +136 -8 lines
Diff to previous 1.136.2.1 (colored) to branchpoint 1.136 (colored) next main 1.137 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.131.6.3 / (download) - annotate - [select for diffs], Sun Jun 29 09:33:11 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.131.6.2: +147 -7 lines
Diff to previous 1.131.6.2 (colored) to branchpoint 1.131 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.138 / (download) - annotate - [select for diffs], Sat Jun 28 17:42:53 2008 UTC (15 years, 9 months ago) by bouyer
Branch: MAIN
CVS Tags: simonb-wapbl-nbase, simonb-wapbl-base
Branch point for: haad-dm
Changes since 1.137: +136 -8 lines
Diff to previous 1.137 (colored) to selected 1.187 (colored)

Add appropriate bus_dmamap_sync() calls to uhci(4), ohci(4) and ehci(4),
as proposed on tech-kern@.
While all DMA memory used in the USB framework is mapped BUS_DMAMAP_COHERENT
(including data memory, which is memcpy'd from/to USB-private buffers),
the CPU can reorder loads or stores from/to main memory, causing the
controller to have an incoherent view of the DMA descriptors lists for a
short time. bus_dmamap_sync() should contain memory barriers that prevents
the CPU from reordering load/store. Note that BUS_DMAMAP_COHERENT is
still required for the DMA descriptor lists - these can't work properly
with software cache coherency.
This fixes "host controller process error/host controller halted" errors
I'm occasionally seeing with a umodem device on uhci on x86.
Thanks to Michael Lorenz for testing it on his O2, and Izumi Tsutsui on
his Cobalt Qube 2700.

Revision 1.135.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:31:36 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.135: +16 -4 lines
Diff to previous 1.135 (colored) to selected 1.187 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.136.2.1 / (download) - annotate - [select for diffs], Wed Jun 18 16:33:26 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.136: +15 -3 lines
Diff to previous 1.136 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.134.2.3 / (download) - annotate - [select for diffs], Tue Jun 17 09:15:02 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.134.2.2: +15 -3 lines
Diff to previous 1.134.2.2 (colored) to branchpoint 1.134 (colored) next main 1.135 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.137 / (download) - annotate - [select for diffs], Mon Jun 16 10:29:41 2008 UTC (15 years, 9 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Changes since 1.136: +15 -3 lines
Diff to previous 1.136 (colored) to selected 1.187 (colored)

fix selective port resume signaling (not used in normal operation,
just for correctness)

Revision 1.134.2.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:19 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.134.2.1: +3 -3 lines
Diff to previous 1.134.2.1 (colored) to branchpoint 1.134 (colored) to selected 1.187 (colored)

sync with head

Revision 1.131.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:23:53 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.131.6.1: +1 -8 lines
Diff to previous 1.131.6.1 (colored) to branchpoint 1.131 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.136 / (download) - annotate - [select for diffs], Wed May 21 17:19:44 2008 UTC (15 years, 10 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-pf42-base3
Branch point for: simonb-wapbl
Changes since 1.135: +3 -3 lines
Diff to previous 1.135 (colored) to selected 1.187 (colored)

fix argument to usb_setup_reserve() (called from USB host adapter drivers)
to be device_t consistently, from Quentin Garnier

Revision 1.123.12.4 / (download) - annotate - [select for diffs], Wed May 21 05:26:13 2008 UTC (15 years, 10 months ago) by itohy
Branch: itohy-usb1
Changes since 1.123.12.3: +12 -26 lines
Diff to previous 1.123.12.3 (colored) to branchpoint 1.123 (colored) to selected 1.187 (colored)

cleanup

Revision 1.123.12.3 / (download) - annotate - [select for diffs], Wed May 21 05:01:45 2008 UTC (15 years, 10 months ago) by itohy
Branch: itohy-usb1
Changes since 1.123.12.2: +216 -11 lines
Diff to previous 1.123.12.2 (colored) to branchpoint 1.123 (colored) to selected 1.187 (colored)

Use aux memory.

Revision 1.134.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:34:50 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.134: +2 -9 lines
Diff to previous 1.134 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.134.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:10 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.134: +2 -9 lines
Diff to previous 1.134 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.135 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:58 2008 UTC (15 years, 11 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base2, yamt-nfs-mp-base2, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa
Changes since 1.134: +2 -9 lines
Diff to previous 1.134 (colored) to selected 1.187 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.131.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:42:57 2008 UTC (15 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.131: +72 -70 lines
Diff to previous 1.131 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.134 / (download) - annotate - [select for diffs], Fri Mar 28 17:14:46 2008 UTC (16 years ago) by drochner
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base
Branch point for: yamt-pf42, yamt-nfs-mp
Changes since 1.133: +52 -53 lines
Diff to previous 1.133 (colored) to selected 1.187 (colored)

split device/softc for USB host controllers and the usb (control)
device,
this is hairy stuff, and I've only tested with uhci/ehci at pci,
please test the rest and report problems

Revision 1.131.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:16:09 2008 UTC (16 years ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.131: +22 -19 lines
Diff to previous 1.131 (colored) next main 1.132 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.124.2.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:53 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.124.2.2: +38 -61 lines
Diff to previous 1.124.2.2 (colored) to branchpoint 1.124 (colored) next main 1.125 (colored) to selected 1.187 (colored)

sync with HEAD

Revision 1.104.2.10 / (download) - annotate - [select for diffs], Mon Mar 17 09:15:28 2008 UTC (16 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.104.2.9: +6 -12 lines
Diff to previous 1.104.2.9 (colored) next main 1.105 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.133 / (download) - annotate - [select for diffs], Fri Mar 7 22:32:52 2008 UTC (16 years ago) by dyoung
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, ad-socklock-base1
Changes since 1.132: +6 -12 lines
Diff to previous 1.132 (colored) to selected 1.187 (colored)

Use device_t and accessors.  Setup power management in the PCI
front-end (XXX needs to look more alike the Cardbus front-end).
Establish the shutdown hook using PMF.

Revision 1.104.2.9 / (download) - annotate - [select for diffs], Wed Feb 27 08:36:47 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.104.2.8: +18 -9 lines
Diff to previous 1.104.2.8 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.132 / (download) - annotate - [select for diffs], Fri Feb 22 23:07:12 2008 UTC (16 years, 1 month ago) by dyoung
Branch: MAIN
CVS Tags: hpcarm-cleanup-base
Changes since 1.131: +18 -9 lines
Diff to previous 1.131 (colored) to selected 1.187 (colored)

Add a method to detach child.

Cosmetic: use device_t and accessors.  Use aprint_*_dev().  Use
PMF_FN_{ARGS,CALL,PROTO}.

Revision 1.125.2.3 / (download) - annotate - [select for diffs], Mon Feb 18 21:06:25 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.125.2.2: +19 -45 lines
Diff to previous 1.125.2.2 (colored) to branchpoint 1.125 (colored) next main 1.126 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.104.2.8 / (download) - annotate - [select for diffs], Mon Feb 4 09:23:36 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.104.2.7: +19 -45 lines
Diff to previous 1.104.2.7 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.131 / (download) - annotate - [select for diffs], Sun Feb 3 10:57:12 2008 UTC (16 years, 1 month ago) by drochner
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.130: +10 -30 lines
Diff to previous 1.130 (colored) to selected 1.187 (colored)

share some code for USB root hub emulation which is common in the 3
host controller implementations, start with two little functions
which fake up string descriptors (which were inconststent, language
table fetching didn't interoperate with other code in the tree)

Revision 1.130 / (download) - annotate - [select for diffs], Mon Jan 28 20:58:23 2008 UTC (16 years, 2 months ago) by jmcneill
Branch: MAIN
Changes since 1.129: +6 -14 lines
Diff to previous 1.129 (colored) to selected 1.187 (colored)

No need to operate in polling mode in ehci_resume.

Revision 1.129 / (download) - annotate - [select for diffs], Mon Jan 28 01:52:31 2008 UTC (16 years, 2 months ago) by jmcneill
Branch: MAIN
Changes since 1.128: +5 -5 lines
Diff to previous 1.128 (colored) to selected 1.187 (colored)

Ensure that we don't clear the EHCI_PS_CLEAR bits by writing 1s to them
when modifying port state in ehci_suspend and ehci_resume.

Revision 1.128 / (download) - annotate - [select for diffs], Mon Jan 28 00:47:05 2008 UTC (16 years, 2 months ago) by jmcneill
Branch: MAIN
Changes since 1.127: +4 -2 lines
Diff to previous 1.127 (colored) to selected 1.187 (colored)

Release port ownership on detach, so devices will be routed to companion
controllers. This allows 'drvctl -d ehci0' to disable USB 2.0 mode.

Revision 1.104.2.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:44:41 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.104.2.6: +98 -83 lines
Diff to previous 1.104.2.6 (colored) to selected 1.187 (colored)

sync with head

Revision 1.124.2.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:54:37 2008 UTC (16 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.124.2.1: +104 -87 lines
Diff to previous 1.124.2.1 (colored) to branchpoint 1.124 (colored) to selected 1.187 (colored)

sync with HEAD

Revision 1.125.2.2 / (download) - annotate - [select for diffs], Thu Dec 27 00:45:29 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.125.2.1: +98 -83 lines
Diff to previous 1.125.2.1 (colored) to branchpoint 1.125 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.125.4.2 / (download) - annotate - [select for diffs], Wed Dec 26 21:39:29 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.125.4.1: +98 -83 lines
Diff to previous 1.125.4.1 (colored) to branchpoint 1.125 (colored) next main 1.126 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.126.2.1 / (download) - annotate - [select for diffs], Tue Dec 11 15:40:00 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-kmem
Changes since 1.126: +98 -83 lines
Diff to previous 1.126 (colored) next main 1.127 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.127 / (download) - annotate - [select for diffs], Sun Dec 9 20:28:23 2007 UTC (16 years, 3 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, vmlocking2-base3, matt-armv6-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386
Changes since 1.126: +98 -83 lines
Diff to previous 1.126 (colored) to selected 1.187 (colored)

Merge jmcneill-pm branch.

Revision 1.123.18.8 / (download) - annotate - [select for diffs], Sun Dec 9 19:38:00 2007 UTC (16 years, 3 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.123.18.7: +8 -6 lines
Diff to previous 1.123.18.7 (colored) to branchpoint 1.123 (colored) next main 1.124 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.125.2.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:20:00 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.125: +8 -6 lines
Diff to previous 1.125 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.125.4.1 / (download) - annotate - [select for diffs], Sat Dec 8 17:57:32 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.125: +8 -6 lines
Diff to previous 1.125 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.104.2.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:31:27 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.104.2.5: +8 -6 lines
Diff to previous 1.104.2.5 (colored) to selected 1.187 (colored)

sync with head

Revision 1.126 / (download) - annotate - [select for diffs], Wed Dec 5 07:15:53 2007 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base, vmlocking2-base2, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base
Branch point for: yamt-kmem
Changes since 1.125: +8 -6 lines
Diff to previous 1.125 (colored) to selected 1.187 (colored)

lockmgr -> mutex

Revision 1.123.18.7 / (download) - annotate - [select for diffs], Wed Nov 7 01:14:16 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.123.18.6: +3 -3 lines
Diff to previous 1.123.18.6 (colored) to branchpoint 1.123 (colored) to selected 1.187 (colored)

Introduce device_has_power to fix a race between resuming a device and
the device enabling interrupts as seen by jmcneill@ with uhci. Change
ehci, ohci, uhci and azalia to use this function to protect the
interrupt handler.

Revision 1.124.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:30:29 2007 UTC (16 years, 4 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.124: +3 -3 lines
Diff to previous 1.124 (colored) to selected 1.187 (colored)

sync with HEAD

Revision 1.123.18.6 / (download) - annotate - [select for diffs], Tue Nov 6 14:27:32 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.123.18.5: +9 -5 lines
Diff to previous 1.123.18.5 (colored) to branchpoint 1.123 (colored) to selected 1.187 (colored)

Refactor PNP API:
- Make suspend/resume directly a device functionality. It consists of
  three layers (class logic, device logic, bus logic), all of them being
  optional. This replaces D0/D3 transitions.
- device_is_active returns true if the device was not disabled and was
  not suspended (even partially), device_is_enabled returns true if the
  device was enabled.
- Change pnp_global_transition into pnp_system_suspend and
  pnp_system_resume. Before running any suspend/resume handlers, check
  that all currently attached devices support power management and bail
  out otherwise. The latter is not done for the shutdown/panic case.
- Make the former bus-specific generic network handlers a class handler.
- Make PNP message like volume up/down/toogle PNP events. Each device
  can register what events they are interested in and whether the handler
  should be global or not.
- Introduce device_active API for devices to mark themselve in use from
  either the system or the device. Use this to implement the idle handling
  for audio and input devices. This is intended to replace most ad-hoc
  watchdogs as well.
- Fix somes situations in which audio resume would lose mixer settings.
- Make USB host controllers better deal with suspend in the light of
  shared interrupts.
- Flush filesystem cache on suspend.
- Flush disk caches on suspend. Put ATA disks into standby on suspend as
  well.
- Adopt drivers to use the new PNP API.
- Fix a critical bug in the generic cardbus layer that made D0->D3
  break.
- Fix ral(4) to set if_stop.
- Convert cbb(4) to the new PNP API.
- Apply the PCI Express SCI fix on resume again.

Revision 1.104.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:34:30 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.104.2.4: +3 -3 lines
Diff to previous 1.104.2.4 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.123.18.5 / (download) - annotate - [select for diffs], Fri Oct 26 15:47:47 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.123.18.4: +3 -3 lines
Diff to previous 1.123.18.4 (colored) to branchpoint 1.123 (colored) to selected 1.187 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.124.6.1 / (download) - annotate - [select for diffs], Thu Oct 25 22:39:48 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.124: +3 -3 lines
Diff to previous 1.124 (colored) next main 1.125 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.123.4.2 / (download) - annotate - [select for diffs], Tue Oct 23 20:09:50 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.123.4.1: +3 -3 lines
Diff to previous 1.123.4.1 (colored) to branchpoint 1.123 (colored) next main 1.124 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.125 / (download) - annotate - [select for diffs], Fri Oct 19 12:01:21 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: vmlocking2-base1, vmlocking-nbase, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: vmlocking2, mjf-devfs
Changes since 1.124: +3 -3 lines
Diff to previous 1.124 (colored) to selected 1.187 (colored)

machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h

Revision 1.123.18.4 / (download) - annotate - [select for diffs], Mon Oct 1 05:37:58 2007 UTC (16 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.123.18.3: +89 -122 lines
Diff to previous 1.123.18.3 (colored) to branchpoint 1.123 (colored) to selected 1.187 (colored)

Extend device API by device_power_private and device_power_set_private.
The latter is a temporary mean until the pnp_register API itself is
overhault. This functions allow a generic power handler to store its
state independent of the driver.

Use this and revamp the PCI power handling. Pretty much all PCI devices
had power handlers that did the same thing, generalize this in
pci_generic_power_register/deregister and the handler. This interface
offers callbacks for the drivers to save and restore state on
transistions. After a long discussion with jmcneill@ it was considered
to be powerful enough until evidence is shown that devices can handle
D1/D2 with less code and higher speed than without the full
save/restore. The generic code is carefully written to handle device
without PCI-PM support and ensure that the correct registers are written
to when D3 loses all state.

Reimplement the generic PCI network device handling on
top of PCI generic power handling.

Introduce pci_disable_retry as used and implemented locally at least by
ath(4) and iwi(4). Use it in this drivers to restore behaviour from
before the introduction of generic PCI network handling.

Convert all PCI drivers that were using pnp_register to the new
framework. The only exception is vga(4) as it is commonly used as
console device. Add a note therein that this should be fixed later.

Revision 1.104.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:38:59 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.104.2.3: +22 -17 lines
Diff to previous 1.104.2.3 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.123.4.1 / (download) - annotate - [select for diffs], Mon Aug 20 18:37:51 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.123: +3 -3 lines
Diff to previous 1.123 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.123.18.3 / (download) - annotate - [select for diffs], Thu Aug 16 11:03:19 2007 UTC (16 years, 7 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.123.18.2: +3 -3 lines
Diff to previous 1.123.18.2 (colored) to branchpoint 1.123 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.123.14.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:48:47 2007 UTC (16 years, 7 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.123: +3 -3 lines
Diff to previous 1.123 (colored) next main 1.124 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.124 / (download) - annotate - [select for diffs], Wed Aug 15 04:00:33 2007 UTC (16 years, 7 months ago) by kiyohara
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking-base, nick-csl-alignment-base5
Branch point for: matt-armv6, bouyer-xenamd64
Changes since 1.123: +3 -3 lines
Diff to previous 1.123 (colored) to selected 1.187 (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.123.18.2 / (download) - annotate - [select for diffs], Tue Aug 7 01:02:14 2007 UTC (16 years, 7 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.123.18.1: +36 -2 lines
Diff to previous 1.123.18.1 (colored) to branchpoint 1.123 (colored) to selected 1.187 (colored)

Suspend and resume individual ports, from FreeBSD. With this change, USB
devices no longer detach and reattach on resume.

Revision 1.123.18.1 / (download) - annotate - [select for diffs], Fri Aug 3 22:17:25 2007 UTC (16 years, 7 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.123: +81 -71 lines
Diff to previous 1.123 (colored) to selected 1.187 (colored)

Pull in power management changes from private branch.

Revision 1.123.12.2 / (download) - annotate - [select for diffs], Thu May 31 23:15:16 2007 UTC (16 years, 10 months ago) by itohy
Branch: itohy-usb1
Changes since 1.123.12.1: +11 -4 lines
Diff to previous 1.123.12.1 (colored) to branchpoint 1.123 (colored) to selected 1.187 (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.123.12.1 / (download) - annotate - [select for diffs], Tue May 22 14:57:34 2007 UTC (16 years, 10 months ago) by itohy
Branch: itohy-usb1
Changes since 1.123: +948 -412 lines
Diff to previous 1.123 (colored) to selected 1.187 (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.122.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:54:04 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.122: +21 -16 lines
Diff to previous 1.122 (colored) next main 1.123 (colored) to selected 1.187 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.123 / (download) - annotate - [select for diffs], Mon Feb 26 13:26:45 2007 UTC (17 years, 1 month 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, mjf-ufs-trans, matt-mips64-base, matt-mips64, itohy-usb1-base, hpcarm-cleanup, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, nick-csl-alignment, jmcneill-pm, itohy-usb1
Changes since 1.122: +21 -16 lines
Diff to previous 1.122 (colored) to selected 1.187 (colored)

-in root hub emulation, return a sane value as language code
-constify "methods" tables and (partly) descriptor templates

Revision 1.104.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:10:43 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.104.2.2: +5 -40 lines
Diff to previous 1.104.2.2 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.118.2.1 / (download) - annotate - [select for diffs], Wed Feb 21 13:26:41 2007 UTC (17 years, 1 month ago) by tron
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-base-1, 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
Branch point for: wrstuden-fixsa
Changes since 1.118: +2 -4 lines
Diff to previous 1.118 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by mlelstv in ticket #450):
	sys/dev/usb/ohci.c: revision 1.181
	sys/dev/usb/uhci.c: revision 1.207
	sys/dev/usb/ehci.c: revision 1.122
	sys/dev/usb/usbdi.c: revision 1.118
The diagnostic code doesn't track busy_free correctly when a
device gets removed. However, when the diagnostic check fails,
it is much better to complete the free operation than to abort
it, because this just causes an infinite loop.

Revision 1.122 / (download) - annotate - [select for diffs], Sat Feb 10 07:52:29 2007 UTC (17 years, 1 month ago) by mlelstv
Branch: MAIN
Branch point for: yamt-idlelwp
Changes since 1.121: +2 -4 lines
Diff to previous 1.121 (colored) to selected 1.187 (colored)

The diagnostic code doesn't track busy_free correctly when a
device gets removed. However, when the diagnostic check fails,
it is much better to complete the free operation than to abort
it, because this just causes an infinite loop.

Revision 1.121 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:29 2007 UTC (17 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Changes since 1.120: +4 -4 lines
Diff to previous 1.120 (colored) to selected 1.187 (colored)

Merge newlock2 to head.

Revision 1.111.2.4 / (download) - annotate - [select for diffs], Tue Feb 6 13:32:31 2007 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.111.2.3: +4 -4 lines
Diff to previous 1.111.2.3 (colored) to branchpoint 1.111 (colored) next main 1.112 (colored) to selected 1.187 (colored)

Quiten noisy boot messages.

Revision 1.111.2.3 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:28 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.111.2.2: +3 -3 lines
Diff to previous 1.111.2.2 (colored) to branchpoint 1.111 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.120 / (download) - annotate - [select for diffs], Fri Jan 19 22:46:21 2007 UTC (17 years, 2 months ago) by drochner
Branch: MAIN
CVS Tags: newlock2-nbase, newlock2-base
Changes since 1.119: +3 -3 lines
Diff to previous 1.119 (colored) to selected 1.187 (colored)

Kill the "bus powered" bit in the configuration descriptor. This doesn't
exist in newer spec revisions, and is recommended to be set to 1.
So call it _MBO and also use it in the fake root hub descriptors, just
for sanity, even if nothing ever looks at it.

Revision 1.111.2.2 / (download) - annotate - [select for diffs], Fri Jan 12 00:57:48 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.111.2.1: +33 -57 lines
Diff to previous 1.111.2.1 (colored) to branchpoint 1.111 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.119 / (download) - annotate - [select for diffs], Sun Jan 7 16:44:44 2007 UTC (17 years, 2 months ago) by drochner
Branch: MAIN
Changes since 1.118: +2 -35 lines
Diff to previous 1.118 (colored) to selected 1.187 (colored)

Remove the code which disables port status change interrupts for 1s
when one occured -- this makes that events get lost (or delayed until
the next change), in particular in the handover process from the EHCI
to a companion controller, laeving the port dead under some circumstances.
This fixes the "can't reconnect" symptom for me.
I don't see why the interrupt should be disabled - it is acknowledged
in the interrupt handler and shouldn't be active again until the next
status change.

Revision 1.104.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:49:38 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.104.2.1: +61 -32 lines
Diff to previous 1.104.2.1 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.111.4.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:18:16 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.111.4.1: +45 -35 lines
Diff to previous 1.111.4.1 (colored) to branchpoint 1.111 (colored) next main 1.112 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.118 / (download) - annotate - [select for diffs], Thu Nov 30 16:25:28 2006 UTC (17 years, 4 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, netbsd-4-base
Branch point for: netbsd-4
Changes since 1.117: +3 -3 lines
Diff to previous 1.117 (colored) to selected 1.187 (colored)

in the interrupt endpoint descriptor of the simulated root hub, fix the
poll interval: since this is a highspeed device, it should be a "12"
(just for sanity; this stuff is not used by the kernel, only userland
usb exploration code might see it)

Revision 1.117 / (download) - annotate - [select for diffs], Tue Nov 28 20:58:12 2006 UTC (17 years, 4 months ago) by drochner
Branch: MAIN
Changes since 1.116: +7 -13 lines
Diff to previous 1.116 (colored) to selected 1.187 (colored)

Remove the code which tried to guess the toggle bit after a short
transfer. It was wrong because it didn't consider block boundaries.
Instead, use the updated toggle from the transfer descriptor -- this
is supposedly cheaper than modulo arithmetics.
This fixes a problem similar to PR kern/34070 for me.

Revision 1.116 / (download) - annotate - [select for diffs], Wed Nov 22 21:10:36 2006 UTC (17 years, 4 months ago) by drochner
Branch: MAIN
Changes since 1.115: +27 -12 lines
Diff to previous 1.115 (colored) to selected 1.187 (colored)

-fix interpretation of the poll interval in interrupt descriptors for
 USB2/highspeed: This is an exponent now, not milliseconds.
 (There are wrong example descriptors for hubs in the USB2 spec; tolerate
  invalid values and assume 256ms which is good for hubs, just in case
  someone blindly copied from the book.)
-being here, fix an obvious memory leak

Revision 1.111.2.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:34:50 2006 UTC (17 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.111: +28 -9 lines
Diff to previous 1.111 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.115 / (download) - annotate - [select for diffs], Thu Nov 16 01:33:26 2006 UTC (17 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.114: +12 -12 lines
Diff to previous 1.114 (colored) to selected 1.187 (colored)

__unused removal on arguments; approved by core.

Revision 1.114 / (download) - annotate - [select for diffs], Tue Oct 31 20:43:31 2006 UTC (17 years, 5 months ago) by joerg
Branch: MAIN
Changes since 1.113: +4 -3 lines
Diff to previous 1.113 (colored) to selected 1.187 (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.111.4.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:06:51 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.111: +31 -13 lines
Diff to previous 1.111 (colored) to selected 1.187 (colored)

sync with head

Revision 1.113 / (download) - annotate - [select for diffs], Thu Oct 12 01:31:59 2006 UTC (17 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.112: +29 -12 lines
Diff to previous 1.112 (colored) to selected 1.187 (colored)

- sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386

Revision 1.112 / (download) - annotate - [select for diffs], Sun Sep 24 03:54:00 2006 UTC (17 years, 6 months ago) by jmcneill
Branch: MAIN
Changes since 1.111: +4 -3 lines
Diff to previous 1.111 (colored) to selected 1.187 (colored)

Add "name" parameter to powerhook_establish, to aid debugging. No objections
on tech-kern@

Revision 1.108.2.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:55:33 2006 UTC (17 years, 6 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.108: +11 -8 lines
Diff to previous 1.108 (colored) next main 1.109 (colored) to selected 1.187 (colored)

sync with head

Revision 1.108.6.3 / (download) - annotate - [select for diffs], Sun Sep 3 15:25:03 2006 UTC (17 years, 6 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.108.6.2: +4 -3 lines
Diff to previous 1.108.6.2 (colored) to branchpoint 1.108 (colored) next main 1.109 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.111 / (download) - annotate - [select for diffs], Wed Aug 30 00:49:56 2006 UTC (17 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, rpaulo-netinet-merge-pcb-base
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.110: +4 -3 lines
Diff to previous 1.110 (colored) to selected 1.187 (colored)

fix incomplete initializers

Revision 1.91.2.7.2.1 / (download) - annotate - [select for diffs], Fri Aug 11 04:24:50 2006 UTC (17 years, 7 months ago) by riz
Branch: netbsd-3-0
CVS Tags: netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE
Changes since 1.91.2.7: +27 -2 lines
Diff to previous 1.91.2.7 (colored) next main 1.91.2.8 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by abs in ticket #1459):
	sys/dev/usb/ehci.c: revision 1.96
	sys/dev/usb/uhci.c: revision 1.188
	sys/dev/usb/ohci.c: revision 1.159
	sys/dev/usb/usbdivar.h: revision 1.74
Fix a race condition in xfer abort.  Derived from a FreeBSD patch.
An xfer could be aborted twice (which means that the second abort might
access deallocated memory).  This happened when an xfer timed out and
the timeout started an abort.  While that abort was taking place the
xfer could be cancelled (usually by closing the pipe), causing a second
abort to begin.
This is now handled by having flags indicating the abort state of an xfer.
Hopefully this will fix the occasional crashes when printing.

Revision 1.91.2.9 / (download) - annotate - [select for diffs], Fri Aug 11 04:22:21 2006 UTC (17 years, 7 months ago) by riz
Branch: netbsd-3
CVS Tags: 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
Changes since 1.91.2.8: +25 -0 lines
Diff to previous 1.91.2.8 (colored) to branchpoint 1.91 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by abs in ticket #1459):
	sys/dev/usb/ehci.c: revision 1.96
	sys/dev/usb/uhci.c: revision 1.188
	sys/dev/usb/ohci.c: revision 1.159
	sys/dev/usb/usbdivar.h: revision 1.74
Fix a race condition in xfer abort.  Derived from a FreeBSD patch.
An xfer could be aborted twice (which means that the second abort might
access deallocated memory).  This happened when an xfer timed out and
the timeout started an abort.  While that abort was taking place the
xfer could be cancelled (usually by closing the pipe), causing a second
abort to begin.
This is now handled by having flags indicating the abort state of an xfer.
Hopefully this will fix the occasional crashes when printing.

Revision 1.108.6.2 / (download) - annotate - [select for diffs], Mon Jun 26 12:52:28 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.108.6.1: +5 -5 lines
Diff to previous 1.108.6.1 (colored) to branchpoint 1.108 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.104.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:07:43 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.104: +63 -21 lines
Diff to previous 1.104 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.109.2.1 / (download) - annotate - [select for diffs], Mon Jun 19 04:05:49 2006 UTC (17 years, 9 months ago) by chap
Branch: chap-midi
Changes since 1.109: +5 -5 lines
Diff to previous 1.109 (colored) next main 1.110 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.108.4.2 / (download) - annotate - [select for diffs], Thu Jun 1 22:37:40 2006 UTC (17 years, 10 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.108.4.1: +5 -5 lines
Diff to previous 1.108.4.1 (colored) to branchpoint 1.108 (colored) next main 1.109 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.110 / (download) - annotate - [select for diffs], Sun May 28 13:20:02 2006 UTC (17 years, 10 months ago) by blymn
Branch: MAIN
CVS Tags: yamt-pdpolicy-base7, yamt-pdpolicy-base6, simonb-timecounters-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.109: +5 -5 lines
Diff to previous 1.109 (colored) to selected 1.187 (colored)

Clean up bogus whitespace

Revision 1.108.10.1 / (download) - annotate - [select for diffs], Wed May 24 15:50:30 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.108: +6 -4 lines
Diff to previous 1.108 (colored) next main 1.109 (colored) to selected 1.187 (colored)

Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.108.6.1 / (download) - annotate - [select for diffs], Wed May 24 10:58:24 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.108: +6 -4 lines
Diff to previous 1.108 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.108.4.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:39:37 2006 UTC (17 years, 11 months ago) by simonb
Branch: simonb-timecounters
Changes since 1.108: +6 -4 lines
Diff to previous 1.108 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.108.8.1 / (download) - annotate - [select for diffs], Wed Apr 19 03:26:28 2006 UTC (17 years, 11 months ago) by elad
Branch: elad-kernelauth
Changes since 1.108: +6 -4 lines
Diff to previous 1.108 (colored) next main 1.109 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.109 / (download) - annotate - [select for diffs], Fri Apr 14 17:27:08 2006 UTC (17 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pdpolicy-base5, elad-kernelauth-base
Branch point for: chap-midi
Changes since 1.108: +6 -4 lines
Diff to previous 1.108 (colored) to selected 1.187 (colored)

Coverity CID 1131: Avoid NULL pointer dereference.

Revision 1.107.2.1 / (download) - annotate - [select for diffs], Wed Feb 1 14:52:20 2006 UTC (18 years, 2 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.107: +34 -2 lines
Diff to previous 1.107 (colored) next main 1.108 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.91.2.8 / (download) - annotate - [select for diffs], Sun Jan 22 13:52:50 2006 UTC (18 years, 2 months ago) by tron
Branch: netbsd-3
Changes since 1.91.2.7: +34 -2 lines
Diff to previous 1.91.2.7 (colored) to branchpoint 1.91 (colored) to selected 1.187 (colored)

Pull up following revision(s) (requested by xtraeme in ticket #1123):
	sys/dev/usb/ehcivar.h: revision 1.23
	sys/dev/pci/ehci_pci.c: revision 1.22
	sys/dev/usb/ehci.c: revision 1.108
From OpenBSD:

--
Add a workaround for VIA EHCI controllers which, under load, signal qTD
completion before they have performed writeback from the overlay qTD.
This condition would exhibit itself as a umass stall that never
recovers.
--

This fixes the problem reported by Thomas Klausner on current-users@:
http://mail-index.netbsd.org/current-users/2006/01/17/0000.html

Revision 1.108 / (download) - annotate - [select for diffs], Tue Jan 17 12:30:00 2006 UTC (18 years, 2 months ago) by xtraeme
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, elad-kernelauth
Changes since 1.107: +34 -2 lines
Diff to previous 1.107 (colored) to selected 1.187 (colored)

From OpenBSD:

--
Add a workaround for VIA EHCI controllers which, under load, signal qTD
completion before they have performed writeback from the overlay qTD.

This condition would exhibit itself as a umass stall that never recovers.
--

This fixes the problem reported by Thomas Klausner on current-users@:
http://mail-index.netbsd.org/current-users/2006/01/17/0000.html

Revision 1.47.2.9 / (download) - annotate - [select for diffs], Sun Dec 11 10:29:05 2005 UTC (18 years, 3 months ago) by christos
Branch: ktrace-lwp
Changes since 1.47.2.8: +20 -13 lines
Diff to previous 1.47.2.8 (colored) next main 1.48 (colored) to selected 1.187 (colored)

Sync with head.

Revision 1.105.6.1 / (download) - annotate - [select for diffs], Tue Nov 22 16:08:15 2005 UTC (18 years, 4 months ago) by yamt
Branch: yamt-readahead
Changes since 1.105: +20 -13 lines
Diff to previous 1.105 (colored) next main 1.106 (colored) to selected 1.187 (colored)

sync with head.

Revision 1.107 / (download) - annotate - [select for diffs], Mon Nov 21 10:15:41 2005 UTC (18 years, 4 months ago) by augustss
Branch: MAIN
CVS Tags: yamt-readahead-base3, yamt-readahead-base2, ktrace-lwp-base
Branch point for: yamt-uio_vmspace
Changes since 1.106: +3 -3 lines
Diff to previous 1.106 (colored) to selected 1.187 (colored)

Make the unused ehci_dump() function non-static.

Revision 1.106 / (download) - annotate - [select for diffs], Sun Nov 20 14:27:25 2005 UTC (18 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.105: +19 -12 lines
Diff to previous 1.105 (colored) to selected 1.187 (colored)

Keep a flag for each port that keeps track of if the port has been reset
instead of having one flag for the controller.

Also, don't try to modify read-only power bits if the controller doesn't
support power cobntrol.

Revision 1.47.2.8 / (download) - annotate - [select for diffs], Thu Nov 10 14:08:05 2005 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.47.2.7: +96 -48 lines
Diff to previous 1.47.2.7 (colored) to selected 1.187 (colored)

Sync with HEAD. Here we go again...

Revision 1.105 / (download) - annotate - [select for diffs], Mon Jul 18 11:08:00 2005 UTC (18 years, 8 months ago) by augustss
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-readahead
Changes since 1.104: +6 -5 lines
Diff to previous 1.104 (colored) to selected 1.187 (colored)

Make sure we don't enable host controller interrupts until all
initialization is finished.

Revision 1.104 / (download) - annotate - [select for diffs], Mon May 30 04:21:39 2005 UTC (18 years, 10 months ago) by christos
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.103: +7 -7 lines
Diff to previous 1.103 (colored) to selected 1.187 (colored)

- const poisoning
- eliminate variable shadowing

Revision 1.54.2.13.2.2 / (download) - annotate - [select for diffs], Fri May 13 23:13:08 2005 UTC (18 years, 10 months ago) by riz
Branch: netbsd-2
CVS Tags: 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
Changes since 1.54.2.13.2.1: +21 -12 lines
Diff to previous 1.54.2.13.2.1 (colored) to branchpoint 1.54.2.13 (colored) next main 1.55 (colored) to selected 1.187 (colored)

Pull up revision 1.98 via patch (requested by augustss in ticket #1496):
Fix the error check on completion of an xfer.  Just because the qTD status
field has error bits set doesn't mean there has been an error, unless the
HALTED bit is set as well.  The old behaviour could result in a transfer
being considered failed by the software, but a success by the device.
This seems to have affected mostly mass storage devices.
Pointed out by Dan Ellis in kern/29731.

Revision 1.54.2.13.2.1 / (download) - annotate - [select for diffs], Fri May 13 17:09:31 2005 UTC (18 years, 10 months ago) by riz
Branch: netbsd-2
Changes since 1.54.2.13: +12 -2 lines
Diff to previous 1.54.2.13 (colored) to selected 1.187 (colored)

Pull up revision 1.90 (requested by bad in ticket #1479):
Implement an USB memory reserve. Allocate some memory per host controller
in the wanted bus_dma space. If an allocation fails during operation
(i.e. when hotplugging an umass device), fall back to using the reserve.
The amount can be configured as USB_MEM_RESERVE. The default value is
256k.
Ideally, there would be a way to steal pages in the desired area from
UVM, but that's far more complicated, and this is not intrusive, plus
it works.

Revision 1.91.2.7 / (download) - annotate - [select for diffs], Sat May 7 11:42:23 2005 UTC (18 years, 10 months ago) by tron
Branch: netbsd-3
CVS Tags: 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-1-RELEASE
Branch point for: netbsd-3-0
Changes since 1.91.2.6: +5 -8 lines
Diff to previous 1.91.2.6 (colored) to branchpoint 1.91 (colored) to selected 1.187 (colored)

Pull up revision 1.103 (requested by augustss in ticket #249):
Make sure all physical addresses are filled in the qTD even when we have
a page offset.
From Dan Ellis (as was the previous fix).

Revision 1.91.2.6 / (download) - annotate - [select for diffs], Sat May 7 11:41:27 2005 UTC (18 years, 10 months ago) by tron
Branch: netbsd-3
Changes since 1.91.2.5: +10 -2 lines
Diff to previous 1.91.2.5 (colored) to branchpoint 1.91 (colored) to selected 1.187 (colored)

Pull up revision 1.102 (requested by augustss in ticket #249):
Make sure to honor the USBD_FORCE_SHORT_XFER flag and generate an empty
transfer when necessary.

Revision 1.103 / (download) - annotate - [select for diffs], Thu May 5 20:54:34 2005 UTC (18 years, 10 months ago) by augustss
Branch: MAIN
Changes since 1.102: +5 -8 lines
Diff to previous 1.102 (colored) to selected 1.187 (colored)

Make sure all physical addresses are filled in the qTD even when we have
a page offset.

From Dan Ellis (as was the previous fix).

Revision 1.102 / (download) - annotate - [select for diffs], Thu May 5 20:40:20 2005 UTC (18 years, 10 months ago) by augustss
Branch: MAIN
Changes since 1.101: +12 -4 lines
Diff to previous 1.101 (colored) to selected 1.187 (colored)

Make sure to honor the USBD_FORCE_SHORT_XFER flag and generate an empty
transfer when necessary.

Revision 1.91.2.5 / (download) - annotate - [select for diffs], Sun May 1 21:53:14 2005 UTC (18 years, 11 months ago) by tron
Branch: netbsd-3
Changes since 1.91.2.4: +21 -12 lines
Diff to previous 1.91.2.4 (colored) to branchpoint 1.91 (colored) to selected 1.187 (colored)

Pull up revision 1.98 (requested by augustss in ticket #240):
Fix the error check on completion of an xfer.  Just because the qTD status
field has error bits set doesn't mean there has been an error, unless the
HALTED bit is set as well.  The old behaviour could result in a transfer
being considered failed by the software, but a success by the device.
This seems to have affected mostly mass storage devices.
Pointed out by Dan Ellis in kern/29731.

Revision 1.101 / (download) - annotate - [select for diffs], Sun May 1 21:47:11 2005 UTC (18 years, 11 months ago) by wiz
Branch: MAIN
Changes since 1.100: +3 -3 lines
Diff to previous 1.100 (colored) to selected 1.187 (colored)

Fix typo.

Revision 1.100 / (download) - annotate - [select for diffs], Sun May 1 19:45:40 2005 UTC (18 years, 11 months ago) by augustss
Branch: MAIN
Changes since 1.99: +6 -10 lines
Diff to previous 1.99 (colored) to selected 1.187 (colored)

Update TODO comment and copyright.

Revision 1.99 / (download) - annotate - [select for diffs], Sun May 1 19:35:07 2005 UTC (18 years, 11 months ago) by augustss
Branch: MAIN
Changes since 1.98: +6 -9 lines
Diff to previous 1.98 (colored) to selected 1.187 (colored)

Only complain when opening full speed isoc devices, other types seem to
work reasonably (even if there is no proper scheduling of the TT yet).

Revision 1.98 / (download) - annotate - [select for diffs], Sun May 1 19:24:39 2005 UTC (18 years, 11 months ago) by augustss
Branch: MAIN
Changes since 1.97: +21 -12 lines
Diff to previous 1.97 (colored) to selected 1.187 (colored)

Fix the error check on completion of an xfer.  Just because the qTD status
field has error bits set doesn't mean there has been an error, unless the
HALTED bit is set as well.  The old behaviour could result in a transfer
being considered failed by the software, but a success by the device.
This seems to have affected mostly mass storage devices.

Pointed out by Dan Ellis in kern/29731.

Revision 1.91.2.4 / (download) - annotate - [select for diffs], Sun May 1 16:41:34 2005 UTC (18 years, 11 months ago) by tron
Branch: netbsd-3
Changes since 1.91.2.3: +10 -10 lines
Diff to previous 1.91.2.3 (colored) to branchpoint 1.91 (colored) to selected 1.187 (colored)

Pull up revision 1.95 (requested by augustss in ticket #217):
Get bit reversal table right this time.

Revision 1.91.2.3 / (download) - annotate - [select for diffs], Sun May 1 16:38:56 2005 UTC (18 years, 11 months ago) by tron
Branch: netbsd-3
Changes since 1.91.2.2: +18 -3 lines
Diff to previous 1.91.2.2 (colored) to branchpoint 1.91 (colored) to selected 1.187 (colored)

Pull up revision 1.94 (requested by augustss in ticket #217):
Interrupt polling was spread very unevenly.  Use the same bit reversal
trick as in ohci.c to correct this.

Revision 1.91.2.2 / (download) - annotate - [select for diffs], Sun May 1 16:37:03 2005 UTC (18 years, 11 months ago) by tron
Branch: netbsd-3
Changes since 1.91.2.1: +7 -5 lines
Diff to previous 1.91.2.1 (colored) to branchpoint 1.91 (colored) to selected 1.187 (colored)

Pull up revision 1.93 (requested by augustss in ticket #217):
With the interrupt fix in the previous commit low and full speed devices
have a chance to work, so allow them (with a warning).
Make a small change to the transaction translator scheduling to make it
at least hobble along (again from Dan Ellis).

Revision 1.91.2.1 / (download) - annotate - [select for diffs], Sun May 1 16:35:24 2005 UTC (18 years, 11 months ago) by tron
Branch: netbsd-3
Changes since 1.91: +2 -3 lines
Diff to previous 1.91 (colored) to selected 1.187 (colored)

Pull up revision 1.92 (requested by augustss in ticket #217):
Don't null the qh_link point in the interrupt tree after it has been
initialized.  From Dan Ellis in kern/30003.

Revision 1.97 / (download) - annotate - [select for diffs], Sun May 1 14:21:27 2005 UTC (18 years, 11 months ago) by augustss
Branch: MAIN
Changes since 1.96: +4 -5 lines
Diff to previous 1.96 (colored) to selected 1.187 (colored)

Timeout while polling is in ms not ticks.

From OpenBSD.

Revision 1.96 / (download) - annotate - [select for diffs], Sat Apr 30 14:38:40 2005 UTC (18 years, 11 months ago) by augustss
Branch: MAIN
Changes since 1.95: +27 -2 lines
Diff to previous 1.95 (colored) to selected 1.187 (colored)

Fix a race condition in xfer abort.  Derived from a FreeBSD patch.

An xfer could be aborted twice (which means that the second abort might
access deallocated memory).  This happened when an xfer timed out and
the timeout started an abort.  While that abort was taking place the
xfer could be cancelled (usually by closing the pipe), causing a second
abort to begin.
This is now handled by having flags indicating the abort state of an xfer.

Hopefully this will fix the occasional crashes when printing.

Revision 1.90.2.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:29:18 2005 UTC (18 years, 11 months ago) by kent
Branch: kent-audio2
Changes since 1.90: +28 -12 lines
Diff to previous 1.90 (colored) next main 1.91 (colored) to selected 1.187 (colored)

sync with -current

Revision 1.95 / (download) - annotate - [select for diffs], Wed Apr 27 23:39:54 2005 UTC (18 years, 11 months ago) by augustss
Branch: MAIN
CVS Tags: kent-audio2-base
Changes since 1.94: +10 -10 lines
Diff to previous 1.94 (colored) to selected 1.187 (colored)

Get bit reversal table right this time.

Revision 1.94 / (download) - annotate - [select for diffs], Wed Apr 27 16:42:26 2005 UTC (18 years, 11 months ago) by augustss
Branch: MAIN
Changes since 1.93: +18 -3 lines
Diff to previous 1.93 (colored) to selected 1.187 (colored)

Interrupt polling was spread very unevenly.  Use the same bit reversal
trick as in ohci.c to correct this.

Revision 1.93 / (download) - annotate - [select for diffs], Wed Apr 27 16:20:26 2005 UTC (18 years, 11 months ago) by augustss
Branch: MAIN
Changes since 1.92: +7 -5 lines
Diff to previous 1.92 (colored) to selected 1.187 (colored)

With the interrupt fix in the previous commit low and full speed devices
have a chance to work, so allow them (with a warning).
Make a small change to the transaction translator scheduling to make it
at least hobble along (again from Dan Ellis).

Revision 1.92 / (download) - annotate - [select for diffs], Wed Apr 27 02:12:20 2005 UTC (18 years, 11 months ago) by augustss
Branch: MAIN
Changes since 1.91: +2 -3 lines
Diff to previous 1.91 (colored) to selected 1.187 (colored)

Don't null the qh_link point in the interrupt tree after it has been
initialized.  From Dan Ellis in kern/30003.

Revision 1.90.4.1 / (download) - annotate - [select for diffs], Sat Mar 19 08:35:58 2005 UTC (19 years ago) by yamt
Branch: yamt-km
Changes since 1.90: +7 -7 lines
Diff to previous 1.90 (colored) next main 1.91 (colored) to selected 1.187 (colored)

sync with head.  xen and whitespace.  xen part is not finished.

Revision 1.47.2.7 / (download) - annotate - [select for diffs], Fri Mar 4 16:50:54 2005 UTC (19 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.47.2.6: +7 -7 lines
Diff to previous 1.47.2.6 (colored) to selected 1.187 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.91 / (download) - annotate - [select for diffs], Sun Feb 27 00:27:51 2005 UTC (19 years, 1 month ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base
Branch point for: netbsd-3
Changes since 1.90: +7 -7 lines
Diff to previous 1.90 (colored) to selected 1.187 (colored)

nuke trailing whitespace

Revision 1.47.2.6 / (download) - annotate - [select for diffs], Mon Jan 17 19:31:52 2005 UTC (19 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.47.2.5: +12 -2 lines
Diff to previous 1.47.2.5 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.90 / (download) - annotate - [select for diffs], Tue Dec 21 16:41:24 2004 UTC (19 years, 3 months ago) by fvdl
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, kent-audio1-beforemerge
Branch point for: yamt-km, kent-audio2
Changes since 1.89: +12 -2 lines
Diff to previous 1.89 (colored) to selected 1.187 (colored)

Implement an USB memory reserve. Allocate some memory per host controller
in the wanted bus_dma space. If an allocation fails during operation
(i.e. when hotplugging an umass device), fall back to using the reserve.

The amount can be configured as USB_MEM_RESERVE. The default value is
256k.

Ideally, there would be a way to steal pages in the desired area from
UVM, but that's far more complicated, and this is not intrusive, plus
it works.

Revision 1.47.2.5 / (download) - annotate - [select for diffs], Sat Dec 18 09:32:21 2004 UTC (19 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.47.2.4: +8 -5 lines
Diff to previous 1.47.2.4 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.89 / (download) - annotate - [select for diffs], Fri Dec 3 08:51:31 2004 UTC (19 years, 3 months ago) by augustss
Branch: MAIN
CVS Tags: kent-audio1-base, kent-audio1
Changes since 1.88: +8 -5 lines
Diff to previous 1.88 (colored) to selected 1.187 (colored)

Don't error out if the number of companion controllers is wrong, just
omplain a go ahead.

Revision 1.47.2.4 / (download) - annotate - [select for diffs], Tue Nov 2 07:53:02 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.47.2.3: +448 -103 lines
Diff to previous 1.47.2.3 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.88 / (download) - annotate - [select for diffs], Tue Oct 26 20:46:16 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.87: +6 -3 lines
Diff to previous 1.87 (colored) to selected 1.187 (colored)

Allow strings descriptor 0 to be fetched.  It's the default language index.

Revision 1.87 / (download) - annotate - [select for diffs], Mon Oct 25 10:29:49 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.86: +9 -4 lines
Diff to previous 1.86 (colored) to selected 1.187 (colored)

Preserve some bits in the overlay qTD.

Revision 1.86 / (download) - annotate - [select for diffs], Sun Oct 24 22:13:52 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.85: +7 -3 lines
Diff to previous 1.85 (colored) to selected 1.187 (colored)

Add a comment.

Revision 1.85 / (download) - annotate - [select for diffs], Sun Oct 24 22:12:24 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.84: +12 -6 lines
Diff to previous 1.84 (colored) to selected 1.187 (colored)

Follow the spec more closely when updating the overlay qTD in the QH.

Revision 1.84 / (download) - annotate - [select for diffs], Sun Oct 24 22:11:05 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.83: +4 -4 lines
Diff to previous 1.83 (colored) to selected 1.187 (colored)

Only delay interrupt my 2 miucroframes instead of 8.  This improves
Ethernet performance.

Revision 1.83 / (download) - annotate - [select for diffs], Sun Oct 24 22:09:15 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.82: +3 -2 lines
Diff to previous 1.82 (colored) to selected 1.187 (colored)

No need to generate an interrupt at the data part of a control transfer,
it's generated by the status transfer.

Revision 1.82 / (download) - annotate - [select for diffs], Sun Oct 24 22:07:04 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.81: +18 -7 lines
Diff to previous 1.81 (colored) to selected 1.187 (colored)

Make sure to update the data toggle on short transfers.
This makes my Ethernet adapter much happier.

Revision 1.81 / (download) - annotate - [select for diffs], Sun Oct 24 08:52:26 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.80: +6 -4 lines
Diff to previous 1.80 (colored) to selected 1.187 (colored)

Don't allow open of low/full speed pipes types that will not work yet.

Revision 1.80 / (download) - annotate - [select for diffs], Sat Oct 23 16:17:56 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.79: +22 -3 lines
Diff to previous 1.79 (colored) to selected 1.187 (colored)

Keep track of what high speed port (if any) a device belongs to so we can
set the transaction translator fields for the transfer.
Add a gross hack for split transaction completion in the ehci driver that
allows control transfers to be translated.  Interrupt transfers do not work.
Warn when any low/full speed device is opened.

Revision 1.79 / (download) - annotate - [select for diffs], Sat Oct 23 13:36:43 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.78: +3 -3 lines
Diff to previous 1.78 (colored) to selected 1.187 (colored)

Turn the printf about needing toggle update into a DPRINTF.  Things
seem to work even when this message appears.
Why is it there, Charles?

Revision 1.78 / (download) - annotate - [select for diffs], Fri Oct 22 10:38:17 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.77: +281 -20 lines
Diff to previous 1.77 (colored) to selected 1.187 (colored)

Add interrupt transfers.  From OpenBSD.
Having interrupt transfers enables some more device types to be used,
most notably USB2 hubs.  USB2 hubs still cannot handle anything but
USB2 devices, because there is node code to handle hub Transaction Translation
yet.
XXX This code doesn't do good bw scheduling, but it's certainly better than
nothing. :)

Revision 1.77 / (download) - annotate - [select for diffs], Fri Oct 22 09:58:00 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.76: +8 -2 lines
Diff to previous 1.76 (colored) to selected 1.187 (colored)

Insert from ifdefs for soft interrupt related stuff.  From OpenBSD.

Revision 1.76 / (download) - annotate - [select for diffs], Thu Oct 21 18:14:40 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.75: +4 -4 lines
Diff to previous 1.75 (colored) to selected 1.187 (colored)

A little portability stuff.

Revision 1.75 / (download) - annotate - [select for diffs], Thu Oct 21 16:18:42 2004 UTC (19 years, 5 months ago) by xtraeme
Branch: MAIN
Changes since 1.74: +3 -3 lines
Diff to previous 1.74 (colored) to selected 1.187 (colored)

Fix typo in comment: compolicated -> complicated.

Revision 1.74 / (download) - annotate - [select for diffs], Thu Oct 21 11:18:21 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.73: +70 -40 lines
Diff to previous 1.73 (colored) to selected 1.187 (colored)

Add suspend/resume support.
From OpenBSD.

Revision 1.73 / (download) - annotate - [select for diffs], Thu Oct 21 11:14:26 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.72: +4 -4 lines
Diff to previous 1.72 (colored) to selected 1.187 (colored)

Use do .. while wrappers for debug print.
From OpenBSD.

Revision 1.72 / (download) - annotate - [select for diffs], Thu Oct 21 11:11:19 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.71: +24 -24 lines
Diff to previous 1.71 (colored) to selected 1.187 (colored)

Match function names in debug messages with real name.
From OpenBSD.

Revision 1.71 / (download) - annotate - [select for diffs], Thu Oct 21 11:05:39 2004 UTC (19 years, 5 months ago) by augustss
Branch: MAIN
Changes since 1.70: +4 -7 lines
Diff to previous 1.70 (colored) to selected 1.187 (colored)

ANSIfy.

Revision 1.47.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:33:43 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.47.2.2: +2 -2 lines
Diff to previous 1.47.2.2 (colored) to selected 1.187 (colored)

Fix the sync with head I botched.

Revision 1.54.2.13 / (download) - annotate - [select for diffs], Sat Sep 18 19:28:05 2004 UTC (19 years, 6 months ago) by he
Branch: netbsd-2-0
CVS Tags: netbsd-2-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
Branch point for: netbsd-2
Changes since 1.54.2.12: +3 -3 lines
Diff to previous 1.54.2.12 (colored) to branchpoint 1.54 (colored) next main 1.55 (colored) to selected 1.187 (colored)

Pull up revision 1.70 (requested by yamt in ticket #860):
  Make this compile with OHCI_DEBUG and without EHCI_DEBUG.

Revision 1.47.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:51:46 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.47.2.1: +3 -3 lines
Diff to previous 1.47.2.1 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.70 / (download) - annotate - [select for diffs], Fri Sep 17 10:55:07 2004 UTC (19 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.69: +3 -3 lines
Diff to previous 1.69 (colored) to selected 1.187 (colored)

make this compile with OHCI_DEBUG without EHCI_DEBUG.

Revision 1.47.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:51:32 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.47: +83 -62 lines
Diff to previous 1.47 (colored) to selected 1.187 (colored)

Sync with HEAD

Revision 1.69 / (download) - annotate - [select for diffs], Sat Jul 17 20:12:02 2004 UTC (19 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.68: +2 -4 lines
Diff to previous 1.68 (colored) to selected 1.187 (colored)

hcpriv is not actually used here.  Remove references to it.

Revision 1.68 / (download) - annotate - [select for diffs], Fri Jul 9 05:07:06 2004 UTC (19 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.67: +3 -4 lines
Diff to previous 1.67 (colored) to selected 1.187 (colored)

Adjust some silliness that was causing us to do extra work for "frame list
rollover" interrupts, which we pretty much ignore.

Revision 1.54.2.12 / (download) - annotate - [select for diffs], Wed Jul 7 17:00:38 2004 UTC (19 years, 8 months ago) by tron
Branch: netbsd-2-0
Changes since 1.54.2.11: +5 -6 lines
Diff to previous 1.54.2.11 (colored) to branchpoint 1.54 (colored) to selected 1.187 (colored)

Pull up revision 1.67 (requested by mycroft in ticket #609):
Fix a byte order error.

Revision 1.67 / (download) - annotate - [select for diffs], Tue Jul 6 04:18:05 2004 UTC (19 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.66: +5 -6 lines
Diff to previous 1.66 (colored) to selected 1.187 (colored)

Fix a byte order error.

Revision 1.54.2.11 / (download) - annotate - [select for diffs], Fri Jul 2 17:12:34 2004 UTC (19 years, 9 months ago) by he
Branch: netbsd-2-0
Changes since 1.54.2.10: +5 -5 lines
Diff to previous 1.54.2.10 (colored) to branchpoint 1.54 (colored) to selected 1.187 (colored)

Pull up revisions 1.65-1.66 (requested by mycroft in ticket #572):
  Several fixes mostly related to USB:
   o Make a message dependent on ohcidebug, so it does not
     interfere with polled operation, e.g. when entering a
     root device or in DDB.
   o Fix an endianness problem in the ehci.c driver.

Revision 1.66 / (download) - annotate - [select for diffs], Wed Jun 30 03:11:56 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.65: +4 -4 lines
Diff to previous 1.65 (colored) to selected 1.187 (colored)

Fix an endianness problem (EHCI_NULL was being double-swapped).

Revision 1.65 / (download) - annotate - [select for diffs], Tue Jun 29 03:58:14 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored) to selected 1.187 (colored)

Make one message dependent on ohcidebug, so it doesn't interfere with polled
operation; e.g. when entering a root device or in DDB.

Revision 1.54.2.10 / (download) - annotate - [select for diffs], Thu Jun 24 08:40:04 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
Changes since 1.54.2.9: +8 -9 lines
Diff to previous 1.54.2.9 (colored) to branchpoint 1.54 (colored) to selected 1.187 (colored)

Pull up revision 1.64 (requested by mycroft in ticket #535):
Further cleanup of toggle handling.  Now that we use EHCI_QH_DTC, we don't
need to fiddle with the TOGGLE bit in the overlay descriptor, so minimize
how much we fuss with it.

Revision 1.54.2.9 / (download) - annotate - [select for diffs], Thu Jun 24 08:38:18 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
Changes since 1.54.2.8: +4 -5 lines
Diff to previous 1.54.2.8 (colored) to branchpoint 1.54 (colored) to selected 1.187 (colored)

Pull up revision 1.63 (requested by mycroft in ticket #535):
Fix an error in a debug printf().

Revision 1.54.2.8 / (download) - annotate - [select for diffs], Thu Jun 24 08:36:44 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
Changes since 1.54.2.7: +4 -10 lines
Diff to previous 1.54.2.7 (colored) to branchpoint 1.54 (colored) to selected 1.187 (colored)

Pull up revision 1.62 (requested by mycroft in ticket #535):
Adjust a couple of comments to make it clear WTF is going on.

Revision 1.54.2.7 / (download) - annotate - [select for diffs], Thu Jun 24 08:35:29 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
Changes since 1.54.2.6: +4 -4 lines
Diff to previous 1.54.2.6 (colored) to branchpoint 1.54 (colored) to selected 1.187 (colored)

Pull up revision 1.61 (requested by mycroft in ticket #535):
Update comment.

Revision 1.54.2.6 / (download) - annotate - [select for diffs], Thu Jun 24 08:31:58 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
Changes since 1.54.2.5: +4 -8 lines
Diff to previous 1.54.2.5 (colored) to branchpoint 1.54 (colored) to selected 1.187 (colored)

Pull up revision 1.60 (requested by mycroft in ticket #535):
Remove comment about the data toggle being borked.

Revision 1.54.2.5 / (download) - annotate - [select for diffs], Thu Jun 24 08:30:15 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
Changes since 1.54.2.4: +2 -4 lines
Diff to previous 1.54.2.4 (colored) to branchpoint 1.54 (colored) to selected 1.187 (colored)

Pull up revision 1.59 (requested by mycroft in ticket #535):
As the ehci_idone() now uses the variable `epipe' unconditionally, always
declare it (in other words, make this file compile w/o EHCI_DEBUG).

Revision 1.54.2.4 / (download) - annotate - [select for diffs], Thu Jun 24 08:23:27 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
Changes since 1.54.2.3: +9 -6 lines
Diff to previous 1.54.2.3 (colored) to branchpoint 1.54 (colored) to selected 1.187 (colored)

Pull up revision 1.58 (requested by mycroft in ticket #535):
Fix a stupid bug in ehci_check_intr() that caused use to try to complete a
transaction that was still running.  Now ehci can handle multiple devices
being active at once.

Revision 1.54.2.3 / (download) - annotate - [select for diffs], Thu Jun 24 08:21:31 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
Changes since 1.54.2.2: +2 -4 lines
Diff to previous 1.54.2.2 (colored) to branchpoint 1.54 (colored) to selected 1.187 (colored)

Pull up revision 1.57 (requested by mycroft in ticket #535):
Oops.  Remove a couple of printf()s.

Revision 1.54.2.2 / (download) - annotate - [select for diffs], Thu Jun 24 08:19:06 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
Changes since 1.54.2.1: +5 -3 lines
Diff to previous 1.54.2.1 (colored) to branchpoint 1.54 (colored) to selected 1.187 (colored)

Pull up revision 1.56 (requested by mycroft in ticket #535):
Failure to properly mask off UE_DIR_IN from the endpoint address was causing
OHCI_ED_FORMAT_ISO and EHCI_QH_HRECL to get set spuriously, causing rather
interesting lossage.
Suddenly I get MUCH better performance with ehci...

Revision 1.54.2.1 / (download) - annotate - [select for diffs], Thu Jun 24 08:16:43 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
Changes since 1.54: +34 -21 lines
Diff to previous 1.54 (colored) to selected 1.187 (colored)

Pull up revision 1.55 (requested by mycroft in ticket #535):
Set the data toggle correctly, and use EHCI_QTD_DTC.  This fixes problems with
my ALi-based drive enclosure (it works now, rather than failing to attach).
Also seems to work with a GL811-based enclosure and an ASUS enclosure with a
CD-RW, on both Intel and NEC controllers.
Note: The ALi enclosure is currently very SLOW, due to some issue with taking
too long to notice that the QTD is complete.  This requires more investigation.

Revision 1.64 / (download) - annotate - [select for diffs], Wed Jun 23 06:45:56 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.63: +8 -9 lines
Diff to previous 1.63 (colored) to selected 1.187 (colored)

Further cleanup of toggle handling.  Now that we use EHCI_QH_DTC, we don't
need to fiddle with the TOGGLE bit in the overlay descriptor, so minimize
how much we fuss with it.

Revision 1.63 / (download) - annotate - [select for diffs], Tue Jun 22 22:00:11 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.62: +4 -5 lines
Diff to previous 1.62 (colored) to selected 1.187 (colored)

Fix an error in a debug printf().

Revision 1.62 / (download) - annotate - [select for diffs], Tue Jun 22 18:27:46 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.61: +4 -10 lines
Diff to previous 1.61 (colored) to selected 1.187 (colored)

Adjust a couple of comments to make it clear WTF is going on.

Revision 1.61 / (download) - annotate - [select for diffs], Tue Jun 22 18:05:18 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.60: +4 -4 lines
Diff to previous 1.60 (colored) to selected 1.187 (colored)

Update comment.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Jun 22 09:46:46 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.59: +4 -8 lines
Diff to previous 1.59 (colored) to selected 1.187 (colored)

Remove comment about the data toggle being borked.

Revision 1.59 / (download) - annotate - [select for diffs], Tue Jun 22 09:16:56 2004 UTC (19 years, 9 months ago) by enami
Branch: MAIN
Changes since 1.58: +2 -4 lines
Diff to previous 1.58 (colored) to selected 1.187 (colored)

As the ehci_idone() now uses the variable `epipe' unconditionally, always
declare it (in other words, make this file compile w/o EHCI_DEBUG).

Revision 1.58 / (download) - annotate - [select for diffs], Tue Jun 22 08:55:25 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.57: +9 -6 lines
Diff to previous 1.57 (colored) to selected 1.187 (colored)

Fix a stupid bug in ehci_check_intr() that caused use to try to complete a
transaction that was still running.  Now ehci can handle multiple devices
being active at once.

Revision 1.57 / (download) - annotate - [select for diffs], Tue Jun 22 07:40:19 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.56: +2 -4 lines
Diff to previous 1.56 (colored) to selected 1.187 (colored)

Oops.  Remove a couple of printf()s.

Revision 1.56 / (download) - annotate - [select for diffs], Tue Jun 22 07:20:35 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.55: +5 -3 lines
Diff to previous 1.55 (colored) to selected 1.187 (colored)

Failure to properly mask off UE_DIR_IN from the endpoint address was causing
OHCI_ED_FORMAT_ISO and EHCI_QH_HRECL to get set spuriously, causing rather
interesting lossage.

Suddenly I get MUCH better performance with ehci...

Revision 1.55 / (download) - annotate - [select for diffs], Tue Jun 22 05:25:10 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.54: +34 -21 lines
Diff to previous 1.54 (colored) to selected 1.187 (colored)

Set the data toggle correctly, and use EHCI_QTD_DTC.  This fixes problems with
my ALi-based drive enclosure (it works now, rather than failing to attach).
Also seems to work with a GL811-based enclosure and an ASUS enclosure with a
CD-RW, on both Intel and NEC controllers.

Note: The ALi enclosure is currently very SLOW, due to some issue with taking
too long to notice that the QTD is complete.  This requires more investigation.

Revision 1.30.2.1 / (download) - annotate - [select for diffs], Mon Mar 15 04:37:08 2004 UTC (20 years ago) by jmc
Branch: netbsd-1-6
Changes since 1.30: +3 -3 lines
Diff to previous 1.30 (colored) next main 1.31 (colored) to selected 1.187 (colored)

Pullup rev 1.51 (requested by toshii in ticket #1599)

Use the correct wValue to get hub desriptors.
Also, make wValue checks of root hub codes less strict.

Revision 1.54 / (download) - annotate - [select for diffs], Sat Jan 17 13:15:05 2004 UTC (20 years, 2 months ago) by jdolecek
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.53: +2 -10 lines
Diff to previous 1.53 (colored) to selected 1.187 (colored)

Michael van Elst reports his USB2 disk works stable after latest Chuck's
ehci.c changes, so remove the item from TODO.

Revision 1.53 / (download) - annotate - [select for diffs], Fri Jan 9 09:19:33 2004 UTC (20 years, 2 months ago) by chs
Branch: MAIN
Changes since 1.52: +6 -4 lines
Diff to previous 1.52 (colored) to selected 1.187 (colored)

in ehci_softintr() when looping over the active xfers, save the next pointer
before calling ehci_check_intr(), since that will free the xfer structure
if the xfer is complete.

Revision 1.52 / (download) - annotate - [select for diffs], Wed Jan 7 09:17:47 2004 UTC (20 years, 2 months ago) by jdolecek
Branch: MAIN
Changes since 1.51: +32 -7 lines
Diff to previous 1.51 (colored) to selected 1.187 (colored)

add list of known issues, from Lennart Augustsson and Michael van Elst

Revision 1.51 / (download) - annotate - [select for diffs], Mon Dec 29 08:17:10 2003 UTC (20 years, 3 months ago) by toshii
Branch: MAIN
Changes since 1.50: +3 -3 lines
Diff to previous 1.50 (colored) to selected 1.187 (colored)

Use the correct wValue to get hub desriptors.
Also, make wValue checks of root hub codes less strict.

Revision 1.50 / (download) - annotate - [select for diffs], Sat Oct 18 04:50:35 2003 UTC (20 years, 5 months ago) by simonb
Branch: MAIN
Changes since 1.49: +2 -5 lines
Diff to previous 1.49 (colored) to selected 1.187 (colored)

Remove assigned-to but otherwise unused variables.
Remove unreachable break after return statements.

Revision 1.49 / (download) - annotate - [select for diffs], Mon Oct 13 00:05:36 2003 UTC (20 years, 5 months ago) by enami
Branch: MAIN
Changes since 1.48: +4 -4 lines
Diff to previous 1.48 (colored) to selected 1.187 (colored)

KNF the previous commit.

Revision 1.48 / (download) - annotate - [select for diffs], Sun Oct 12 18:04:28 2003 UTC (20 years, 5 months ago) by mycroft
Branch: MAIN
Changes since 1.47: +9 -2 lines
Diff to previous 1.47 (colored) to selected 1.187 (colored)

Fix problems with ehci on controllers that support 64-bit addressing.  From
Cliff Wright, PR 23128.  Thanks!

Revision 1.47 / (download) - annotate - [select for diffs], Sat May 10 12:04:22 2003 UTC (20 years, 10 months ago) by augustss
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.46: +9 -2 lines
Diff to previous 1.46 (colored) to selected 1.187 (colored)

Try to make message about missing companion controllers clearer.

Revision 1.46 / (download) - annotate - [select for diffs], Sun Mar 9 19:51:13 2003 UTC (21 years ago) by augustss
Branch: MAIN
Changes since 1.45: +5 -5 lines
Diff to previous 1.45 (colored) to selected 1.187 (colored)

Change debug message.

Revision 1.45 / (download) - annotate - [select for diffs], Sat Feb 22 05:24:16 2003 UTC (21 years, 1 month ago) by tsutsui
Branch: MAIN
Changes since 1.44: +4 -6 lines
Diff to previous 1.44 (colored) to selected 1.187 (colored)

Use mstohz() in <sys/param.h> rather than homegrown MS_TO_TICKS().

Revision 1.44 / (download) - annotate - [select for diffs], Sun Feb 16 23:15:27 2003 UTC (21 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.43: +10 -6 lines
Diff to previous 1.43 (colored) to selected 1.187 (colored)

Don't take xfers off the interrupt list if they are not on it yet.

Revision 1.43 / (download) - annotate - [select for diffs], Sat Feb 8 03:32:50 2003 UTC (21 years, 1 month ago) by ichiro
Branch: MAIN
Changes since 1.42: +3 -3 lines
Diff to previous 1.42 (colored) to selected 1.187 (colored)

change URL pointers of USB[1,2] specification

Revision 1.42 / (download) - annotate - [select for diffs], Tue Feb 4 18:41:20 2003 UTC (21 years, 1 month ago) by augustss
Branch: MAIN
Changes since 1.41: +3 -3 lines
Diff to previous 1.41 (colored) to selected 1.187 (colored)

Fix a botched loop copied from the ohci driver (already fixed in ohci.c).
Pointed out by Daniel Ellis <dan@pod51.demon.co.uk>.

Revision 1.41 / (download) - annotate - [select for diffs], Fri Jan 31 05:25:57 2003 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.40: +10 -9 lines
Diff to previous 1.40 (colored) to selected 1.187 (colored)

Use aprint_*().

Revision 1.2.4.10 / (download) - annotate - [select for diffs], Wed Dec 11 06:38:49 2002 UTC (21 years, 3 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.2.4.9: +11 -0 lines
Diff to previous 1.2.4.9 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.187 (colored)

Sync with HEAD.

Revision 1.40 / (download) - annotate - [select for diffs], Tue Nov 19 19:18:09 2002 UTC (21 years, 4 months ago) by martin
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.39: +6 -2 lines
Diff to previous 1.39 (colored) to selected 1.187 (colored)

Add a comment describing why ehci_dump() has been added back despite
not being referenced.
Suggested by Perry E. Metzger.

Revision 1.2.4.9 / (download) - annotate - [select for diffs], Mon Nov 11 22:12:47 2002 UTC (21 years, 4 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.2.4.8: +4 -7 lines
Diff to previous 1.2.4.8 (colored) to branchpoint 1.2 (colored) to selected 1.187 (colored)

Catch up to -current

Revision 1.39 / (download) - annotate - [select for diffs], Mon Nov 11 20:55:28 2002 UTC (21 years, 4 months ago) by martin
Branch: MAIN
Changes since 1.38: +9 -2 lines
Diff to previous 1.38 (colored) to selected 1.187 (colored)

Ooops, put back ehci_dump() which I accidently removed in the last commit.
Thanks to enami tsugutomo for noticing this.

Revision 1.38 / (download) - annotate - [select for diffs], Sat Nov 9 08:59:46 2002 UTC (21 years, 4 months ago) by martin
Branch: MAIN
Changes since 1.37: +6 -9 lines
Diff to previous 1.37 (colored) to selected 1.187 (colored)

Move ehci_dump_exfer into #ifdef DIAGNOSTIC, it's not called w/o.
From FUKAUMI Naoki in PR 18988.

Revision 1.2.4.8 / (download) - annotate - [select for diffs], Fri Oct 18 02:44:27 2002 UTC (21 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.2.4.7: +6 -6 lines
Diff to previous 1.2.4.7 (colored) to branchpoint 1.2 (colored) to selected 1.187 (colored)

Catch up to -current.

Revision 1.2.6.4 / (download) - annotate - [select for diffs], Thu Oct 10 18:42:32 2002 UTC (21 years, 5 months ago) by jdolecek
Branch: kqueue
Changes since 1.2.6.3: +8 -8 lines
Diff to previous 1.2.6.3 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.187 (colored)

sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

Revision 1.37 / (download) - annotate - [select for diffs], Fri Sep 27 15:37:34 2002 UTC (21 years, 6 months ago) by provos
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge
Changes since 1.36: +8 -8 lines
Diff to previous 1.36 (colored) to selected 1.187 (colored)

remove trailing \n in panic().  approved perry.

Revision 1.2.6.3 / (download) - annotate - [select for diffs], Fri Sep 6 08:46:37 2002 UTC (21 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.2.6.2: +44 -39 lines
Diff to previous 1.2.6.2 (colored) to branchpoint 1.2 (colored) to selected 1.187 (colored)

sync kqueue branch with HEAD

Revision 1.29.8.4 / (download) - annotate - [select for diffs], Thu Aug 29 05:22:57 2002 UTC (21 years, 7 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.29.8.3: +11 -6 lines
Diff to previous 1.29.8.3 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored) to selected 1.187 (colored)

catch up with -current.

Revision 1.2.4.7 / (download) - annotate - [select for diffs], Tue Aug 27 23:47:10 2002 UTC (21 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.2.4.6: +9 -4 lines
Diff to previous 1.2.4.6 (colored) to branchpoint 1.2 (colored) to selected 1.187 (colored)

Catch up to -current.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Aug 14 11:20:28 2002 UTC (21 years, 7 months ago) by augustss
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.35: +7 -2 lines
Diff to previous 1.35 (colored) to selected 1.187 (colored)

Set segment register if the device is 64 bit capable.

Revision 1.35 / (download) - annotate - [select for diffs], Tue Aug 13 09:58:05 2002 UTC (21 years, 7 months ago) by enami
Branch: MAIN
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 (colored) to selected 1.187 (colored)

The revision of new document is 1.0.

Revision 1.34 / (download) - annotate - [select for diffs], Tue Aug 13 09:51:27 2002 UTC (21 years, 7 months ago) by augustss
Branch: MAIN
Changes since 1.33: +5 -5 lines
Diff to previous 1.33 (colored) to selected 1.187 (colored)

Increase the timeout waiting for reset to finish.
Update documentation URL.

Revision 1.2.4.6 / (download) - annotate - [select for diffs], Thu Aug 1 02:45:51 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.2.4.5: +35 -35 lines
Diff to previous 1.2.4.5 (colored) to branchpoint 1.2 (colored) to selected 1.187 (colored)

Catch up to -current.

Revision 1.29.8.3 / (download) - annotate - [select for diffs], Mon Jul 15 10:35:59 2002 UTC (21 years, 8 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.29.8.2: +35 -35 lines
Diff to previous 1.29.8.2 (colored) to branchpoint 1.29 (colored) to selected 1.187 (colored)

catch up with -current.

Revision 1.33 / (download) - annotate - [select for diffs], Thu Jul 11 21:14:24 2002 UTC (21 years, 8 months ago) by augustss
Branch: MAIN
Changes since 1.32: +35 -35 lines
Diff to previous 1.32 (colored) to selected 1.187 (colored)

Get rid of trailing white space.

Revision 1.2.4.5 / (download) - annotate - [select for diffs], Wed Jul 10 17:30:25 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.2.4.4: +3 -3 lines
Diff to previous 1.2.4.4 (colored) to branchpoint 1.2 (colored) to selected 1.187 (colored)

Don't need curlwp here.

Revision 1.2.4.4 / (download) - annotate - [select for diffs], Mon Jun 24 22:10:21 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.2.4.3: +3 -3 lines
Diff to previous 1.2.4.3 (colored) to branchpoint 1.2 (colored) to selected 1.187 (colored)

Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).

Revision 1.2.6.2 / (download) - annotate - [select for diffs], Sun Jun 23 17:49:01 2002 UTC (21 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.2.6.1: +13 -13 lines
Diff to previous 1.2.6.1 (colored) to branchpoint 1.2 (colored) to selected 1.187 (colored)

catch up with -current on kqueue branch

Revision 1.29.8.2 / (download) - annotate - [select for diffs], Thu Jun 20 16:34:09 2002 UTC (21 years, 9 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.29.8.1: +3 -3 lines
Diff to previous 1.29.8.1 (colored) to branchpoint 1.29 (colored) to selected 1.187 (colored)

catch up with -current.

Revision 1.2.4.3 / (download) - annotate - [select for diffs], Thu Jun 20 03:46:49 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.2.4.2: +13 -13 lines
Diff to previous 1.2.4.2 (colored) to branchpoint 1.2 (colored) to selected 1.187 (colored)

Catch up to -current.

Revision 1.32 / (download) - annotate - [select for diffs], Sat Jun 1 23:51:03 2002 UTC (21 years, 10 months ago) by lukem
Branch: MAIN
Changes since 1.31: +3 -3 lines
Diff to previous 1.31 (colored) to selected 1.187 (colored)

SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field).  whilst it's O(n),
  this mirrors the functionality of SLIST_REMOVE() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
  this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups

Revision 1.29.8.1 / (download) - annotate - [select for diffs], Thu May 30 14:47:27 2002 UTC (21 years, 10 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.29: +12 -12 lines
Diff to previous 1.29 (colored) to selected 1.187 (colored)

Catch up with -current.

Revision 1.31 / (download) - annotate - [select for diffs], Tue May 28 12:42:38 2002 UTC (21 years, 10 months ago) by augustss
Branch: MAIN
Changes since 1.30: +7 -7 lines
Diff to previous 1.30 (colored) to selected 1.187 (colored)

Change DMAADDR macro slightly.

Revision 1.30 / (download) - annotate - [select for diffs], Sun May 19 06:24:30 2002 UTC (21 years, 10 months ago) by augustss
Branch: MAIN
CVS Tags: 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
Branch point for: netbsd-1-6
Changes since 1.29: +7 -7 lines
Diff to previous 1.29 (colored) to selected 1.187 (colored)

Update dma memory access API a little.

Revision 1.2.6.1 / (download) - annotate - [select for diffs], Thu Jan 10 19:58:46 2002 UTC (22 years, 2 months ago) by thorpej
Branch: kqueue
Changes since 1.2: +2622 -9 lines
Diff to previous 1.2 (colored) to selected 1.187 (colored)

Sync kqueue branch with -current.

Revision 1.2.4.2 / (download) - annotate - [select for diffs], Tue Jan 8 00:32:02 2002 UTC (22 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.2.4.1: +2556 -9 lines
Diff to previous 1.2.4.1 (colored) to branchpoint 1.2 (colored) to selected 1.187 (colored)

Catch up to -current.

Revision 1.29 / (download) - annotate - [select for diffs], Mon Dec 31 12:16:57 2001 UTC (22 years, 3 months ago) by augustss
Branch: MAIN
CVS Tags: newlock-base, newlock, ifpoll-base, eeh-devprop-base, eeh-devprop
Branch point for: gehenna-devsw
Changes since 1.28: +40 -9 lines
Diff to previous 1.28 (colored) to selected 1.187 (colored)

Change abort slightly.
Change debug output.

Revision 1.28 / (download) - annotate - [select for diffs], Fri Dec 28 00:21:26 2001 UTC (22 years, 3 months ago) by augustss
Branch: MAIN
Changes since 1.27: +11 -4 lines
Diff to previous 1.27 (colored) to selected 1.187 (colored)

More DIAGNOSTIC.

Revision 1.27 / (download) - annotate - [select for diffs], Sat Dec 1 09:39:32 2001 UTC (22 years, 4 months ago) by enami
Branch: MAIN
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored) to selected 1.187 (colored)

Fix null pointer dereference when EHCI_DEBUG is defined (and
debug is enabled).

Revision 1.26 / (download) - annotate - [select for diffs], Fri Nov 23 01:16:27 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.25: +51 -23 lines
Diff to previous 1.25 (colored) to selected 1.187 (colored)

Improve xfer abort sequence.
Fix another bug in qTD chain allocation.

Revision 1.25 / (download) - annotate - [select for diffs], Thu Nov 22 04:20:49 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.24: +70 -28 lines
Diff to previous 1.24 (colored) to selected 1.187 (colored)

Fix a bug in qTD chain allocation.
Fix a qTD leak.
Handle out of memory conditions better.

My USB 2.0 CD-RW now mounts nicely and I can access files.
Performance is still lacking (it's at about 2Mbyte/s).

Revision 1.24 / (download) - annotate - [select for diffs], Wed Nov 21 16:22:58 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.23: +14 -17 lines
Diff to previous 1.23 (colored) to selected 1.187 (colored)

Make it compile without debug.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Nov 21 16:05:13 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.22: +35 -18 lines
Diff to previous 1.22 (colored) to selected 1.187 (colored)

Follow a safer protocol when updating the QH.
The EHCI driver isn't really working properly, but now the SCSI driver
correctly identifies my CD-RW drive! :-)

Revision 1.22 / (download) - annotate - [select for diffs], Wed Nov 21 14:00:12 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.21: +39 -30 lines
Diff to previous 1.21 (colored) to selected 1.187 (colored)

Implement (incorrect?) data toggle clear method.
Implement allocation of qTD chains.

Revision 1.21 / (download) - annotate - [select for diffs], Wed Nov 21 13:43:38 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored) to selected 1.187 (colored)

Mask correct interrupt after error interrupt.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Nov 21 13:42:19 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored) to selected 1.187 (colored)

Mask the correct interrupt after a door bell interrupt.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Nov 21 13:04:50 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.18: +132 -13 lines
Diff to previous 1.18 (colored) to selected 1.187 (colored)

Implement bulk transfers.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Nov 21 12:28:23 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.17: +245 -20 lines
Diff to previous 1.17 (colored) to selected 1.187 (colored)

Add some interrupt processing.

Revision 1.17 / (download) - annotate - [select for diffs], Wed Nov 21 08:18:39 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.16: +36 -11 lines
Diff to previous 1.16 (colored) to selected 1.187 (colored)

Pay more attention to if the HC is being unplugged.

Revision 1.16 / (download) - annotate - [select for diffs], Wed Nov 21 02:47:07 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.15: +3 -2 lines
Diff to previous 1.15 (colored) to selected 1.187 (colored)

Add missing }

Revision 1.15 / (download) - annotate - [select for diffs], Wed Nov 21 02:44:30 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.14: +426 -43 lines
Diff to previous 1.14 (colored) to selected 1.187 (colored)

Set up control xfers.
Handle xfer timeouts.
Better debug messages.

Revision 1.14 / (download) - annotate - [select for diffs], Tue Nov 20 16:25:35 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.13: +15 -5 lines
Diff to previous 1.13 (colored) to selected 1.187 (colored)

Support port indicator light.

Revision 1.13 / (download) - annotate - [select for diffs], Tue Nov 20 16:08:10 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.12: +4 -6 lines
Diff to previous 1.12 (colored) to selected 1.187 (colored)

Use longer reset for root hubs (as told in the spec).

Revision 1.12 / (download) - annotate - [select for diffs], Tue Nov 20 14:28:44 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.11: +20 -6 lines
Diff to previous 1.11 (colored) to selected 1.187 (colored)

Don't wait for door bell interrupt when controller has been disconnected.

Revision 1.11 / (download) - annotate - [select for diffs], Tue Nov 20 13:49:07 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.10: +167 -136 lines
Diff to previous 1.10 (colored) to selected 1.187 (colored)

Use device speed in setup.
Simplify async list handling.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Nov 19 02:57:16 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.9: +252 -69 lines
Diff to previous 1.9 (colored) to selected 1.187 (colored)

Start of pipe open routine.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Nov 18 00:39:46 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.8: +281 -37 lines
Diff to previous 1.8 (colored) to selected 1.187 (colored)

Add more fields to hardware structs.
Add memory allocation for various data structures.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Nov 16 23:52:10 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.7: +32 -14 lines
Diff to previous 1.7 (colored) to selected 1.187 (colored)

Implement port reset sequence correctly.

Revision 1.7 / (download) - annotate - [select for diffs], Fri Nov 16 15:33:13 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.6: +4 -2 lines
Diff to previous 1.6 (colored) to selected 1.187 (colored)

Add some more data structure defs.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Nov 16 01:57:08 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.5: +226 -14 lines
Diff to previous 1.5 (colored) to selected 1.187 (colored)

Recognize port status changes.
Hand over low and full speed devices to companion controller.

Revision 1.5 / (download) - annotate - [select for diffs], Thu Nov 15 23:25:09 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.4: +959 -8 lines
Diff to previous 1.4 (colored) to selected 1.187 (colored)

Add root hub emulation.

Revision 1.2.4.1 / (download) - annotate - [select for diffs], Wed Nov 14 19:16:14 2001 UTC (22 years, 4 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.2: +73 -7 lines
Diff to previous 1.2 (colored) to selected 1.187 (colored)

Catch up to -current.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Nov 13 06:24:53 2001 UTC (22 years, 4 months ago) by lukem
Branch: MAIN
Changes since 1.3: +4 -1 lines
Diff to previous 1.3 (colored) to selected 1.187 (colored)

add RCSIDs

Revision 1.2.10.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:18:29 2001 UTC (22 years, 4 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.2: +70 -7 lines
Diff to previous 1.2 (colored) next main 1.3 (colored) to selected 1.187 (colored)

Sync the thorpej-mips-cache branch with -current.

Revision 1.3 / (download) - annotate - [select for diffs], Sat Nov 10 17:06:11 2001 UTC (22 years, 4 months ago) by augustss
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.2: +70 -7 lines
Diff to previous 1.2 (colored) to selected 1.187 (colored)

Add some register defines.
Print companion controllers.

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Fri Jan 5 17:36:28 2001 UTC (23 years, 2 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.2.2.1: +132 -0 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.187 (colored)

Sync with HEAD

Revision 1.2.2.1, Sun Dec 24 06:42:35 2000 UTC (23 years, 3 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.2: +0 -132 lines
FILE REMOVED

file ehci.c was added on branch thorpej_scsipi on 2001-01-05 17:36:28 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Sun Dec 24 06:42:35 2000 UTC (23 years, 3 months ago) by augustss
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, thorpej-devvp, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej_scsipi, thorpej-mips-cache, nathanw_sa, kqueue
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored) to selected 1.187 (colored)

Even stubs need improvements.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Dec 24 06:39:02 2000 UTC (23 years, 3 months ago) by augustss
Branch: MAIN
Diff to selected 1.187 (colored)

Add some placeholders for the EHCI (USB 2) driver.

Don't get your hopes up.  I've not even finished reading the
(100+) page spec, and I have no hardware.

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>