Up to [cvs.NetBSD.org] / src / sys / dev / usb
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.43 / (download) - annotate - [select for diffs], Fri Apr 5 18:57:10 2024 UTC (13 days, 17 hours ago) by riastradh
Branch: MAIN
CVS Tags: HEAD
Changes since 1.42: +4 -4
lines
Diff to previous 1.42 (colored) to selected 1.23 (colored)
usb *hci: Always set ux_status before usbd_xfer_schedule_timeout. Add an assert to usbd_xfer_schedule_timeout to enforce this. Since access to ux_status is serialized by the bus lock, and nothing releases the bus lock in the interim, this doesn't make a functional change. But it does reduce confusion by readers, who no longer have to worry if some callers got the order wrong. It could also now potentially be factored out in a subsequent commit.
Revision 1.42 / (download) - annotate - [select for diffs], Sun Feb 4 05:43:06 2024 UTC (2 months, 2 weeks ago) by mrg
Branch: MAIN
Changes since 1.41: +3 -3
lines
Diff to previous 1.41 (colored) to selected 1.23 (colored)
update my email address.
Revision 1.41 / (download) - annotate - [select for diffs], Wed Mar 9 22:17:41 2022 UTC (2 years, 1 month ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base,
thorpej-ifq,
thorpej-altq-separation-base,
thorpej-altq-separation,
netbsd-10-base,
netbsd-10-0-RELEASE,
netbsd-10-0-RC6,
netbsd-10-0-RC5,
netbsd-10-0-RC4,
netbsd-10-0-RC3,
netbsd-10-0-RC2,
netbsd-10-0-RC1,
netbsd-10,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm
Changes since 1.40: +2 -4
lines
Diff to previous 1.40 (colored) to selected 1.23 (colored)
usb: Provisionally release bus lock around ubm_rhctrl. This isn't quite correct, but it avoids a deadlock: - *_roothub_ctrl holds bus lock, waits in usb_delay_ms for kpause - softint waits for bus lock, holds up kpause wakeup The deadlock is new since recent changes to hold the bus lock over upm_start/upm_transfer. Making this change regresses to other problems: - *_suspend/resume and *_roothub_ctrl often touch the same portsc registers - roothub_ctrl_abort needs to wait for ubm_rhctrl to complete. When the bus lock was held across both, a noop served here, but we can't hold the bus lock across both, so that doesn't work. However, these problems -- which we've had for a long time -- seem to be less bad than the deadlock. So let's avoid the deadlock for now and then work out another way to serialize suspend/resume/rhctrl and aborts. Candidate fix for PR kern/56739.
Revision 1.40 / (download) - annotate - [select for diffs], Thu Mar 3 06:12:11 2022 UTC (2 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.39: +14 -17
lines
Diff to previous 1.39 (colored) to selected 1.23 (colored)
usb: Hold pipe lock across upm_transfer and upm_start. This simplifies the code and fixes races with abort. Access to the pipe's queue is now done exclusively while the pipe is locked.
Revision 1.39 / (download) - annotate - [select for diffs], Thu Mar 3 06:08:50 2022 UTC (2 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.38: +2 -3
lines
Diff to previous 1.38 (colored) to selected 1.23 (colored)
usb: Factor usb_transfer_complete out of ubm_abortx method.
Revision 1.38 / (download) - annotate - [select for diffs], Thu Mar 3 06:04:31 2022 UTC (2 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.37: +5 -45
lines
Diff to previous 1.37 (colored) to selected 1.23 (colored)
usb: Factor usb_insert_transfer out of upm_transfer and make private. Almost every upm_transfer function starts with: mutex_enter(&sc->sc_lock); err = usb_insert_transfer(xfer); mutex_exit(&sc->sc_lock); if (err) return err; Some of them have debug messages sprinkled in here too, or assert that err == USBD_NORMAL_COMPLETION (alternative is USBD_IN_PROGRESS, only for pipes with up_running or up_serialise, presumably not applicable for these types of pipes). Some of them also assert xfer->ux_status == USBD_NOT_STARTED, which is guaranteed on entry and preserved by usb_insert_transer. Exceptions: - arch/mips/adm5120/dev/ahci.c ahci_device_isoc_transfer just returns USBD_NORMAL_COMPLETION, but I'm pretty sure this is and always has been broken anyway, so won't make anything worse (if anything, might make it better...) - external/bsd/dwc2/dwc2.c dwc2_device_bulk_transfer and dwc2_device_isoc_transfer _also_ issue dwc2_device_start(xfer) under the lock. This is probably a better way to do it, but let's do it uniformly across all HCIs at once. - rump/dev/lib/libugenhc/ugenhc.c rumpusb_device_bulk_transfer sometimes returns USBD_IN_PROGRESS _without_ queueing the transfer, in the !rump_threads case. Not really sure how this is supposed to work... If it actually breaks anything, we can figure it out.
Revision 1.37 / (download) - annotate - [select for diffs], Sat Aug 7 16:19:16 2021 UTC (2 years, 8 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base,
thorpej-i2c-spi-conf2
Changes since 1.36: +3 -3
lines
Diff to previous 1.36 (colored) to selected 1.23 (colored)
Merge thorpej-cfargs2.
Revision 1.36.8.1 / (download) - annotate - [select for diffs], Wed Aug 4 23:07:57 2021 UTC (2 years, 8 months ago) by thorpej
Branch: thorpej-cfargs2
Changes since 1.36: +3 -3
lines
Diff to previous 1.36 (colored) next main 1.37 (colored) to selected 1.23 (colored)
Adapt to CFARGS().
Revision 1.36 / (download) - annotate - [select for diffs], Sat Apr 24 23:36:59 2021 UTC (2 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf-base,
thorpej-i2c-spi-conf,
thorpej-futex2-base,
thorpej-futex2,
thorpej-cfargs2-base,
cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x
Branch point for: thorpej-cfargs2
Changes since 1.35: +4 -3
lines
Diff to previous 1.35 (colored) to selected 1.23 (colored)
Merge thorpej-cfargs branch: Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments. Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.) Remove unnecessary or redundant interface attributes where they're not needed. There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles) ...and a sentinel value CFARG_EOL. Add some extra sanity checking to ensure that interface attributes aren't ambiguous. Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
Revision 1.35.6.1 / (download) - annotate - [select for diffs], Sun Mar 21 21:09:15 2021 UTC (3 years ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.35: +4 -3
lines
Diff to previous 1.35 (colored) next main 1.36 (colored) to selected 1.23 (colored)
Give config_found() the same variadic arguments treatment as config_search(). This commit only adds the CFARG_EOL sentinel to the existing config_found() calls. Conversion of config_found_sm_loc() and config_found_ia() call sites will be in subsequent commits.
Revision 1.21.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:13 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.21.2.1: +104 -64
lines
Diff to previous 1.21.2.1 (colored) to branchpoint 1.21 (colored) next main 1.22 (colored) to selected 1.23 (colored)
Merge changes from current as of 20200406
Revision 1.35 / (download) - annotate - [select for diffs], Sat Mar 14 02:35:33 2020 UTC (4 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: thorpej-futex-base,
thorpej-futex,
thorpej-cfargs-base,
phil-wifi-20200421,
phil-wifi-20200411,
phil-wifi-20200406,
bouyer-xenpvh-base2,
bouyer-xenpvh-base1,
bouyer-xenpvh-base,
bouyer-xenpvh
Branch point for: thorpej-cfargs
Changes since 1.34: +7 -7
lines
Diff to previous 1.34 (colored) to selected 1.23 (colored)
revert the 0x% -> %# change for fixed width formats pointed out by uwe.
Revision 1.34 / (download) - annotate - [select for diffs], Fri Mar 13 18:17:40 2020 UTC (4 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.33: +18 -18
lines
Diff to previous 1.33 (colored) to selected 1.23 (colored)
PR/55068: sc.dying: Fix printf formats: - no %s/%p for kernel log - 0x% -> %# - always %j for kernel log
Revision 1.25.4.1 / (download) - annotate - [select for diffs], Sun Mar 1 12:35:16 2020 UTC (4 years, 1 month ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE
Changes since 1.25: +93 -53
lines
Diff to previous 1.25 (colored) next main 1.26 (colored) to selected 1.23 (colored)
Pull up following revision(s) (requested by riastradh in ticket #744): sys/dev/usb/uhci.c: revision 1.292 sys/dev/usb/uhci.c: revision 1.293 sys/dev/usb/usbdi.h: revision 1.99 sys/dev/usb/motg.c: revision 1.26 sys/dev/usb/motg.c: revision 1.27 sys/dev/usb/motg.c: revision 1.28 sys/dev/usb/motg.c: revision 1.29 sys/external/bsd/dwc2/dwc2.c: revision 1.70 sys/external/bsd/dwc2/dwc2.c: revision 1.71 sys/dev/usb/usb.c: revision 1.181 sys/arch/mips/adm5120/dev/ahci.c: revision 1.20 sys/dev/usb/usb.c: revision 1.182 sys/dev/usb/xhci.c: revision 1.116 sys/dev/usb/xhci.c: revision 1.117 sys/dev/usb/xhci.c: revision 1.118 sys/dev/usb/uhci.c: revision 1.289 sys/dev/usb/usbdivar.h: revision 1.121 sys/dev/usb/usbdi.c: revision 1.190 sys/dev/usb/usbdivar.h: revision 1.122 sys/dev/usb/usbdi.c: revision 1.191 sys/dev/usb/usbdi.c: revision 1.192 sys/external/bsd/dwc2/dwc2var.h: revision 1.7 sys/dev/usb/motg.c: revision 1.30 sys/dev/usb/motg.c: revision 1.31 sys/dev/usb/motg.c: revision 1.32 sys/dev/usb/motg.c: revision 1.33 sys/external/bsd/dwc2/dwc2.c: revision 1.67 sys/external/bsd/dwc2/dwc2.c: revision 1.68 sys/dev/usb/ehci.c: revision 1.270 sys/external/bsd/dwc2/dwc2.c: revision 1.69 sys/dev/usb/usbdi.h: revision 1.100 sys/dev/usb/ehci.c: revision 1.271 sys/arch/mips/adm5120/dev/ahci.c: revision 1.18 sys/dev/usb/usbdi.h: revision 1.101 sys/dev/usb/ehci.c: revision 1.272 sys/dev/ic/sl811hs.c: revision 1.103 sys/arch/mips/adm5120/dev/ahci.c: revision 1.19 sys/dev/usb/ehci.c: revision 1.273 sys/dev/usb/ohci.c: revision 1.293 sys/dev/usb/uhci.c: revision 1.290 sys/dev/usb/ohci.c: revision 1.294 sys/dev/usb/uhci.c: revision 1.291 sys/dev/usb/ohci.c: revision 1.295 Teach usb_rem_task to return whether removed from queue or not. New function usb_task_pending for diagnostic assertions. Usable only for negative diagnostic assertions: KASSERT(!usb_task_pending(dev, task)) If you can think of a better name for this than !usb_task_pending, I'm all ears. - Nothing guarantees xfer's timeout has completed. Wait for it when we free the xfer. - New xfer state variables ux_timeout_set and ux_timeout_reset. These are needed because: - The host controller interrupt cannot wait for the callout or task to finish running. - Nothing in the USBD API as is waits for the callout or task to finish running. - Callers expect to be able to resubmit USB xfers from xfer callbacks without waiting for anything to finish running. The variable ux_timeout_set can be used by a host controller to decide on submission whether to schedule the callout or to ask an already-scheduled callout or already-queued task to reschedule the callout, by setting the variable ux_timeout_reset to true. When the callout or task runs and sees that ux_timeout_reset is true, rather than queue the task or abort the xfer, it can instead just schedule the callout anew. - Fix steady state of timeouts in ehci. This is complicated because: 1. There are three ways that an xfer can be completed: (a) hardware interrupt completes xfer (b) software decision aborts xfer with USBD_CANCELLED (c) timeout aborts xfer with USBD_TIMEOUT 2. The timeout abort can't be done in callout because ehci_sync_hc, called unconditionally by ehci_abort_xfer to wait until the device has finished using any references to the xfer, may sleep. So we have to schedule a callout that, when run, will schedule a usb_task. 3. The hardware completion interrupt can't sleep waiting for a callout or task to finish -- can't use callout_halt or usb_rem_task_wait. So the callout and usb_task must be able to run _after_ the hardware completion interrupt, and recognize that they're late to the party. (Note, though, that usbd_free_xfer does wait for the callout and task to complete, so there's no danger they may use themselves after free.) 4. The xfer may resubmitted -- and the timeout may be rescheduled -- immediately after the hardware completion interrupt, _while_ the callout and/or usb_task may still be scheduled. Specifically, we may have the following sequence of events: (a) hardware completion interrupt (b) callout or usb_task fires (c) driver resubmits xfer (d) callout or usb_task acquires lock and looks around dazed and bewildered at the firehose of events like reading the news in 2019 The mechanism for sorting this out is that we have two bits of state: - xfer->ux_timeout_set informs the driver, when submitting an xfer and setting up its timeout, whether either the callout or usb_task is already scheduled or not. - xfer->ux_timeout_reset informs the callout or usb_task whether it should reschedule the callout, because the xfer got resubmitted, or not. - Factor out HCI-independent xfer completion logic. New API for HCI drivers to synchronize hardware completion interrupts, synchronous aborts, and asynchronous timeouts: - When submitting an xfer to hardware, call usbd_xfer_schedule_timeout(xfer). - On HCI completion interrupt for xfer completion: if (!usbd_xfer_trycomplete(xfer)) return; /* timed out or aborted, ignore it */ - In upm_abort methods, call usbd_xfer_abort(xfer). For HCI drivers that use this API (not needed in drivers that don't, or for xfers like root intr xfers that don't use it): - New ubm_abortx method serves role of former *hci_abort_xfer, but without any logic for wrangling timeouts/callouts/tasks -- caller in usbd_xfer_abort has already handled them. - New ubm_dying method, returns true if the device is in the process of detaching, used by the timeout logic. Converted and tested: - ehci - ohci Converted and compile-tested: - ahci (XXX did this ever work?) - dwc2 - motg (XXX missing usbd_xfer_schedule_timeout in motg_*_start?) - uhci - xhci Not changed: - slhci (sys/dev/ic/sl811hs.c) -- doesn't use a separate per-xfer callout for timeouts (XXX but maybe should?) - ugenhc (sys/rump/dev/lib/libugenhc/ugenhc.c) -- doesn't manage its own transfer timeouts - Fix steady state of root intr xfers. Why? - Avoid completing a root intr xfer multiple times in races. - Avoid potential use-after-free in poll_hub callouts (uhci, ahci). How? - Use sc->sc_intr_xfer or equivalent to store only a pending xfer that has not yet completed -- whether successfully, by timeout, or by synchronous abort. When any of those happens, set it to null under the lock, so the xfer is completed only once. - For hci drivers that use a callout to poll the root hub (uhci, ahci): . Pass the softc pointer, not the xfer, to the callout, so the callout is not even tempted to use xfer after free -- if the callout fires, but the xfer is synchronously aborted before the callout can do anything, the xfer might be freed by the time the callout starts to examine it. . Teach the callout to do nothing if it is callout_pending after it has fired. This way: 1. completion or synchronous abort can just callout_stop 2. start can just callout_schedule If the callout had already fired before (1), and doesn't acquire the bus lock until after (2), it may be tempted to abort the new root intr xfer just after submission, which would be wrong -- so instead we just have the callout do nothing if it notices it has been rescheduled, since it will fire again after the appropriate time has elapsed. - Initialize xfer->ux_status in uhci_root_intr_start. Otherwise, it will be USBD_NOT_STARTED, so usbd_ar_pipe will skip calling upm_abort. Candidate fix for PR kern/54963, same problem as reported at: href="https://mail-index.NetBSD.org/current-users/2020/02/13/msg037740.html - Set ux_isdone in uhci_poll_hub for DIAGNOSTIC. - Fix mistakes in previous sloppy change with root intr xfers. - Make sure ux_status is set to USBD_IN_PROGRESS when started. Otherwise, if it is still in flight when we abort the pipe, usbd_ar_pipe will skip calling upm_abort. - Initialize ux_status under the lock; in principle a completion interrupt (or a delay) could race with the initialization. - KASSERT that the xfer is in progress when we're about to complete it. Candidate fix for PR kern/54963 for other HCI drivers than uhci. ok nick ok phone (This is the change that nick evidently MEANT to ok when he ok'd the previous one!) - Fix build - Fix non-DIAGNOSTIC builds. - Fix wrong KASSERT in motg abort. This has been wrong since last summer when we did the transition to xfer->ux_status = USBD_CANCELLED earlier. XXX pullup-9 - Fix mistakes in timeout/abort/completion changes in motg(4). - Call usbd_xfer_schedule_timeout so we actually do time out. - Don't call usbd_xfer_trycomplete until all the data have been transferred -- it commits to completion, not timeout. - Use xfer->ux_status != USBD_IN_PROGRESS to test whether, after a partial write, an xfer has been interrupted or timed out and need not be continued. - Remove wrong assertion. - Fix mistake in use of usbd_xfer_schedule_timeout in motg. This code path is used both for xfers that are new, and xfers that are being done piece by piece and are partway done. For the latter case, skip usbd_xfer_schedule_timeout so we schedule it only once per xfer. - Simplify some branches and kassert some redundant assignments.
Revision 1.25.6.1 / (download) - annotate - [select for diffs], Sat Feb 29 20:19:16 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.25: +93 -53
lines
Diff to previous 1.25 (colored) next main 1.26 (colored) to selected 1.23 (colored)
Sync with head.
Revision 1.33 / (download) - annotate - [select for diffs], Sun Feb 23 08:54:55 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
CVS Tags: is-mlppp-base,
is-mlppp,
ad-namecache-base3
Changes since 1.32: +6 -10
lines
Diff to previous 1.32 (colored) to selected 1.23 (colored)
Simplify some branches and kassert some redundant assignments.
Revision 1.32 / (download) - annotate - [select for diffs], Sun Feb 23 08:54:47 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.31: +14 -6
lines
Diff to previous 1.31 (colored) to selected 1.23 (colored)
Fix mistake in use of usbd_xfer_schedule_timeout in motg. This code path is used both for xfers that are new, and xfers that are being done piece by piece and are partway done. For the latter case, skip usbd_xfer_schedule_timeout so we schedule it only once per xfer.
Revision 1.31 / (download) - annotate - [select for diffs], Wed Feb 19 16:01:37 2020 UTC (4 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.30: +30 -33
lines
Diff to previous 1.30 (colored) to selected 1.23 (colored)
Fix mistakes in timeout/abort/completion changes in motg(4). - Call usbd_xfer_schedule_timeout so we actually do time out. - Don't call usbd_xfer_trycomplete until all the data have been transferred -- it commits to completion, not timeout. - Use xfer->ux_status != USBD_IN_PROGRESS to test whether, after a partial write, an xfer has been interrupted or timed out and need not be continued. - Remove wrong assertion.
Revision 1.30 / (download) - annotate - [select for diffs], Tue Feb 18 17:50:20 2020 UTC (4 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.29: +2 -3
lines
Diff to previous 1.29 (colored) to selected 1.23 (colored)
Fix wrong KASSERT in motg abort. This has been wrong since last summer when we did the transition to xfer->ux_status = USBD_CANCELLED earlier. XXX pullup-9
Revision 1.29 / (download) - annotate - [select for diffs], Sat Feb 15 13:56:55 2020 UTC (4 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.28: +3 -3
lines
Diff to previous 1.28 (colored) to selected 1.23 (colored)
Fix non-DIAGNOSTIC builds.
Revision 1.28 / (download) - annotate - [select for diffs], Sat Feb 15 07:46:48 2020 UTC (4 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.27: +4 -3
lines
Diff to previous 1.27 (colored) to selected 1.23 (colored)
Fix build
Revision 1.27 / (download) - annotate - [select for diffs], Sat Feb 15 01:21:56 2020 UTC (4 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.26: +33 -4
lines
Diff to previous 1.26 (colored) to selected 1.23 (colored)
Fix mistakes in previous sloppy change with root intr xfers. - Make sure ux_status is set to USBD_IN_PROGRESS when started. Otherwise, if it is still in flight when we abort the pipe, usbd_ar_pipe will skip calling upm_abort. - Initialize ux_status under the lock; in principle a completion interrupt (or a delay) could race with the initialization. - KASSERT that the xfer is in progress when we're about to complete it. Candidate fix for PR kern/54963 for other HCI drivers than uhci. ok nick ok phone (This is the change that nick evidently MEANT to ok when he ok'd the previous one!)
Revision 1.26 / (download) - annotate - [select for diffs], Wed Feb 12 16:01:00 2020 UTC (4 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.25: +40 -30
lines
Diff to previous 1.25 (colored) to selected 1.23 (colored)
Factor out HCI-independent xfer completion logic. New API for HCI drivers to synchronize hardware completion interrupts, synchronous aborts, and asynchronous timeouts: - When submitting an xfer to hardware, call usbd_xfer_schedule_timeout(xfer). - On HCI completion interrupt for xfer completion: if (!usbd_xfer_trycomplete(xfer)) return; /* timed out or aborted, ignore it */ - In upm_abort methods, call usbd_xfer_abort(xfer). For HCI drivers that use this API (not needed in drivers that don't, or for xfers like root intr xfers that don't use it): - New ubm_abortx method serves role of former *hci_abort_xfer, but without any logic for wrangling timeouts/callouts/tasks -- caller in usbd_xfer_abort has already handled them. - New ubm_dying method, returns true if the device is in the process of detaching, used by the timeout logic. Converted and tested: - ehci - ohci Converted and compile-tested: - ahci (XXX did this ever work?) - dwc2 - motg (XXX missing usbd_xfer_schedule_timeout in motg_*_start?) - uhci - xhci Not changed: - slhci (sys/dev/ic/sl811hs.c) -- doesn't use a separate per-xfer callout for timeouts (XXX but maybe should?) - ugenhc (sys/rump/dev/lib/libugenhc/ugenhc.c) -- doesn't manage its own transfer timeouts - vhci -- times transfers out only on detach; could be adapted easily if we wanted to use the xfer->ux_callout
Revision 1.21.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:07:34 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.21: +46 -25
lines
Diff to previous 1.21 (colored) to selected 1.23 (colored)
Sync with HEAD
Revision 1.25 / (download) - annotate - [select for diffs], Sun Feb 17 04:17:52 2019 UTC (5 years, 2 months ago) by rin
Branch: MAIN
CVS Tags: phil-wifi-20191119,
phil-wifi-20190609,
netbsd-9-base,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1,
isaki-audio2-base,
isaki-audio2,
ad-namecache-base2,
ad-namecache-base1,
ad-namecache-base
Branch point for: netbsd-9,
ad-namecache
Changes since 1.24: +4 -3
lines
Diff to previous 1.24 (colored) to selected 1.23 (colored)
Fix assertion failures triggered by usbdi.c,v 1.182, when devices are detached. This is because xfers of USBD_NOT_STARTED can be removed from queue in an invisible way to host controller drivers. Discussed on tech-kern.
Revision 1.19.2.3 / (download) - annotate - [select for diffs], Sat Jan 26 22:00:24 2019 UTC (5 years, 2 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.19.2.2: +5 -6
lines
Diff to previous 1.19.2.2 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored) to selected 1.23 (colored)
Sync with HEAD
Revision 1.24 / (download) - annotate - [select for diffs], Tue Jan 22 06:39:24 2019 UTC (5 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-compat-20190127
Changes since 1.23: +5 -6
lines
Diff to previous 1.23 (colored)
#ifdef DIAGNOSTIC / panic -> KASSERTMSG
Revision 1.19.2.2 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:04 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.19.2.1: +41 -20
lines
Diff to previous 1.19.2.1 (colored) to branchpoint 1.19 (colored) to selected 1.23 (colored)
Sync with HEAD Resolve a couple of conflicts (result of the uimin/uimax changes)
Revision 1.23 / (download) - annotate - [selected], Mon Sep 3 16:29:33 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-compat-20190118,
pgoyette-compat-1226,
pgoyette-compat-1126,
pgoyette-compat-1020,
pgoyette-compat-0930,
pgoyette-compat-0906
Changes since 1.22: +7 -7
lines
Diff to previous 1.22 (colored)
Rename min/max -> uimin/uimax for better honesty. These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended. HOWEVER! Some subsystems have #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b)) even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation. To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it. I have left a handful of bootloaders that are too annoying to compile-test, and some dead code: cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4)) It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them. Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
Revision 1.6.4.5 / (download) - annotate - [select for diffs], Sat Aug 25 14:57:35 2018 UTC (5 years, 7 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE
Changes since 1.6.4.4: +36 -15
lines
Diff to previous 1.6.4.4 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.23 (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.17.10.3 / (download) - annotate - [select for diffs], Sat Aug 25 11:29:52 2018 UTC (5 years, 7 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1
Changes since 1.17.10.2: +36 -15
lines
Diff to previous 1.17.10.2 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored) to selected 1.23 (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.22 / (download) - annotate - [select for diffs], Thu Aug 9 06:26:47 2018 UTC (5 years, 8 months ago) by mrg
Branch: MAIN
CVS Tags: jdolecek-ncqfixes-base,
jdolecek-ncqfixes
Changes since 1.21: +36 -15
lines
Diff to previous 1.21 (colored) to selected 1.23 (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.19.2.1 / (download) - annotate - [select for diffs], Mon Apr 16 02:00:02 2018 UTC (6 years ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.19: +2 -23
lines
Diff to previous 1.19 (colored) to selected 1.23 (colored)
Sync with HEAD, resolve some conflicts
Revision 1.21 / (download) - annotate - [select for diffs], Mon Apr 9 16:21:11 2018 UTC (6 years 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.20: +2 -17
lines
Diff to previous 1.20 (colored) to selected 1.23 (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.20 / (download) - annotate - [select for diffs], Sun Apr 8 13:36:37 2018 UTC (6 years ago) by jmcneill
Branch: MAIN
Changes since 1.19: +2 -8
lines
Diff to previous 1.19 (colored) to selected 1.23 (colored)
Remove MOTG_ALLWINNER option
Revision 1.6.4.4 / (download) - annotate - [select for diffs], Wed Jan 3 20:02:37 2018 UTC (6 years, 3 months ago) by snj
Branch: netbsd-7
Changes since 1.6.4.3: +3 -3
lines
Diff to previous 1.6.4.3 (colored) to branchpoint 1.6 (colored) to selected 1.23 (colored)
Pull up following revision(s) (requested by skrll in ticket #1529): sys/dev/usb/ehci.c: revision 1.257 sys/dev/usb/motg.c: revision 1.19 sys/dev/usb/ohci.c: revision 1.276 sys/dev/usb/uhci.c: revision 1.279 sys/dev/usb/xhci.c: revision 1.77 sys/external/bsd/dwc2/dwc2.c: revision 1.47 s/PR_NOWAIT/PR_WAITOK/ in HCD allocx (allocate xfer) method
Revision 1.8.2.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:37:34 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.8.2.2: +614 -848
lines
Diff to previous 1.8.2.2 (colored) next main 1.9 (colored) to selected 1.23 (colored)
update from HEAD
Revision 1.17.10.2 / (download) - annotate - [select for diffs], Thu Nov 23 13:29:32 2017 UTC (6 years, 4 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE,
netbsd-8-0-RC2,
netbsd-8-0-RC1
Changes since 1.17.10.1: +3 -3
lines
Diff to previous 1.17.10.1 (colored) to branchpoint 1.17 (colored) to selected 1.23 (colored)
Pull up following revision(s) (requested by skrll in ticket #385): sys/dev/usb/xhci.c: revision 1.77 sys/external/bsd/dwc2/dwc2.c: revision 1.47 sys/dev/usb/motg.c: revision 1.19 sys/dev/usb/ehci.c: revision 1.257 sys/dev/usb/ohci.c: revision 1.276 sys/dev/usb/uhci.c: revision 1.279 s/PR_NOWAIT/PR_WAITOK/ in HCD allocx (allocate xfer) method
Revision 1.19 / (download) - annotate - [select for diffs], Fri Nov 17 08:22:02 2017 UTC (6 years, 5 months ago) by skrll
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202,
pgoyette-compat-base,
pgoyette-compat-0407,
pgoyette-compat-0330,
pgoyette-compat-0322,
pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.18: +3 -3
lines
Diff to previous 1.18 (colored) to selected 1.23 (colored)
s/PR_NOWAIT/PR_WAITOK/ in HCD allocx (allocate xfer) method
Revision 1.17.10.1 / (download) - annotate - [select for diffs], Thu Nov 2 21:29:52 2017 UTC (6 years, 5 months ago) by snj
Branch: netbsd-8
CVS Tags: matt-nb8-mediatek-base,
matt-nb8-mediatek
Changes since 1.17: +77 -64
lines
Diff to previous 1.17 (colored) to selected 1.23 (colored)
Pull up following revision(s) (requested by pgoyette in ticket #335): share/man/man9/kernhist.9: 1.5-1.8 sys/arch/acorn26/acorn26/pmap.c: 1.39 sys/arch/arm/arm32/fault.c: 1.105 via patch sys/arch/arm/arm32/pmap.c: 1.350, 1.359 sys/arch/arm/broadcom/bcm2835_bsc.c: 1.7 sys/arch/arm/omap/if_cpsw.c: 1.20 sys/arch/arm/omap/tiotg.c: 1.7 sys/arch/evbarm/conf/RPI2_INSTALL: 1.3 sys/dev/ic/sl811hs.c: 1.98 sys/dev/usb/ehci.c: 1.256 sys/dev/usb/if_axe.c: 1.83 sys/dev/usb/motg.c: 1.18 sys/dev/usb/ohci.c: 1.274 sys/dev/usb/ucom.c: 1.119 sys/dev/usb/uhci.c: 1.277 sys/dev/usb/uhub.c: 1.137 sys/dev/usb/umass.c: 1.160-1.162 sys/dev/usb/umass_quirks.c: 1.100 sys/dev/usb/umass_scsipi.c: 1.55 sys/dev/usb/usb.c: 1.168 sys/dev/usb/usb_mem.c: 1.70 sys/dev/usb/usb_subr.c: 1.221 sys/dev/usb/usbdi.c: 1.175 sys/dev/usb/usbdi_util.c: 1.67-1.70 sys/dev/usb/usbroothub.c: 1.3 sys/dev/usb/xhci.c: 1.75 sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.34 sys/kern/kern_history.c: 1.15 sys/kern/kern_xxx.c: 1.74 sys/kern/vfs_bio.c: 1.275-1.276 sys/miscfs/genfs/genfs_io.c: 1.71 sys/sys/kernhist.h: 1.21 sys/ufs/ffs/ffs_balloc.c: 1.63 sys/ufs/lfs/lfs_vfsops.c: 1.361 sys/ufs/lfs/ulfs_inode.c: 1.21 sys/ufs/lfs/ulfs_vnops.c: 1.52 sys/ufs/ufs/ufs_inode.c: 1.102 sys/ufs/ufs/ufs_vnops.c: 1.239 sys/uvm/pmap/pmap.c: 1.37-1.39 sys/uvm/pmap/pmap_tlb.c: 1.22 sys/uvm/uvm_amap.c: 1.108 sys/uvm/uvm_anon.c: 1.64 sys/uvm/uvm_aobj.c: 1.126 sys/uvm/uvm_bio.c: 1.91 sys/uvm/uvm_device.c: 1.66 sys/uvm/uvm_fault.c: 1.201 sys/uvm/uvm_km.c: 1.144 sys/uvm/uvm_loan.c: 1.85 sys/uvm/uvm_map.c: 1.353 sys/uvm/uvm_page.c: 1.194 sys/uvm/uvm_pager.c: 1.111 sys/uvm/uvm_pdaemon.c: 1.109 sys/uvm/uvm_swap.c: 1.175 sys/uvm/uvm_vnode.c: 1.103 usr.bin/vmstat/vmstat.c: 1.219 Reorder to test for null before null deref in debug code -- Reorder to test for null before null deref in debug code -- KNF -- No need for '\n' in UVMHIST_LOG -- normalise a BIOHIST log message -- Update the kernhist(9) kernel history code to address issues identified in PR kern/52639, as well as some general cleaning-up... (As proposed on tech-kern@ with additional changes and enhancements.) Details of changes: * All history arguments are now stored as uintmax_t values[1], both in the kernel and in the structures used for exporting the history data to userland via sysctl(9). This avoids problems on some architectures where passing a 64-bit (or larger) value to printf(3) can cause it to process the value as multiple arguments. (This can be particularly problematic when printf()'s format string is not a literal, since in that case the compiler cannot know how large each argument should be.) * Update the data structures used for exporting kernel history data to include a version number as well as the length of history arguments. * All [2] existing users of kernhist(9) have had their format strings updated. Each format specifier now includes an explicit length modifier 'j' to refer to numeric values of the size of uintmax_t. * All [2] existing users of kernhist(9) have had their format strings updated to replace uses of "%p" with "%#jx", and the pointer arguments are now cast to (uintptr_t) before being subsequently cast to (uintmax_t). This is needed to avoid compiler warnings about casting "pointer to integer of a different size." * All [2] existing users of kernhist(9) have had instances of "%s" or "%c" format strings replaced with numeric formats; several instances of mis-match between format string and argument list have been fixed. * vmstat(1) has been modified to handle the new size of arguments in the history data as exported by sysctl(9). * vmstat(1) now provides a warning message if the history requested with the -u option does not exist (previously, this condition was silently ignored, with only a single blank line being printed). * vmstat(1) now checks the version and argument length included in the data exported via sysctl(9) and exits if they do not match the values with which vmstat was built. * The kernhist(9) man-page has been updated to note the additional requirements imposed on the format strings, along with several other minor changes and enhancements. [1] It would have been possible to use an explicit length (for example, uint64_t) for the history arguments. But that would require another "rototill" of all the users in the future when we add support for an architecture that supports a larger size. Also, the printf(3) format specifiers for explicitly-sized values, such as "%"PRIu64, are much more verbose (and less aesthetically appealing, IMHO) than simply using "%ju". [2] I've tried very hard to find "all [the] existing users of kernhist(9)" but it is possible that I've missed some of them. I would be glad to update any stragglers that anyone identifies. -- For some reason this single kernel seems to have outgrown its declared size as a result of the kernhist(9) changes. Bump the size. XXX The amount of increase may be excessive - anyone with more detailed XXX knowledge please feel free to further adjust the value appropriately. -- Misssed one cast of pointer --> uintptr_t in previous kernhist(9) commit -- And yet another one. :( -- Use correct mark-up for NetBSD version. -- More improvements in grammar and readability. -- Remove a stray '"' (obvious typo) and add a couple of casts that are probably needed. -- And replace an instance of "%p" conversion with "%#jx" -- Whitespace fix. Give Bl tag table a width. Fix Xr.
Revision 1.18 / (download) - annotate - [select for diffs], Sat Oct 28 00:37:12 2017 UTC (6 years, 5 months ago) by pgoyette
Branch: MAIN
Changes since 1.17: +77 -64
lines
Diff to previous 1.17 (colored) to selected 1.23 (colored)
Update the kernhist(9) kernel history code to address issues identified in PR kern/52639, as well as some general cleaning-up... (As proposed on tech-kern@ with additional changes and enhancements.) Details of changes: * All history arguments are now stored as uintmax_t values[1], both in the kernel and in the structures used for exporting the history data to userland via sysctl(9). This avoids problems on some architectures where passing a 64-bit (or larger) value to printf(3) can cause it to process the value as multiple arguments. (This can be particularly problematic when printf()'s format string is not a literal, since in that case the compiler cannot know how large each argument should be.) * Update the data structures used for exporting kernel history data to include a version number as well as the length of history arguments. * All [2] existing users of kernhist(9) have had their format strings updated. Each format specifier now includes an explicit length modifier 'j' to refer to numeric values of the size of uintmax_t. * All [2] existing users of kernhist(9) have had their format strings updated to replace uses of "%p" with "%#jx", and the pointer arguments are now cast to (uintptr_t) before being subsequently cast to (uintmax_t). This is needed to avoid compiler warnings about casting "pointer to integer of a different size." * All [2] existing users of kernhist(9) have had instances of "%s" or "%c" format strings replaced with numeric formats; several instances of mis-match between format string and argument list have been fixed. * vmstat(1) has been modified to handle the new size of arguments in the history data as exported by sysctl(9). * vmstat(1) now provides a warning message if the history requested with the -u option does not exist (previously, this condition was silently ignored, with only a single blank line being printed). * vmstat(1) now checks the version and argument length included in the data exported via sysctl(9) and exits if they do not match the values with which vmstat was built. * The kernhist(9) man-page has been updated to note the additional requirements imposed on the format strings, along with several other minor changes and enhancements. [1] It would have been possible to use an explicit length (for example, uint64_t) for the history arguments. But that would require another "rototill" of all the users in the future when we add support for an architecture that supports a larger size. Also, the printf(3) format specifiers for explicitly-sized values, such as "%"PRIu64, are much more verbose (and less aesthetically appealing, IMHO) than simply using "%ju". [2] I've tried very hard to find "all [the] existing users of kernhist(9)" but it is possible that I've missed some of them. I would be glad to update any stragglers that anyone identifies.
Revision 1.6.4.3 / (download) - annotate - [select for diffs], Wed Apr 5 19:54:19 2017 UTC (7 years ago) by snj
Branch: netbsd-7
Changes since 1.6.4.2: +536 -805
lines
Diff to previous 1.6.4.2 (colored) to branchpoint 1.6 (colored) to selected 1.23 (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.6.4.2.4.3 / (download) - annotate - [select for diffs], Fri Mar 31 10:05:07 2017 UTC (7 years ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.6.4.2.4.2: +3 -3
lines
Diff to previous 1.6.4.2.4.2 (colored) to branchpoint 1.6.4.2 (colored) next main 1.6.4.3 (colored) to selected 1.23 (colored)
Whitespace
Revision 1.6.4.2.4.2 / (download) - annotate - [select for diffs], Thu Jan 26 21:54:24 2017 UTC (7 years, 2 months ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.6.4.2.4.1: +5 -6
lines
Diff to previous 1.6.4.2.4.1 (colored) to branchpoint 1.6.4.2 (colored) to selected 1.23 (colored)
Sync with HEAD/nhusb
Revision 1.12.2.32 / (download) - annotate - [select for diffs], Tue Dec 27 10:09:24 2016 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.31: +2 -3
lines
Diff to previous 1.12.2.31 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored) to selected 1.23 (colored)
Stray #endif
Revision 1.12.2.31 / (download) - annotate - [select for diffs], Tue Dec 27 08:49:29 2016 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.30: +5 -5
lines
Diff to previous 1.12.2.30 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
#ifdef DIAGNOSTIC + panic -> KASSERTMSG
Revision 1.6.4.2.4.1 / (download) - annotate - [select for diffs], Tue Sep 6 20:33:09 2016 UTC (7 years, 7 months ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.6.4.2: +534 -802
lines
Diff to previous 1.6.4.2 (colored) to selected 1.23 (colored)
First pass at netbsd-7 updated with USB code from HEAD
Revision 1.12.2.30 / (download) - annotate - [select for diffs], Sat Jul 9 20:25:15 2016 UTC (7 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.29: +4 -4
lines
Diff to previous 1.12.2.29 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Sync with HEAD
Revision 1.17 / (download) - annotate - [select for diffs], Sun Jun 5 18:46:03 2016 UTC (7 years, 10 months ago) by jakllsch
Branch: MAIN
CVS Tags: 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,
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,
netbsd-8-base,
localcount-20160914,
jdolecek-ncq-base,
jdolecek-ncq,
bouyer-socketcan-base1,
bouyer-socketcan-base,
bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.16: +4 -4
lines
Diff to previous 1.16 (colored) to selected 1.23 (colored)
Use MUSB2_REG_RXNAKLIMIT instead of MUSB2_REG_TXNAKLIMIT in the recieve path. XXX MUSB2_REG_RXNAKLIMIT in awin_otgreg.h is probably wrong.
Revision 1.12.2.29 / (download) - annotate - [select for diffs], Sun May 29 08:44:31 2016 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.28: +3 -44
lines
Diff to previous 1.12.2.28 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Sync with HEAD
Revision 1.16 / (download) - annotate - [select for diffs], Fri May 6 13:03:06 2016 UTC (7 years, 11 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529
Changes since 1.15: +2 -43
lines
Diff to previous 1.15 (colored) to selected 1.23 (colored)
usb is attached with config_interrupts so we can G/C the code to support transfers when this wasn't the case.
Revision 1.15 / (download) - annotate - [select for diffs], Sat Apr 23 18:54:42 2016 UTC (7 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.14: +3 -3
lines
Diff to previous 1.14 (colored) to selected 1.23 (colored)
Fix KASSERT
Revision 1.14 / (download) - annotate - [select for diffs], Sat Apr 23 10:15:32 2016 UTC (7 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.13: +540 -767
lines
Diff to previous 1.13 (colored) to selected 1.23 (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.12.2.28 / (download) - annotate - [select for diffs], Sat Feb 6 08:53:03 2016 UTC (8 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.27: +7 -4
lines
Diff to previous 1.12.2.27 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
#include "opt_*" corrections
Revision 1.12.2.27 / (download) - annotate - [select for diffs], Wed Dec 23 08:07:40 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.26: +3 -3
lines
Diff to previous 1.12.2.26 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Revert previous... I got ahead of myself
Revision 1.12.2.26 / (download) - annotate - [select for diffs], Wed Dec 23 07:59:19 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.25: +3 -3
lines
Diff to previous 1.12.2.25 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Transfer are only ever allocated from thread context now. Change IPL_USB to IPL_NONE in pool_cache_init for the xfer struct pool.
Revision 1.12.2.25 / (download) - annotate - [select for diffs], Sat Dec 19 09:59:03 2015 UTC (8 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.24: +11 -30
lines
Diff to previous 1.12.2.24 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Use KASSERT* instead of panic wrapped in #ifdef DIAGNOSTIC / #endif
Revision 1.12.2.24 / (download) - annotate - [select for diffs], Sat Dec 19 09:56:41 2015 UTC (8 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.23: +3 -5
lines
Diff to previous 1.12.2.23 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
use __diagused
Revision 1.12.2.23 / (download) - annotate - [select for diffs], Sat Dec 19 09:55:07 2015 UTC (8 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.22: +20 -20
lines
Diff to previous 1.12.2.22 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Provide and use a MOTG_PIPE2MPIPE helper macro
Revision 1.12.2.22 / (download) - annotate - [select for diffs], Sat Dec 19 09:47:57 2015 UTC (8 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.21: +3 -3
lines
Diff to previous 1.12.2.21 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Whitespace.
Revision 1.12.2.21 / (download) - annotate - [select for diffs], Tue Oct 20 15:31:21 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.20: +26 -26
lines
Diff to previous 1.12.2.20 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Consistently providei/use *_{XFER,PIPE,BUS}2SC, etc macros
Revision 1.12.2.20 / (download) - annotate - [select for diffs], Tue Oct 20 15:17:54 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.19: +2 -7
lines
Diff to previous 1.12.2.19 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
g/c some unused stuff.
Revision 1.12.2.19 / (download) - annotate - [select for diffs], Sun Oct 11 09:17:51 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.18: +5 -4
lines
Diff to previous 1.12.2.18 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Update ubm_allocx with the isoc frame count parameter and use it in dwctwo(4)
Revision 1.12.2.18 / (download) - annotate - [select for diffs], Tue Sep 22 12:06:01 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.17: +3 -3
lines
Diff to previous 1.12.2.17 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Sync with HEAD
Revision 1.13 / (download) - annotate - [select for diffs], Wed Aug 19 06:23:35 2015 UTC (8 years, 8 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20160422,
nick-nhusb-base-20160319,
nick-nhusb-base-20151226,
nick-nhusb-base-20150921
Changes since 1.12: +3 -3
lines
Diff to previous 1.12 (colored) to selected 1.23 (colored)
More IPL_SCHED -> IPL_USB
Revision 1.12.2.17 / (download) - annotate - [select for diffs], Thu Mar 19 17:26:43 2015 UTC (9 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.16: +68 -68
lines
Diff to previous 1.12.2.16 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Do the same as OpenBSD and get rid of the *_handle typedefs and use plain structures insteads
Revision 1.12.2.16 / (download) - annotate - [select for diffs], Mon Mar 9 14:26:31 2015 UTC (9 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.15: +183 -135
lines
Diff to previous 1.12.2.15 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Convert to USBHIST
Revision 1.12.2.15 / (download) - annotate - [select for diffs], Mon Mar 9 14:24:17 2015 UTC (9 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.14: +2 -3
lines
Diff to previous 1.12.2.14 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Remove a header that isn't needed.
Revision 1.12.2.14 / (download) - annotate - [select for diffs], Sun Mar 8 15:31:18 2015 UTC (9 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.13: +8 -7
lines
Diff to previous 1.12.2.13 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
KNF
Revision 1.12.2.13 / (download) - annotate - [select for diffs], Sun Feb 1 12:08:15 2015 UTC (9 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.12: +2 -3
lines
Diff to previous 1.12.2.12 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Remove unused #includes
Revision 1.12.2.12 / (download) - annotate - [select for diffs], Sat Dec 6 09:07:59 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.11: +3 -2
lines
Diff to previous 1.12.2.11 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Set ub_usedma to false.
Revision 1.12.2.11 / (download) - annotate - [select for diffs], Fri Dec 5 13:23:38 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.10: +6 -6
lines
Diff to previous 1.12.2.10 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Use int for return type for [eou]chi_init and motg_init.
Revision 1.12.2.10 / (download) - annotate - [select for diffs], Fri Dec 5 09:37:49 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.9: +23 -23
lines
Diff to previous 1.12.2.9 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
KNF. Remove ( ) from return statements.
Revision 1.12.2.9 / (download) - annotate - [select for diffs], Thu Dec 4 08:04:31 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.8: +65 -294
lines
Diff to previous 1.12.2.8 (colored) to branchpoint 1.12 (colored) to selected 1.23 (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.12.2.8 / (download) - annotate - [select for diffs], Wed Dec 3 23:05:06 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.7: +3 -3
lines
Diff to previous 1.12.2.7 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Rename usbroothub_subr.[ch] to usbroothub.[ch]
Revision 1.12.2.7 / (download) - annotate - [select for diffs], Wed Dec 3 22:42:41 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.6: +49 -45
lines
Diff to previous 1.12.2.6 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Use designated initialisers. No functional change.
Revision 1.12.2.6 / (download) - annotate - [select for diffs], Wed Dec 3 12:52:07 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.5: +178 -178
lines
Diff to previous 1.12.2.5 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
The grand renaming of structure members. No functional change.
Revision 1.12.2.5 / (download) - annotate - [select for diffs], Tue Dec 2 09:00:33 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.4: +6 -33
lines
Diff to previous 1.12.2.4 (colored) to branchpoint 1.12 (colored) to selected 1.23 (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.12.2.4 / (download) - annotate - [select for diffs], Mon Dec 1 12:38:39 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.3: +35 -35
lines
Diff to previous 1.12.2.3 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Add prefixes to method structures member names. No functional change.
Revision 1.12.2.3 / (download) - annotate - [select for diffs], Mon Dec 1 08:12:09 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.2: +2 -3
lines
Diff to previous 1.12.2.2 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Remove usbd_bus no_intrs member it was (virtually) unused.
Revision 1.12.2.2 / (download) - annotate - [select for diffs], Sun Nov 30 13:14:11 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.2.1: +13 -13
lines
Diff to previous 1.12.2.1 (colored) to branchpoint 1.12 (colored) to selected 1.23 (colored)
Whitespace
Revision 1.12.2.1 / (download) - annotate - [select for diffs], Sun Nov 30 12:18:58 2014 UTC (9 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12: +8 -8
lines
Diff to previous 1.12 (colored) to selected 1.23 (colored)
Use C99 types. u_int{8,16,32,64}_t to uint{8,16,32,64}_t. No functional change.
Revision 1.6.4.2 / (download) - annotate - [select for diffs], Wed Nov 12 19:54:46 2014 UTC (9 years, 5 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116,
netbsd-7-nhusb-base,
netbsd-7-1-RELEASE,
netbsd-7-1-RC2,
netbsd-7-1-RC1,
netbsd-7-1-2-RELEASE,
netbsd-7-1-1-RELEASE,
netbsd-7-1,
netbsd-7-0-RELEASE,
netbsd-7-0-RC3,
netbsd-7-0-RC2,
netbsd-7-0-RC1,
netbsd-7-0-2-RELEASE,
netbsd-7-0-1-RELEASE,
netbsd-7-0
Branch point for: netbsd-7-nhusb
Changes since 1.6.4.1: +40 -17
lines
Diff to previous 1.6.4.1 (colored) to branchpoint 1.6 (colored) to selected 1.23 (colored)
Pull up following revision(s) (requested by skrll in ticket #222): etc/etc.evbarm/Makefile.inc 1.64 sys/arch/evbarm/conf/BPI 1.2,1.4,1.6-1.7,1.9 sys/arch/evbarm/conf/BPI_INSTALL 1.1 sys/arch/evbarm/conf/CUBIEBOARD 1.18-1.30 sys/arch/evbarm/conf/CUBIETRUCK 1.4,1.6 sys/arch/evbarm/conf/mk.awin 1.4 sys/arch/evbarm/conf/std.awin 1.4 (via patch) sys/conf/files 1.1104 sys/dev/usb/motg.c 1.9-1.12 sys/dev/usb/motgreg.h 1.2-1.4 Allow attachment glue to override the number of endpoints - options MOTG_ALLWINNER to select the awin specific reg layout options MOTG_ALLWINNER - Instead of polluting motgreg.h with AllWinner specific registers (things were getting out of hand), move the AllWinner reg definitions to arch/arm/allwinner/awin_otgreg.h and include that instead of dev/usb/motgreg.h when MOTG_ALLWINNER is defined. let the bus driver override fifo size - If the bus driver supplies a fifo size and dynfifo is true, use it - Various kernel config fixes.
Revision 1.12 / (download) - annotate - [select for diffs], Sat Sep 13 19:02:00 2014 UTC (9 years, 7 months ago) by jmcneill
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606,
nick-nhusb-base-20150406,
nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.11: +11 -7
lines
Diff to previous 1.11 (colored) to selected 1.23 (colored)
if the bus driver supplies a fifo size and dynfifo is true, use it
Revision 1.11 / (download) - annotate - [select for diffs], Sat Sep 13 18:36:39 2014 UTC (9 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.10: +9 -5
lines
Diff to previous 1.10 (colored) to selected 1.23 (colored)
let the bus driver override fifo size
Revision 1.10 / (download) - annotate - [select for diffs], Sat Sep 13 17:42:48 2014 UTC (9 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.9: +14 -3
lines
Diff to previous 1.9 (colored) to selected 1.23 (colored)
Instead of polluting motgreg.h with AllWinner specific registers (things were getting out of hand), move the AllWinner reg definitions to arch/arm/allwinner/awin_otgreg.h and include that instead of dev/usb/motgreg.h when MOTG_ALLWINNER is defined.
Revision 1.9 / (download) - annotate - [select for diffs], Sat Sep 13 14:46:50 2014 UTC (9 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.8: +12 -8
lines
Diff to previous 1.8 (colored) to selected 1.23 (colored)
allow attachment glue to override the number of endpoints
Revision 1.8.2.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:51 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.8.2.1: +2460 -0
lines
Diff to previous 1.8.2.1 (colored) to selected 1.23 (colored)
Rebase to HEAD as of a few days ago.
Revision 1.6.4.1 / (download) - annotate - [select for diffs], Tue Aug 12 10:22:54 2014 UTC (9 years, 8 months ago) by martin
Branch: netbsd-7
Changes since 1.6: +72 -74
lines
Diff to previous 1.6 (colored) to selected 1.23 (colored)
Pull up following revision(s) (requested by skrll in ticket #6): sys/dev/usb/motg.c: revision 1.7 sys/dev/usb/motg.c: revision 1.8 Trailing whitespace. Make this compile when DIAGNOSTIC isn't defined.
Revision 1.8.2.1, Tue Aug 12 08:06:46 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.8: +0 -2458
lines
FILE REMOVED
file motg.c was added on branch tls-maxphys on 2014-08-20 00:03:51 +0000
Revision 1.8 / (download) - annotate - [select for diffs], Tue Aug 12 08:06:46 2014 UTC (9 years, 8 months ago) by skrll
Branch: MAIN
Branch point for: tls-maxphys
Changes since 1.7: +7 -9
lines
Diff to previous 1.7 (colored) to selected 1.23 (colored)
Make this compile when DIAGNOSTIC isn't defined.
Revision 1.7 / (download) - annotate - [select for diffs], Tue Aug 12 08:06:07 2014 UTC (9 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.6: +67 -67
lines
Diff to previous 1.6 (colored) to selected 1.23 (colored)
Trailing whitespace.
Revision 1.6.2.2 / (download) - annotate - [select for diffs], Sun Aug 10 06:54:59 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.6.2.1: +2460 -0
lines
Diff to previous 1.6.2.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.23 (colored)
Rebase.
Revision 1.6.2.1, Tue Aug 5 06:35:55 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.6: +0 -2460
lines
FILE REMOVED
file motg.c was added on branch tls-earlyentropy on 2014-08-10 06:54:59 +0000
Revision 1.6 / (download) - annotate - [select for diffs], Tue Aug 5 06:35:55 2014 UTC (9 years, 8 months ago) by skrll
Branch: MAIN
CVS Tags: tls-maxphys-base,
tls-earlyentropy-base,
netbsd-7-base
Branch point for: tls-earlyentropy,
netbsd-7
Changes since 1.5: +3 -3
lines
Diff to previous 1.5 (colored) to selected 1.23 (colored)
Whitespace.
Revision 1.5 / (download) - annotate - [select for diffs], Tue Aug 5 06:35:24 2014 UTC (9 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.4: +4 -7
lines
Diff to previous 1.4 (colored) to selected 1.23 (colored)
Simplify the freeing of the interrupt pipe transfer. Inspired by OpenBSD.
Revision 1.4 / (download) - annotate - [select for diffs], Fri Jul 25 21:16:31 2014 UTC (9 years, 8 months ago) by joerg
Branch: MAIN
Changes since 1.3: +5 -2
lines
Diff to previous 1.3 (colored) to selected 1.23 (colored)
UREAD4 is unused.
Revision 1.3 / (download) - annotate - [select for diffs], Sat Jul 19 22:08:54 2014 UTC (9 years, 9 months ago) by bouyer
Branch: MAIN
Changes since 1.2: +153 -111
lines
Diff to previous 1.2 (colored) to selected 1.23 (colored)
Disable NAK timeout on bulk transfers, I couldn't find a way to clear the NAK bit not the FIFO. Make xfer aborts more robust to races, by setting proper status and flags in xfer.
Revision 1.2 / (download) - annotate - [select for diffs], Thu Jul 17 19:58:18 2014 UTC (9 years, 9 months ago) by bouyer
Branch: MAIN
Changes since 1.1: +17 -7
lines
Diff to previous 1.1 (colored) to selected 1.23 (colored)
Try to recover from vbus errors. Some devices draw too much current at plug time, causing a trancient error.
Revision 1.1 / (download) - annotate - [select for diffs], Wed Jul 16 18:22:23 2014 UTC (9 years, 9 months ago) by bouyer
Branch: MAIN
Diff to selected 1.23 (colored)
Add motg(4), a driver for Mentor Graphic's OTG USB controller IP, as found in several SoCs. Only host mode is supported, good enough for umass (USB keys), kubd and ums, and USB2 hubs. It fails to properly talk to USB/serial adapters at this time.