The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.51 / (download) - annotate - [select for diffs], Sun Mar 13 11:29:21 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.50: +2 -1 lines
Diff to previous 1.50 (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.50 / (download) - annotate - [select for diffs], Sun Mar 13 11:29:10 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.49: +2 -1 lines
Diff to previous 1.49 (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.49 / (download) - annotate - [select for diffs], Wed Dec 22 21:45:02 2021 UTC (13 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.48: +2 -1 lines
Diff to previous 1.48 (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.44.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:13 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.44.2.1: +5 -5 lines
Diff to previous 1.44.2.1 (colored) to branchpoint 1.44 (colored) next main 1.45 (colored)

Merge changes from current as of 20200406

Revision 1.48 / (download) - annotate - [select for diffs], Sun Mar 15 07:56:19 2020 UTC (2 years, 10 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-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Changes since 1.47: +5 -5 lines
Diff to previous 1.47 (colored)

Use roundup.  NFCI.

Revision 1.47 / (download) - annotate - [select for diffs], Wed Mar 4 16:17:23 2020 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored)

Consistency in use of #define names.  No functional change as values of
before and after defines are the same.

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

Sync with HEAD

Revision 1.43.16.3 / (download) - annotate - [select for diffs], Sun Sep 30 01:45:51 2018 UTC (4 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.43.16.2: +11 -1 lines
Diff to previous 1.43.16.2 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored)

Ssync with HEAD

Revision 1.43.10.2 / (download) - annotate - [select for diffs], Fri Sep 28 08:33:43 2018 UTC (4 years, 4 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.43.10.1: +11 -1 lines
Diff to previous 1.43.10.1 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored)

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

Revision 1.46 / (download) - annotate - [select for diffs], Tue Sep 18 02:00:06 2018 UTC (4 years, 4 months ago) by mrg
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.45: +11 -1 lines
Diff to previous 1.45 (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.43.16.2 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:04 2018 UTC (4 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.43.16.1: +1 -4 lines
Diff to previous 1.43.16.1 (colored) to branchpoint 1.43 (colored)

Sync with HEAD

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

Revision 1.42.12.2 / (download) - annotate - [select for diffs], Sat Aug 25 14:57:35 2018 UTC (4 years, 5 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE
Changes since 1.42.12.1: +1 -4 lines
Diff to previous 1.42.12.1 (colored) to branchpoint 1.42 (colored) next main 1.43 (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.43.10.1 / (download) - annotate - [select for diffs], Sat Aug 25 11:29:52 2018 UTC (4 years, 5 months ago) by martin
Branch: netbsd-8
Changes since 1.43: +1 -4 lines
Diff to previous 1.43 (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.45 / (download) - annotate - [select for diffs], Thu Aug 9 06:26:47 2018 UTC (4 years, 5 months ago) by mrg
Branch: MAIN
CVS Tags: pgoyette-compat-0906, jdolecek-ncqfixes-base, jdolecek-ncqfixes
Changes since 1.44: +1 -4 lines
Diff to previous 1.44 (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.43.16.1 / (download) - annotate - [select for diffs], Mon Apr 16 02:00:02 2018 UTC (4 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.43: +1 -4 lines
Diff to previous 1.43 (colored)

Sync with HEAD, resolve some conflicts

Revision 1.44 / (download) - annotate - [select for diffs], Mon Apr 9 16:21:11 2018 UTC (4 years, 9 months ago) by jakllsch
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415
Branch point for: phil-wifi
Changes since 1.43: +1 -4 lines
Diff to previous 1.43 (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.40.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:37:33 2017 UTC (5 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.40.2.1: +82 -34 lines
Diff to previous 1.40.2.1 (colored) to branchpoint 1.40 (colored) next main 1.41 (colored)

update from HEAD

Revision 1.42.12.1 / (download) - annotate - [select for diffs], Wed Apr 5 19:54:19 2017 UTC (5 years, 10 months ago) by snj
Branch: netbsd-7
Changes since 1.42: +82 -34 lines
Diff to previous 1.42 (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.42.14.27 / (download) - annotate - [select for diffs], Tue Dec 27 10:24:00 2016 UTC (6 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.26: +2 -3 lines
Diff to previous 1.42.14.26 (colored) to branchpoint 1.42 (colored) next main 1.43 (colored)

Missed commit in the ehci abort improvement

Revision 1.42.18.1 / (download) - annotate - [select for diffs], Tue Sep 6 20:33:08 2016 UTC (6 years, 4 months ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.42: +82 -34 lines
Diff to previous 1.42 (colored) next main 1.43 (colored)

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

Revision 1.42.14.26 / (download) - annotate - [select for diffs], Sat Apr 30 10:34:14 2016 UTC (6 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.25: +1 -2 lines
Diff to previous 1.42.14.25 (colored) to branchpoint 1.42 (colored)

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

Revision 1.43 / (download) - annotate - [select for diffs], Sat Apr 23 10:15:31 2016 UTC (6 years, 9 months ago) by skrll
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-base, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, netbsd-8-base, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: pgoyette-compat, netbsd-8
Changes since 1.42: +82 -34 lines
Diff to previous 1.42 (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.42.14.25 / (download) - annotate - [select for diffs], Mon Apr 4 07:43:12 2016 UTC (6 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.24: +1 -3 lines
Diff to previous 1.42.14.24 (colored) to branchpoint 1.42 (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.42.14.24 / (download) - annotate - [select for diffs], Sat Mar 26 11:42:44 2016 UTC (6 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.23: +2 -1 lines
Diff to previous 1.42.14.23 (colored) to branchpoint 1.42 (colored)

Grab sc_istthreshhold (not used as yet)

Revision 1.42.14.23 / (download) - annotate - [select for diffs], Thu Mar 17 09:04:53 2016 UTC (6 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.22: +5 -9 lines
Diff to previous 1.42.14.22 (colored) to branchpoint 1.42 (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.42.14.22 / (download) - annotate - [select for diffs], Sun Jan 10 16:49:29 2016 UTC (7 years ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.21: +3 -3 lines
Diff to previous 1.42.14.21 (colored) to branchpoint 1.42 (colored)

Whitespace

Revision 1.42.14.21 / (download) - annotate - [select for diffs], Sun Oct 25 09:50:06 2015 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.20: +26 -1 lines
Diff to previous 1.42.14.20 (colored) to branchpoint 1.42 (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.42.14.20 / (download) - annotate - [select for diffs], Sat Oct 24 10:37:22 2015 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.19: +2 -2 lines
Diff to previous 1.42.14.19 (colored) to branchpoint 1.42 (colored)

Small update to a comment

Revision 1.42.14.19 / (download) - annotate - [select for diffs], Thu Oct 22 11:15:42 2015 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.18: +2 -2 lines
Diff to previous 1.42.14.18 (colored) to branchpoint 1.42 (colored)

Simplify *_XFER2SC using ux_bus

Revision 1.42.14.18 / (download) - annotate - [select for diffs], Tue Oct 20 08:33:17 2015 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.17: +2 -2 lines
Diff to previous 1.42.14.17 (colored) to branchpoint 1.42 (colored)

s/EHCI_DPIPE2SC/EHCI_EPIPE2SC/

Revision 1.42.14.17 / (download) - annotate - [select for diffs], Sat Oct 10 17:18:05 2015 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.16: +11 -2 lines
Diff to previous 1.42.14.16 (colored) to branchpoint 1.42 (colored)

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

No functional change

Revision 1.42.14.16 / (download) - annotate - [select for diffs], Thu Oct 8 07:39:43 2015 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.15: +1 -2 lines
Diff to previous 1.42.14.15 (colored) to branchpoint 1.42 (colored)

Remove unused struct member

Revision 1.42.14.15 / (download) - annotate - [select for diffs], Thu Oct 8 07:37:35 2015 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.14: +3 -3 lines
Diff to previous 1.42.14.14 (colored) to branchpoint 1.42 (colored)

Comments

Revision 1.42.14.14 / (download) - annotate - [select for diffs], Fri Apr 10 15:25:31 2015 UTC (7 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.13: +6 -6 lines
Diff to previous 1.42.14.13 (colored) to branchpoint 1.42 (colored)

Whitespace.

Revision 1.42.14.13 / (download) - annotate - [select for diffs], Mon Apr 6 08:58:43 2015 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.12: +2 -2 lines
Diff to previous 1.42.14.12 (colored) to branchpoint 1.42 (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.42.14.12 / (download) - annotate - [select for diffs], Thu Mar 19 17:26:42 2015 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.11: +3 -3 lines
Diff to previous 1.42.14.11 (colored) to branchpoint 1.42 (colored)

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

Revision 1.42.14.11 / (download) - annotate - [select for diffs], Wed Mar 18 07:37:02 2015 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.10: +3 -2 lines
Diff to previous 1.42.14.10 (colored) to branchpoint 1.42 (colored)

KNF

Revision 1.42.14.10 / (download) - annotate - [select for diffs], Mon Mar 2 21:52:02 2015 UTC (7 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.9: +2 -2 lines
Diff to previous 1.42.14.9 (colored) to branchpoint 1.42 (colored)

ex_isdone / ux_state tidyup

Revision 1.42.14.9 / (download) - annotate - [select for diffs], Sun Feb 1 08:29:46 2015 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.8: +2 -2 lines
Diff to previous 1.42.14.8 (colored) to branchpoint 1.42 (colored)

KNF

Revision 1.42.14.8 / (download) - annotate - [select for diffs], Sun Feb 1 06:15:41 2015 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.7: +3 -3 lines
Diff to previous 1.42.14.7 (colored) to branchpoint 1.42 (colored)

KNF

Revision 1.42.14.7 / (download) - annotate - [select for diffs], Wed Dec 24 14:11:05 2014 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.6: +11 -11 lines
Diff to previous 1.42.14.6 (colored) to branchpoint 1.42 (colored)

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

Revision 1.42.14.6 / (download) - annotate - [select for diffs], Tue Dec 23 19:31:44 2014 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.5: +18 -8 lines
Diff to previous 1.42.14.5 (colored) to branchpoint 1.42 (colored)

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

Revision 1.42.14.5 / (download) - annotate - [select for diffs], Fri Dec 5 13:23:38 2014 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.4: +2 -2 lines
Diff to previous 1.42.14.4 (colored) to branchpoint 1.42 (colored)

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

Revision 1.42.14.4 / (download) - annotate - [select for diffs], Thu Dec 4 08:04:31 2014 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.3: +1 -3 lines
Diff to previous 1.42.14.3 (colored) to branchpoint 1.42 (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.42.14.3 / (download) - annotate - [select for diffs], Tue Dec 2 09:00:33 2014 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.2: +1 -2 lines
Diff to previous 1.42.14.2 (colored) to branchpoint 1.42 (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.42.14.2 / (download) - annotate - [select for diffs], Sun Nov 30 13:46:00 2014 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42.14.1: +14 -2 lines
Diff to previous 1.42.14.1 (colored) to branchpoint 1.42 (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.42.14.1 / (download) - annotate - [select for diffs], Sun Nov 30 12:18:58 2014 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.42: +7 -7 lines
Diff to previous 1.42 (colored)

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

No functional change.

Revision 1.38.6.3 / (download) - annotate - [select for diffs], Thu May 22 11:40:36 2014 UTC (8 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.38.6.2: +11 -3 lines
Diff to previous 1.38.6.2 (colored) to branchpoint 1.38 (colored) next main 1.39 (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.40.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:29:33 2013 UTC (9 years, 11 months ago) by tls
Branch: tls-maxphys
Changes since 1.40: +11 -3 lines
Diff to previous 1.40 (colored)

resync with head

Revision 1.42 / (download) - annotate - [select for diffs], Sat Feb 2 14:15:55 2013 UTC (10 years ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-base, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, khorben-n900, agc-symver-base, agc-symver
Branch point for: nick-nhusb, netbsd-7-nhusb, netbsd-7
Changes since 1.41: +3 -2 lines
Diff to previous 1.41 (colored)

Use CACHE_LINE_SIZE for EHCI_SQTD_ALIGN to make sure the sqtd fully consume
a cacheline.

Revision 1.41 / (download) - annotate - [select for diffs], Tue Jan 29 00:00:15 2013 UTC (10 years ago) by christos
Branch: MAIN
Changes since 1.40: +9 -2 lines
Diff to previous 1.40 (colored)

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

Revision 1.38.6.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:22:04 2012 UTC (10 years, 3 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.38.6.1: +7 -4 lines
Diff to previous 1.38.6.1 (colored) to branchpoint 1.38 (colored)

sync with head

Revision 1.40 / (download) - annotate - [select for diffs], Sun Jun 10 06:15:53 2012 UTC (10 years, 7 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.39: +7 -4 lines
Diff to previous 1.39 (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.38.6.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:05 2012 UTC (10 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.38: +1 -3 lines
Diff to previous 1.38 (colored)

sync with head

Revision 1.39 / (download) - annotate - [select for diffs], Tue Mar 6 02:49:02 2012 UTC (10 years, 11 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base10
Changes since 1.38: +1 -3 lines
Diff to previous 1.38 (colored)

pull down from usbmp:

kill the !USE_USE_SOFTINTR code.

Revision 1.38.10.1 / (download) - annotate - [select for diffs], Sun Dec 4 13:23:16 2011 UTC (11 years, 2 months ago) by jmcneill
Branch: jmcneill-usbmp
CVS Tags: mrg-ohci-jmcneill-usbmp-base, mrg-ohci-jmcneill-usbmp, jmcneill-usbmp-pre-base2
Changes since 1.38: +7 -6 lines
Diff to previous 1.38 (colored) next main 1.39 (colored)

Make ehci mpsafe.

Revision 1.37.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:08:40 2011 UTC (11 years, 8 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.37: +2 -1 lines
Diff to previous 1.37 (colored) next main 1.38 (colored)

Sync with HEAD.

Revision 1.36.2.1 / (download) - annotate - [select for diffs], Sat Mar 5 20:54:10 2011 UTC (11 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.36: +5 -1 lines
Diff to previous 1.36 (colored) next main 1.37 (colored)

sync with head

Revision 1.38 / (download) - annotate - [select for diffs], Tue Jan 18 08:29:24 2011 UTC (12 years ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, rmind-uvmplock-nbase, rmind-uvmplock-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.37: +2 -1 lines
Diff to previous 1.37 (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.33.16.1 / (download) - annotate - [select for diffs], Fri Jan 7 02:50:47 2011 UTC (12 years ago) by matt
Branch: matt-nb5-pq3
Changes since 1.33: +2 -1 lines
Diff to previous 1.33 (colored) next main 1.34 (colored)

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

Revision 1.35.2.2 / (download) - annotate - [select for diffs], Fri Oct 22 07:22:17 2010 UTC (12 years, 3 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.35.2.1: +3 -0 lines
Diff to previous 1.35.2.1 (colored) to branchpoint 1.35 (colored) next main 1.36 (colored)

Sync with HEAD (-D20101022).

Revision 1.37 / (download) - annotate - [select for diffs], Sat Oct 16 05:23:42 2010 UTC (12 years, 3 months ago) by kiyohara
Branch: MAIN
CVS Tags: uebayasi-xip-base4, uebayasi-xip-base3, matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr
Changes since 1.36: +4 -1 lines
Diff to previous 1.36 (colored)

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

Revision 1.35.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:43:50 2010 UTC (12 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored)

Sync with HEAD.

Revision 1.29.4.4 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:04 2010 UTC (12 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.29.4.3: +3 -3 lines
Diff to previous 1.29.4.3 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

sync with head

Revision 1.36 / (download) - annotate - [select for diffs], Wed Feb 24 22:38:09 2010 UTC (12 years, 11 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base2, uebayasi-xip-base1
Branch point for: rmind-uvmplock
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (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.35 / (download) - annotate - [select for diffs], Fri Jan 8 20:39:03 2010 UTC (13 years ago) by dyoung
Branch: MAIN
CVS Tags: uebayasi-xip-base
Branch point for: uebayasi-xip
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 (colored)

Expand PMF_FN_* macros.

Revision 1.29.4.3 / (download) - annotate - [select for diffs], Wed Sep 16 13:37:57 2009 UTC (13 years, 4 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.29.4.2: +3 -7 lines
Diff to previous 1.29.4.2 (colored) to branchpoint 1.29 (colored)

sync with head

Revision 1.34 / (download) - annotate - [select for diffs], Fri Sep 4 17:55:03 2009 UTC (13 years, 5 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, matt-premerge-20091211, jym-xensuspend-nbase
Changes since 1.33: +3 -7 lines
Diff to previous 1.33 (colored)

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

Revision 1.29.4.2 / (download) - annotate - [select for diffs], Mon May 4 08:13:20 2009 UTC (13 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.29.4.1: +40 -3 lines
Diff to previous 1.29.4.1 (colored) to branchpoint 1.29 (colored)

sync with head.

Revision 1.26.10.5 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:09 2009 UTC (14 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.26.10.4: +3 -2 lines
Diff to previous 1.26.10.4 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

Sync with HEAD.

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:17:09 2008 UTC (14 years, 3 months ago) by haad
Branch: haad-dm
Changes since 1.31: +36 -3 lines
Diff to previous 1.31 (colored) next main 1.32 (colored)

Sync with HEAD.

Revision 1.33 / (download) - annotate - [select for diffs], Tue Oct 14 18:12:38 2008 UTC (14 years, 3 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, matt-nb5-pq3-base, 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-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, jymxensuspend-base, jym-xensuspend-base, jym-xensuspend, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: matt-nb5-pq3
Changes since 1.32: +4 -3 lines
Diff to previous 1.32 (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.17.8.3 / (download) - annotate - [select for diffs], Sun Sep 28 16:06:39 2008 UTC (14 years, 4 months ago) by jdc
Branch: netbsd-3
Changes since 1.17.8.2: +5 -1 lines
Diff to previous 1.17.8.2 (colored) to branchpoint 1.17 (colored) next main 1.18 (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.26.10.4 / (download) - annotate - [select for diffs], Sun Sep 28 10:40:33 2008 UTC (14 years, 4 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.26.10.3: +32 -0 lines
Diff to previous 1.26.10.3 (colored) to branchpoint 1.26 (colored)

Sync with HEAD.

Revision 1.30.2.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:35:11 2008 UTC (14 years, 4 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.30: +37 -1 lines
Diff to previous 1.30 (colored) next main 1.31 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.23.24.1 / (download) - annotate - [select for diffs], Thu Sep 4 08:46:45 2008 UTC (14 years, 5 months ago) by skrll
Branch: wrstuden-fixsa
Changes since 1.23: +5 -1 lines
Diff to previous 1.23 (colored) next main 1.24 (colored)

Sync with netbsd-4.

Revision 1.23.22.1 / (download) - annotate - [select for diffs], Sun Aug 31 16:48:29 2008 UTC (14 years, 5 months ago) by jdc
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base
Changes since 1.23: +5 -1 lines
Diff to previous 1.23 (colored) next main 1.24 (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.32 / (download) - annotate - [select for diffs], Sat Aug 2 22:23:18 2008 UTC (14 years, 6 months ago) by jmcneill
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2
Changes since 1.31: +33 -1 lines
Diff to previous 1.31 (colored)

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

Revision 1.30.4.1 / (download) - annotate - [select for diffs], Thu Jul 3 18:38:05 2008 UTC (14 years, 7 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.30: +5 -1 lines
Diff to previous 1.30 (colored) next main 1.31 (colored)

Sync with head.

Revision 1.26.10.3 / (download) - annotate - [select for diffs], Sun Jun 29 09:33:11 2008 UTC (14 years, 7 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.26.10.2: +4 -0 lines
Diff to previous 1.26.10.2 (colored) to branchpoint 1.26 (colored)

Sync with HEAD.

Revision 1.31 / (download) - annotate - [select for diffs], Sat Jun 28 17:42:53 2008 UTC (14 years, 7 months ago) by bouyer
Branch: MAIN
CVS Tags: simonb-wapbl-nbase, simonb-wapbl-base
Branch point for: haad-dm
Changes since 1.30: +5 -1 lines
Diff to previous 1.30 (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.26.10.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:23:53 2008 UTC (14 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.26.10.1: +0 -7 lines
Diff to previous 1.26.10.1 (colored) to branchpoint 1.26 (colored)

Sync with HEAD.

Revision 1.24.14.2 / (download) - annotate - [select for diffs], Wed May 21 05:01:45 2008 UTC (14 years, 8 months ago) by itohy
Branch: itohy-usb1
Changes since 1.24.14.1: +16 -1 lines
Diff to previous 1.24.14.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Use aux memory.

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

sync with head.

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

sync with head.

Revision 1.30 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:58 2008 UTC (14 years, 9 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa, simonb-wapbl
Changes since 1.29: +1 -8 lines
Diff to previous 1.29 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.26.10.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:42:57 2008 UTC (14 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.26: +9 -7 lines
Diff to previous 1.26 (colored)

Sync with HEAD.

Revision 1.29 / (download) - annotate - [select for diffs], Fri Mar 28 17:14:46 2008 UTC (14 years, 10 months 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.28: +4 -3 lines
Diff to previous 1.28 (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.26.6.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:16:09 2008 UTC (14 years, 10 months ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.26: +6 -5 lines
Diff to previous 1.26 (colored) next main 1.27 (colored)

sync with head.

Revision 1.24.22.2 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:53 2008 UTC (14 years, 10 months ago) by matt
Branch: matt-armv6
Changes since 1.24.22.1: +6 -5 lines
Diff to previous 1.24.22.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

sync with HEAD

Revision 1.19.2.6 / (download) - annotate - [select for diffs], Mon Mar 17 09:15:28 2008 UTC (14 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.5: +2 -2 lines
Diff to previous 1.19.2.5 (colored) next main 1.20 (colored)

sync with head.

Revision 1.28 / (download) - annotate - [select for diffs], Fri Mar 7 22:32:52 2008 UTC (14 years, 11 months 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.27: +2 -2 lines
Diff to previous 1.27 (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.19.2.5 / (download) - annotate - [select for diffs], Wed Feb 27 08:36:47 2008 UTC (14 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.4: +5 -4 lines
Diff to previous 1.19.2.4 (colored)

sync with head.

Revision 1.27 / (download) - annotate - [select for diffs], Fri Feb 22 23:07:12 2008 UTC (14 years, 11 months ago) by dyoung
Branch: MAIN
CVS Tags: hpcarm-cleanup-base
Changes since 1.26: +5 -4 lines
Diff to previous 1.26 (colored)

Add a method to detach child.

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

Revision 1.19.2.4 / (download) - annotate - [select for diffs], Mon Jan 21 09:44:41 2008 UTC (15 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.3: +3 -2 lines
Diff to previous 1.19.2.3 (colored)

sync with head

Revision 1.24.22.1 / (download) - annotate - [select for diffs], Wed Jan 9 01:54:37 2008 UTC (15 years ago) by matt
Branch: matt-armv6
Changes since 1.24: +4 -3 lines
Diff to previous 1.24 (colored)

sync with HEAD

Revision 1.24.28.2 / (download) - annotate - [select for diffs], Thu Dec 27 00:45:29 2007 UTC (15 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.24.28.1: +3 -2 lines
Diff to previous 1.24.28.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.

Revision 1.24.30.2 / (download) - annotate - [select for diffs], Wed Dec 26 21:39:30 2007 UTC (15 years, 1 month ago) by ad
Branch: vmlocking2
Changes since 1.24.30.1: +3 -2 lines
Diff to previous 1.24.30.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Sync with head.

Revision 1.25.2.1 / (download) - annotate - [select for diffs], Tue Dec 11 15:40:01 2007 UTC (15 years, 1 month ago) by yamt
Branch: yamt-kmem
Changes since 1.25: +3 -2 lines
Diff to previous 1.25 (colored) next main 1.26 (colored)

sync with head.

Revision 1.26 / (download) - annotate - [select for diffs], Sun Dec 9 20:28:23 2007 UTC (15 years, 1 month ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, vmlocking2-base3, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.25: +3 -2 lines
Diff to previous 1.25 (colored)

Merge jmcneill-pm branch.

Revision 1.24.20.4 / (download) - annotate - [select for diffs], Sun Dec 9 19:38:01 2007 UTC (15 years, 1 month ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.24.20.3: +2 -2 lines
Diff to previous 1.24.20.3 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.

Revision 1.24.28.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:20:00 2007 UTC (15 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

Sync with HEAD.

Revision 1.24.30.1 / (download) - annotate - [select for diffs], Sat Dec 8 17:57:32 2007 UTC (15 years, 1 month ago) by ad
Branch: vmlocking2
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

Sync with head.

Revision 1.19.2.3 / (download) - annotate - [select for diffs], Fri Dec 7 17:31:27 2007 UTC (15 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.2: +2 -2 lines
Diff to previous 1.19.2.2 (colored)

sync with head

Revision 1.25 / (download) - annotate - [select for diffs], Wed Dec 5 07:15:54 2007 UTC (15 years, 2 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.24: +2 -2 lines
Diff to previous 1.24 (colored)

lockmgr -> mutex

Revision 1.24.20.3 / (download) - annotate - [select for diffs], Tue Nov 6 14:27:32 2007 UTC (15 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.24.20.2: +3 -3 lines
Diff to previous 1.24.20.2 (colored) to branchpoint 1.24 (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.24.20.2 / (download) - annotate - [select for diffs], Mon Oct 1 05:37:59 2007 UTC (15 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.24.20.1: +3 -2 lines
Diff to previous 1.24.20.1 (colored) to branchpoint 1.24 (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.24.20.1 / (download) - annotate - [select for diffs], Fri Aug 3 22:17:25 2007 UTC (15 years, 6 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

Pull in power management changes from private branch.

Revision 1.24.14.1 / (download) - annotate - [select for diffs], Tue May 22 14:57:35 2007 UTC (15 years, 8 months ago) by itohy
Branch: itohy-usb1
Changes since 1.24: +70 -18 lines
Diff to previous 1.24 (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.19.2.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:10:43 2007 UTC (15 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.1: +1 -2 lines
Diff to previous 1.19.2.1 (colored)

sync with head.

Revision 1.23.18.1 / (download) - annotate - [select for diffs], Fri Jan 12 00:57:48 2007 UTC (16 years ago) by ad
Branch: newlock2
Changes since 1.23: +1 -2 lines
Diff to previous 1.23 (colored) next main 1.24 (colored)

Sync with head.

Revision 1.24 / (download) - annotate - [select for diffs], Sun Jan 7 16:44:44 2007 UTC (16 years, 1 month ago) by drochner
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-idlelwp-base8, yamt-idlelwp, vmlocking2-base1, vmlocking-nbase, vmlocking-base, vmlocking, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, post-newlock2-merge, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, newlock2-nbase, newlock2-base, mjf-ufs-trans-base, mjf-ufs-trans, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, jmcneill-base, itohy-usb1-base, hpcarm-cleanup, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking2, mjf-devfs, matt-armv6, jmcneill-pm, itohy-usb1
Changes since 1.23: +1 -2 lines
Diff to previous 1.23 (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.19.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:07:43 2006 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19: +8 -6 lines
Diff to previous 1.19 (colored)

sync with head.

Revision 1.22.2.1 / (download) - annotate - [select for diffs], Wed Feb 1 14:52:20 2006 UTC (17 years ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.22: +4 -1 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

sync with head.

Revision 1.17.8.2 / (download) - annotate - [select for diffs], Sun Jan 22 13:52:50 2006 UTC (17 years ago) by tron
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.17.8.1: +3 -0 lines
Diff to previous 1.17.8.1 (colored) to branchpoint 1.17 (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.23 / (download) - annotate - [select for diffs], Tue Jan 17 12:30:01 2006 UTC (17 years ago) by xtraeme
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, yamt-pdpolicy, wrstuden-fixsa-base-1, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, rpaulo-netinet-merge-pcb-base, rpaulo-netinet-merge-pcb, peter-altq-base, peter-altq, netbsd-4-base, 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, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: wrstuden-fixsa, newlock2, netbsd-4
Changes since 1.22: +4 -1 lines
Diff to previous 1.22 (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.22 / (download) - annotate - [select for diffs], Tue Dec 27 04:06:45 2005 UTC (17 years, 1 month ago) by chs
Branch: MAIN
Branch point for: yamt-uio_vmspace
Changes since 1.21: +2 -4 lines
Diff to previous 1.21 (colored)

changes for making DIAGNOSTIC not change the kernel ABI:
 - for structure fields that are conditionally present,
   make those fields always present.
 - for functions which are conditionally inline, make them never inline.
 - remove some other functions which are conditionally defined but
   don't actually do anything anymore.
 - make a lock-debugging function conditional on only LOCKDEBUG.

as discussed on tech-kern some time back.

Revision 1.12.16.4 / (download) - annotate - [select for diffs], Sun Dec 11 10:29:05 2005 UTC (17 years, 1 month ago) by christos
Branch: ktrace-lwp
Changes since 1.12.16.3: +3 -2 lines
Diff to previous 1.12.16.3 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)

Sync with head.

Revision 1.20.6.1 / (download) - annotate - [select for diffs], Tue Nov 22 16:08:15 2005 UTC (17 years, 2 months ago) by yamt
Branch: yamt-readahead
Changes since 1.20: +3 -2 lines
Diff to previous 1.20 (colored) next main 1.21 (colored)

sync with head.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Nov 20 14:27:25 2005 UTC (17 years, 2 months ago) by augustss
Branch: MAIN
CVS Tags: yamt-readahead-base3, yamt-readahead-base2, ktrace-lwp-base
Changes since 1.20: +3 -2 lines
Diff to previous 1.20 (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.12.16.3 / (download) - annotate - [select for diffs], Thu Nov 10 14:08:05 2005 UTC (17 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.12.16.2: +4 -3 lines
Diff to previous 1.12.16.2 (colored) to branchpoint 1.12 (colored)

Sync with HEAD. Here we go again...

Revision 1.20 / (download) - annotate - [select for diffs], Sun Aug 28 12:10:37 2005 UTC (17 years, 5 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.19: +2 -2 lines
Diff to previous 1.19 (colored)

Minor cosmetic change.

Revision 1.12.20.1 / (download) - annotate - [select for diffs], Fri May 13 17:08:58 2005 UTC (17 years, 8 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.12: +4 -1 lines
Diff to previous 1.12 (colored) next main 1.13 (colored)

Pull up revision 1.16 (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.17.8.1 / (download) - annotate - [select for diffs], Sun May 1 16:40:44 2005 UTC (17 years, 9 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-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0
Changes since 1.17: +2 -1 lines
Diff to previous 1.17 (colored)

Pull up revision 1.18 (requested by augustss in ticket #217):
Add define for EHCI_MAX_POLLRATE.

Revision 1.19 / (download) - annotate - [select for diffs], Fri Apr 29 15:04:29 2005 UTC (17 years, 9 months ago) by augustss
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

Allow 32 chars in the saved vendor string.  Fixes kern/29760.

Revision 1.17.2.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:29:18 2005 UTC (17 years, 9 months ago) by kent
Branch: kent-audio2
Changes since 1.17: +2 -1 lines
Diff to previous 1.17 (colored) next main 1.18 (colored)

sync with -current

Revision 1.18 / (download) - annotate - [select for diffs], Wed Apr 27 21:23:41 2005 UTC (17 years, 9 months ago) by augustss
Branch: MAIN
CVS Tags: kent-audio2-base
Changes since 1.17: +2 -1 lines
Diff to previous 1.17 (colored)

Add define for EHCI_MAX_POLLRATE.

Revision 1.12.16.2 / (download) - annotate - [select for diffs], Mon Jan 17 19:31:52 2005 UTC (18 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.12.16.1: +6 -2 lines
Diff to previous 1.12.16.1 (colored) to branchpoint 1.12 (colored)

Sync with HEAD.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Jan 11 07:45:34 2005 UTC (18 years ago) by imp
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base
Branch point for: netbsd-3, kent-audio2
Changes since 1.16: +3 -2 lines
Diff to previous 1.16 (colored)

Merge from FreeBSD:
sc_child is only used on NetBSD and OpenBSD, ifdef appropriately
FreeBSD revisions:
	ehcivar.h	1.8
	ohcivar.h	1.39
	uhicvar.h	1.39

Revision 1.16 / (download) - annotate - [select for diffs], Tue Dec 21 16:41:24 2004 UTC (18 years, 1 month ago) by fvdl
Branch: MAIN
CVS Tags: kent-audio1-beforemerge
Changes since 1.15: +4 -1 lines
Diff to previous 1.15 (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.12.16.1 / (download) - annotate - [select for diffs], Tue Nov 2 07:53:02 2004 UTC (18 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.12: +21 -1 lines
Diff to previous 1.12 (colored)

Sync with HEAD.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Oct 22 10:38:17 2004 UTC (18 years, 3 months ago) by augustss
Branch: MAIN
CVS Tags: kent-audio1-base, kent-audio1
Changes since 1.14: +18 -1 lines
Diff to previous 1.14 (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.14 / (download) - annotate - [select for diffs], Fri Oct 22 09:58:00 2004 UTC (18 years, 3 months ago) by augustss
Branch: MAIN
Changes since 1.13: +3 -1 lines
Diff to previous 1.13 (colored)

Insert from ifdefs for soft interrupt related stuff.  From OpenBSD.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Oct 21 11:18:21 2004 UTC (18 years, 3 months ago) by augustss
Branch: MAIN
Changes since 1.12: +2 -1 lines
Diff to previous 1.12 (colored)

Add suspend/resume support.
From OpenBSD.

Revision 1.1.6.1 / (download) - annotate - [select for diffs], Thu Jan 10 19:58:48 2002 UTC (21 years ago) by thorpej
Branch: kqueue
Changes since 1.1: +82 -2 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

Sync kqueue branch with -current.

Revision 1.1.4.2 / (download) - annotate - [select for diffs], Tue Jan 8 00:32:03 2002 UTC (21 years, 1 month ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.1.4.1: +61 -2 lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Catch up to -current.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Dec 31 12:16:57 2001 UTC (21 years, 1 month ago) by augustss
Branch: MAIN
CVS Tags: newlock-base, newlock, netbsd-2-base, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, nathanw_sa_before_merge, nathanw_sa_base, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, ifpoll-base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, gehenna-devsw-base, gehenna-devsw, fvdl_fs64_base, eeh-devprop-base, eeh-devprop
Branch point for: netbsd-2, ktrace-lwp
Changes since 1.11: +2 -1 lines
Diff to previous 1.11 (colored)

Change abort slightly.
Change debug output.

Revision 1.11 / (download) - annotate - [select for diffs], Wed Nov 21 12:28:23 2001 UTC (21 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.10: +15 -14 lines
Diff to previous 1.10 (colored)

Add some interrupt processing.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Nov 21 02:44:31 2001 UTC (21 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.9: +8 -1 lines
Diff to previous 1.9 (colored)

Set up control xfers.
Handle xfer timeouts.
Better debug messages.

Revision 1.9 / (download) - annotate - [select for diffs], Tue Nov 20 13:49:23 2001 UTC (21 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.8: +3 -4 lines
Diff to previous 1.8 (colored)

Simplify async list handling.

Revision 1.8 / (download) - annotate - [select for diffs], Mon Nov 19 02:57:16 2001 UTC (21 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.7: +3 -1 lines
Diff to previous 1.7 (colored)

Start of pipe open routine.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Nov 18 00:39:46 2001 UTC (21 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.6: +35 -30 lines
Diff to previous 1.6 (colored)

Add more fields to hardware structs.
Add memory allocation for various data structures.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Nov 16 15:33:14 2001 UTC (21 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.5: +30 -1 lines
Diff to previous 1.5 (colored)

Add some more data structure defs.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Nov 16 01:57:08 2001 UTC (21 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.4: +7 -1 lines
Diff to previous 1.4 (colored)

Recognize port status changes.
Hand over low and full speed devices to companion controller.

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

Add root hub emulation.

Revision 1.1.4.1 / (download) - annotate - [select for diffs], Wed Nov 14 19:16:14 2001 UTC (21 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1: +22 -1 lines
Diff to previous 1.1 (colored)

Catch up to -current.

Revision 1.1.10.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:18:29 2001 UTC (21 years, 2 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.1: +22 -1 lines
Diff to previous 1.1 (colored) next main 1.2 (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 (21 years, 2 months ago) by augustss
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.2: +14 -1 lines
Diff to previous 1.2 (colored)

Add some register defines.
Print companion controllers.

Revision 1.2 / (download) - annotate - [select for diffs], Tue Nov 6 03:16:17 2001 UTC (21 years, 3 months ago) by augustss
Branch: MAIN
Changes since 1.1: +9 -1 lines
Diff to previous 1.1 (colored)

Add some useful macros.

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Fri Jan 5 17:36:29 2001 UTC (22 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.1.2.1: +57 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Sync with HEAD

Revision 1.1.2.1, Sun Dec 24 06:39:02 2000 UTC (22 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.1: +0 -57 lines
FILE REMOVED

file ehcivar.h was added on branch thorpej_scsipi on 2001-01-05 17:36:29 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Sun Dec 24 06:39:02 2000 UTC (22 years, 1 month 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

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>