History log of /src/sys/dev/usb/umass_scsipi.c |
Revision | | Date | Author | Comments |
1.70 |
| 31-Dec-2021 |
riastradh | umass(4): Omit needless reference counting.
autoconf never detaches before attach has completed, so there is no longer any need for this mechanism.
|
1.69 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.68 |
| 23-May-2021 |
riastradh | branches: 1.68.4; umass(4): Use an empty function callback, not null pointer.
This stupid bug, with an `XXX Broken!' comment right above, has been preventing NetBSD from suspend/resume with a USB drive plugged in for longer than I want to even think about admitting. *sigh*
|
1.67 |
| 24-Apr-2021 |
thorpej | branches: 1.67.2; 1.67.4; 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?).
|
1.66 |
| 14-Mar-2020 |
christos | branches: 1.66.6; revert the 0x% -> %# change for fixed width formats pointed out by uwe.
|
1.65 |
| 13-Mar-2020 |
christos | PR/55068: sc.dying: Fix printf formats: - no %s/%p for kernel log - 0x% -> %# - always %j for kernel log
|
1.64 |
| 19-Feb-2020 |
riastradh | C99 initializers for scsipi_bustype. No functional change intended.
|
1.63 |
| 10-Nov-2019 |
chs | branches: 1.63.2; in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT and remove code to handle failures that can no longer happen.
|
1.62 |
| 30-May-2019 |
mlelstv | branches: 1.62.2; ATA passthrough commands, supported by many SPC-2 disks, require more sense data.
|
1.61 |
| 28-Mar-2019 |
kardel | Add reading of supported opcodes and their timeouts at attachment time. Though this information is optional, it allows to override our fixed timeouts with device provided timeouts. These timeouts will override the hardcoded values if the device provided timeouts exceed the hardcoded values and are less than a day.
Using the device provided timeouts avoids premature device resets and unreliable operation due to inadequate timeouts.
Due to the limited implementations of USB umass devices this feature is disabled for all umass attached devices.
|
1.60 |
| 10-Feb-2019 |
jdolecek | move the deallocation of the protocol-specific softc into its own detach hook, so that calls to kmem_alloc() and kmem_free() would agree on the size
fixes panic on umass detach reported by Tom Ivar Helbekkmo on current-users@
|
1.59 |
| 07-Feb-2019 |
skrll | Convert to kmem
|
1.58 |
| 07-Feb-2019 |
skrll | Remove (mostly useless) usb_detach_{broadcast,wait} and replace with cv_{broadcast,timedwait}
Really should loop on conditon.
|
1.57 |
| 22-Jan-2019 |
skrll | KNF
|
1.56 |
| 13-Nov-2018 |
mlelstv | Handle abort paths gracefully on detach.
|
1.55 |
| 28-Oct-2017 |
pgoyette | branches: 1.55.2; 1.55.4; 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.
|
1.54 |
| 21-Nov-2016 |
skrll | branches: 1.54.8; No need to take the kernel lock in umass(4) anymore
|
1.53 |
| 03-Jul-2016 |
skrll | branches: 1.53.2; Fix build for USB_DEBUG without UMASS_DEBUG
|
1.52 |
| 01-Jul-2016 |
skrll | Convert umass(4) to usbhist.
|
1.51 |
| 02-May-2016 |
christos | move scsipi_strvis -> libkern:strnvisx() change the prototype to match userland fix sizes of strings passed to it
|
1.50 |
| 23-Apr-2016 |
skrll | 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
|
1.49 |
| 12-Sep-2014 |
skrll | branches: 1.49.2; Improve USB debugging with USBHIST based on KERNHIST.
Convert some DPRINTFs to USBHIST_LOG and allow usbdebug, ehcidebug and umassdebug to be changed via sysctl.
Remove the #define mess in usb.h.
This was started by mrg@ and updated by reinoud@
|
1.48 |
| 05-Jan-2013 |
christos | branches: 1.48.12; 1.48.16; this used the wrong cpp variable for debugging so it does not need opt_usb.h after all.
|
1.47 |
| 05-Jan-2013 |
christos | - need opt_usb.h if depending on USB_DEBUG - remove trailing whitespace - add missing KERNEL_RCSID
|
1.46 |
| 20-Aug-2012 |
drochner | branches: 1.46.2; For devices which don't claim SPC-3, don't request 32 bytes of sense data but just 18. Some devices signal an error if the transfer length is not exactly what the device expects, and it is hard to deal with these errors afterwards. This makes a number of USB memory sticks and SD card readers work which were not usable before.
|
1.45 |
| 20-Apr-2012 |
bouyer | Add a bustype_async_event_xfer_mode() callback to scsipi_bustype (which can be NULL), so that transport-specific details of transfer mode setting/printing can be handled more easily. Move scsipi_async_event_xfer_mode() and scsipi_print_xfer_mode() to scsi_base.c and split in parallel scsi and FC/SAS parts. size of struct scsipi_bustype has changed, welcome to 6.99.5
|
1.44 |
| 19-Apr-2012 |
bouyer | Expand struct scsipi_bustype {} in a ABI-backward-compatible way to pass more informations about the bus: - bustype_type has 2 different bytes, one holding the existing SCSIPI_BUSTYPE_* (scsi, atapi, ata), and one for a per-SCSIPI_BUSTYPE_* subtype. Introduce macros to build or extract bustype_type. - for SCSIPI_BUSTYPE_SCSI, define subtypes for parallel SCSI, Fibre Channel, SAS and USB, to specify the transport method. SCSIPI_BUSTYPE_SCSI_PSCSI is 0 so that bustype_type value doesn't change for existing code - for non-SCSIPI_BUSTYPE_SCSI busses there's no defined subtype yet, so the bustype_type value doesn't change. - provide scsi_fc_bustype, scsi_sas_bustype and scsi_usb_bustype along with scsi_bustype to be used by bus driver where appropriate - scsipi_print_xfer_mode(): more existing code under a (SCSIPI_BUSTYPE_SCSI, SCSIPI_BUSTYPE_SCSI_PSCSI) case, as sync/wide parameters only make sense for parallel SCSI. For (SCSIPI_BUSTYPE_SCSI, SCSIPI_BUSTYPE_SCSI_FC) and (SCSIPI_BUSTYPE_SCSI, SCSIPI_BUSTYPE_SCSI_SAS), only print tagged queing status if enabled. Just be silent for other bustypes.
This change is prompted by this problem: right now, FC (e.g. isp(4)) and SAS (e.g. mfi(4)) don't do anything for ADAPTER_REQ_SET_XFER_MODE, and especially never call scsipi_async_event(ASYNC_EVENT_XFER_MODE), so sd(4) always runs untagged. Doing a scsipi_async_event(ASYNC_EVENT_XFER_MODE) with appropriate parameters is enough to enable tagged queuing, but then scsipi will print: sd0: async, 8-bit transfers, tagged queueing which is harmless (async, 8-bit transfers doens't make sense on SAS anyway) but will confuse users. With this change scsipi will only print: sd0: tagged queueing which is correct.
In the long run, knowning the underlying transport in scsipi will allow better handling of device which are not parallel SCSI.
Another change adding an extra callback to struct scsipi_bustype {} will come (so that scsipi_print_xfer_mode(), which is SCSI-specific, can be moved out of scsipi_base, and split into per-subtype callback), but this will break kernel ABI and so is not suitable for netbsd-6, so will be commmited later. The above is enough to get tagged queuing on FC and SAS in netbsd-6.
|
1.43 |
| 11-Mar-2012 |
mrg | minor cleanups from usbmp: - move usbd_delay_ms() into usbdivar.h in the usb_subr.c section - minor rcsid fixes - copyright maintenence
|
1.42 |
| 06-Mar-2012 |
mrg | pull down from usbmp branch:
- rename usb_detach_{wake,waitup}() to usb_detach_{wake,waitup}old() - use some c99 struct .initialisers
|
1.41 |
| 04-Mar-2012 |
mrg | replace the hack to pass USBD_SYNCHRONOUS down when called with XS_CTL_POLL with one that doesn't modify global-to-softc state.
|
1.40 |
| 23-Feb-2012 |
he | Include <sys/lwp.h> for access to curlwp, now used in various locking ops.
|
1.39 |
| 20-Feb-2012 |
mrg | assert kernel lock is held in a few places in inside scsipi. lock the kernel when calling into scsipi from umass and usscanner.
with these two in place on usbmp branch, umass appears stable.
|
1.38 |
| 24-Aug-2011 |
mbalmer | branches: 1.38.2; 1.38.6; 1.38.10; Wrap the include "opt_umass.h" in #ifdef _KERNEL_OPT.
|
1.37 |
| 23-Aug-2011 |
christos | defopt UMASS_DEBUG
|
1.36 |
| 03-Nov-2010 |
dyoung | Stop using the compatibility macros USB_ATTACH(), USB_DETACH(), USB_MATCH(), et cetera. These files produce the same assembly (according to objdump -d) before and after the change
|
1.35 |
| 21-Oct-2009 |
rmind | branches: 1.35.2; 1.35.4; Remove uarea swap-out functionality:
- Addresses the issue described in PR/38828. - Some simplification in threading and sleepq subsystems. - Eliminates pmap_collect() and, as a side note, allows pmap optimisations. - Eliminates XS_CTL_DATA_ONSTACK in scsipi code. - Avoids few scans on LWP list and thus potentially long holds of proc_lock. - Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k. - Removes __SWAP_BROKEN cases.
Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on acorn26 (thanks to <bjh21>).
Discussed on <tech-kern>, reviewed by <ad>.
|
1.34 |
| 11-Jan-2009 |
cegger | make this compile
|
1.33 |
| 24-May-2008 |
cube | branches: 1.33.6; Split device_t and softc for all USB device drivers, and related cosmetic changes.
Matthias Drochner kindly reviewed this patch, and tested ums, ubt, uaudio and ral. I tested umass myself.
|
1.32 |
| 28-Apr-2008 |
martin | branches: 1.32.2; Remove clause 3 and 4 from TNF licenses
|
1.31 |
| 24-Mar-2008 |
cube | branches: 1.31.2; 1.31.4; Split device_t and softc for atapibus(4).
|
1.30 |
| 04-Mar-2007 |
christos | branches: 1.30.36; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.29 |
| 16-Nov-2006 |
christos | branches: 1.29.4; 1.29.10; __unused removal on arguments; approved by core.
|
1.28 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.27 |
| 11-Dec-2005 |
christos | branches: 1.27.20; 1.27.22; merge ktrace-lwp.
|
1.26 |
| 22-Sep-2005 |
nathanw | umass_scsipi_sense_cb(): don't set XS_STS_DONE in xs->xs_status; scsipi_done() will do that.
|
1.25 |
| 07-Jul-2005 |
drochner | -tighten the autoconf constraints by passing the atapi/scsi attribute to config_found() (after some cleanup we might be able to kill SCSIPI_BUSTYPE_*) -remove scsipiprint() -- the parts which make it differ from scsiprint()/atapiprint() were unreachable anyway
|
1.24 |
| 21-Feb-2005 |
thorpej | branches: 1.24.4; Part 1 of a cleanup pass over the SCSI subsystem. The aim is to name everything "scsi_*", since we really are talking about the SCSI command set, ATAPI transport not withstanding. Improve the names of many structures, and prepend "SCSI_" onto all SCSI command opcodes. Place items described by the SCSI Primary Commands document into scsi_spc.h.
|
1.23 |
| 01-Feb-2005 |
reinoud | Backing out changes to clean up scsipi. I was pointed out there were problems i hadn't seen. To prevent lossage i'd decided to back off all changes and let them be reviewed on tech-kern.
|
1.22 |
| 31-Jan-2005 |
reinoud | Part of the cleanup of sys/scsipi's use of types; rename all u_int* to uint* and change the u_long's to uint32_t's where possible. Note that the iocl definitions/hooks have to be ulong (or u_long) or they'll bomb out.
|
1.21 |
| 28-Oct-2004 |
yamt | branches: 1.21.4; 1.21.6; move buffer queue related stuffs from buf.h to their own header, bufq.h.
|
1.20 |
| 18-Sep-2004 |
yamt | change some members of struct buf from long to int. ride on 2.0H.
|
1.19 |
| 17-Oct-2003 |
mycroft | PQUIRK_NOSENSE is dead here. Remove the code supporting it.
|
1.18 |
| 16-Oct-2003 |
mycroft | Set the REQUEST SENSE command length to 12 for ATAPI, too. (UFI and ATAPI are really the same...)
Fixes problems with Sony Vaio memory stick slots, which advertise themselves as "ATAPI over CBI".
Remove the quirk for Fuji cameras, since this is almost certainly the same bug.
|
1.17 |
| 13-Oct-2003 |
dyoung | dev/scsipi/atapi_disk.h is no more, and umass_scsipi.c compiles fine w/o it.
|
1.16 |
| 13-Sep-2003 |
mycroft | Arrange for the SCSI device to be target 0, and us to be the highest target number. This will make my life easier later...
|
1.15 |
| 12-Sep-2003 |
mycroft | Set SCSIPI_CHAN_NOSETTLE.
|
1.14 |
| 10-Sep-2003 |
mycroft | Copyright maintenance.
|
1.13 |
| 10-Sep-2003 |
mycroft | Er, missed one thing.
|
1.12 |
| 10-Sep-2003 |
mycroft | Exorcise UMASS_QUIRK_FORCE_SHORT_INQUIRY.
|
1.11 |
| 10-Sep-2003 |
mycroft | cc -pipe -ffreestanding -O2 -Werror -Wall -Wno-main -Wno-format-zero-length -Fix several problems with CCI handling, and enable it: * We were never calling the callback function when we got a UFI CCI(!). * We were passing a bogus residual count on non-UFI CCIs. * After a REQUEST SENSE, the UFI CCI may include the ASC/ASCQ from the sense information -- don't consider this a failure. In addition, remove a horrible hack that was causing us to drop sense information on the floor and return empty INQUIRY responses, often in the case where there is a UNIT ATTENTION pending during the INQUIRY. (Some drives send the data and then fail, some don't.)
This eliminates the need for quirks for the Y-E DATA FlashBuster.
These changes work on:
umass0: SAMSUNG SFD-321U [FW 0C], rev 1.10/2.10, addr 2 umass0: using UFI over CBI with CCI sd0 at atapibus1 drive 0: <SMSC, USB FDC, 2.10> disk removable
umass0: TEAC TEAC FD-05PUB, rev 1.10/0.00, addr 2 umass0: using UFI over CBI with CCI sd0 at atapibus0 drive 0: <TEAC, FD-05PUB, 1026> disk removable
umass0: Y-E DATA FlashBuster-U, rev 1.00/3.04, addr 2 umass0: using UFI over CBI with CCI sd0 at atapibus0 drive 0: <Y-E DATA, USB-FDU, 3.04> disk removable
|
1.10 |
| 08-Sep-2003 |
mycroft | Remove UMASS_QUIRK_NO_START_STOP and UMASS_QUIRK_NO_MAX_LUN.
|
1.9 |
| 16-Feb-2003 |
augustss | branches: 1.9.2; Add a reference count to avoid detaching while the attach is still waiting.
|
1.8 |
| 21-Jan-2003 |
augustss | Make sure to set xs->datalen when we force a short inquiry. From kern/19971, Shingo WATANABE.
|
1.7 |
| 01-Jan-2003 |
thorpej | Use aprint_normal() in cfprint routines.
|
1.6 |
| 27-Sep-2002 |
provos | remove trailing \n in panic(). approved perry.
|
1.5 |
| 11-Jul-2002 |
augustss | Get rid of trailing white space.
|
1.4 |
| 31-Dec-2001 |
augustss | branches: 1.4.2; 1.4.4; 1.4.12; Make a typedef for struct proc to make portingeasier.
|
1.3 |
| 29-Dec-2001 |
augustss | Always set the PQUIRK_ONLYBIG quirk for SCSI devices.
|
1.2 |
| 29-Dec-2001 |
augustss | Introduce a field, busquirks, in the umass quirk table that is passed directly to the quirk field for the bus.
|
1.1 |
| 24-Dec-2001 |
augustss | Make the separation between wire protocol (umass.c) and command protocol (umass_scsipi.c) more distinct. It is now possible to add new command protocols with a minimum of change. The umassbus.[ch] files have been renamed umass_scsipi.[ch] since this reflects their purpose better.
|
1.4.12.1 |
| 15-Jul-2002 |
gehenna | catch up with -current.
|
1.4.4.4 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.4.4.3 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.4.4.2 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.4.4.1 |
| 31-Dec-2001 |
thorpej | file umass_scsipi.c was added on branch kqueue on 2002-01-10 19:59:01 +0000
|
1.4.2.5 |
| 03-Jan-2003 |
thorpej | Sync with HEAD.
|
1.4.2.4 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.4.2.3 |
| 01-Aug-2002 |
nathanw | Catch up to -current.
|
1.4.2.2 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.4.2.1 |
| 31-Dec-2001 |
nathanw | file umass_scsipi.c was added on branch nathanw_sa on 2002-01-08 00:32:14 +0000
|
1.9.2.7 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.9.2.6 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.9.2.5 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.9.2.4 |
| 24-Sep-2004 |
skrll | Sync with HEAD.
|
1.9.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.9.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.9.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.21.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.21.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.24.4.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.24.4.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.24.4.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.27.22.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.27.22.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.27.20.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.29.10.2 |
| 17-Jun-2007 |
itohy | Pullup 1.30 in a different way.
|
1.29.10.1 |
| 22-May-2007 |
itohy | 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
|
1.29.4.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.30.36.3 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.30.36.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.30.36.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.31.4.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.31.4.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.31.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.31.2.2 |
| 04-Jun-2008 |
yamt | sync with head
|
1.31.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.32.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.33.6.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.35.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.35.2.1 |
| 06-Nov-2010 |
uebayasi | Sync with HEAD.
|
1.38.10.2 |
| 20-Aug-2012 |
riz | Pull up following revision(s) (requested by drochner in ticket #520): sys/dev/usb/umass_scsipi.c: revision 1.46 For devices which don't claim SPC-3, don't request 32 bytes of sense data but just 18. Some devices signal an error if the transfer length is not exactly what the device expects, and it is hard to deal with these errors afterwards. This makes a number of USB memory sticks and SD card readers work which were not usable before.
|
1.38.10.1 |
| 23-Apr-2012 |
riz | Pull up following revision(s) (requested by bouyer in ticket #192): sys/dev/scsipi/cd.c: revision 1.307 sys/dev/scsipi/scsiconf.c: revision 1.266 sys/dev/scsipi/sd.c: revision 1.298 sys/dev/scsipi/st_scsi.c: revision 1.35 sys/dev/scsipi/atapiconf.c: revision 1.85 sys/dev/scsipi/scsipiconf.h: revision 1.120 sys/dev/usb/umass_scsipi.c: revision 1.44 sys/dev/scsipi/scsiconf.h: revision 1.57 sys/dev/scsipi/st_atapi.c: revision 1.29 sys/dev/scsipi/scsipi_base.c: revision 1.158 sys/dev/scsipi/st.c: revision 1.221 sys/dev/scsipi/scsipi_ioctl.c: revision 1.67 Expand struct scsipi_bustype {} in a ABI-backward-compatible way to pass more informations about the bus: - bustype_type has 2 different bytes, one holding the existing SCSIPI_BUSTYPE_* (scsi, atapi, ata), and one for a per-SCSIPI_BUSTYPE_* subtype. Introduce macros to build or extract bustype_type. - for SCSIPI_BUSTYPE_SCSI, define subtypes for parallel SCSI, Fibre Channel, SAS and USB, to specify the transport method. SCSIPI_BUSTYPE_SCSI_PSCSI is 0 so that bustype_type value doesn't change for existing code - for non-SCSIPI_BUSTYPE_SCSI busses there's no defined subtype yet, so the bustype_type value doesn't change. - provide scsi_fc_bustype, scsi_sas_bustype and scsi_usb_bustype along with scsi_bustype to be used by bus driver where appropriate - scsipi_print_xfer_mode(): more existing code under a (SCSIPI_BUSTYPE_SCSI, SCSIPI_BUSTYPE_SCSI_PSCSI) case, as sync/wide parameters only make sense for parallel SCSI. For (SCSIPI_BUSTYPE_SCSI, SCSIPI_BUSTYPE_SCSI_FC) and (SCSIPI_BUSTYPE_SCSI, SCSIPI_BUSTYPE_SCSI_SAS), only print tagged queing status if enabled. Just be silent for other bustypes. This change is prompted by this problem: right now, FC (e.g. isp(4)) and SAS (e.g. mfi(4)) don't do anything for ADAPTER_REQ_SET_XFER_MODE, and especially never call scsipi_async_event(ASYNC_EVENT_XFER_MODE), so sd(4) always runs untagged. Doing a scsipi_async_event(ASYNC_EVENT_XFER_MODE) with appropriate parameters is enough to enable tagged queuing, but then scsipi will print: sd0: async, 8-bit transfers, tagged queueing which is harmless (async, 8-bit transfers doens't make sense on SAS anyway) but will confuse users. With this change scsipi will only print: sd0: tagged queueing which is correct. In the long run, knowning the underlying transport in scsipi will allow better handling of device which are not parallel SCSI. Another change adding an extra callback to struct scsipi_bustype {} will come (so that scsipi_print_xfer_mode(), which is SCSI-specific, can be moved out of scsipi_base, and split into per-subtype callback), but this will break kernel ABI and so is not suitable for netbsd-6, so will be commmited later. The above is enough to get tagged queuing on FC and SAS in netbsd-6.
|
1.38.6.8 |
| 29-Apr-2012 |
mrg | sync to latest -current.
|
1.38.6.7 |
| 06-Mar-2012 |
mrg | sync to -current
|
1.38.6.6 |
| 06-Mar-2012 |
mrg | sync to -current
|
1.38.6.5 |
| 04-Mar-2012 |
mrg | sync to latest -current.
|
1.38.6.4 |
| 26-Feb-2012 |
mrg | rename old usb_detach_wakeup/wait to usb_detach_{wake,wakeup}old().
|
1.38.6.3 |
| 25-Feb-2012 |
mrg | copyright maintenence.
|
1.38.6.2 |
| 24-Feb-2012 |
mrg | sync to -current.
|
1.38.6.1 |
| 20-Feb-2012 |
mrg | pullup from -current: >assert kernel lock is held in a few places in inside scsipi. >lock the kernel when calling into scsipi from umass and usscanner. > >with these two in place on usbmp branch, umass appears stable.
|
1.38.2.4 |
| 23-Jan-2013 |
yamt | sync with head
|
1.38.2.3 |
| 30-Oct-2012 |
yamt | sync with head
|
1.38.2.2 |
| 23-May-2012 |
yamt | sync with head.
|
1.38.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.46.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.46.2.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.48.16.1 |
| 06-Sep-2016 |
skrll | First pass at netbsd-7 updated with USB code from HEAD
|
1.48.12.1 |
| 05-Apr-2017 |
snj | 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)
|
1.49.2.10 |
| 05-Feb-2017 |
skrll | Fix build
|
1.49.2.9 |
| 29-Jan-2017 |
skrll | KNF
|
1.49.2.8 |
| 29-Jan-2017 |
skrll | The scsipi layer still uses malloc(9)
|
1.49.2.7 |
| 29-Jan-2017 |
skrll | Convert to kmem(9)
|
1.49.2.6 |
| 05-Dec-2016 |
skrll | Sync with HEAD
|
1.49.2.5 |
| 09-Jul-2016 |
skrll | Sync with HEAD
|
1.49.2.4 |
| 29-May-2016 |
skrll | Sync with HEAD
|
1.49.2.3 |
| 29-Sep-2015 |
skrll | sizeof KNF
|
1.49.2.2 |
| 23-Dec-2014 |
skrll | KNF. No brackets around return value.
|
1.49.2.1 |
| 06-Dec-2014 |
skrll | KNF. Remove argument name from function declarations.
No functional change.
|
1.53.2.1 |
| 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.54.8.1 |
| 02-Nov-2017 |
snj | 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.
|
1.55.4.3 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.55.4.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.55.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.55.2.2 |
| 26-Jan-2019 |
pgoyette | Sync with HEAD
|
1.55.2.1 |
| 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
1.62.2.1 |
| 21-Jun-2021 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1306):
sys/dev/usb/umass.c: revision 1.185 sys/dev/usb/umass_scsipi.c: revision 1.68
umass(4): Use an empty function callback, not null pointer.
This stupid bug, with an `XXX Broken!' comment right above, has been preventing NetBSD from suspend/resume with a USB drive plugged in for longer than I want to even think about admitting. *sigh* umass(4): Assert that we got a cb up front.
Avoids jump to zero waaaaaaay down the line where we've forgotten why we wanted to jump into oblivion.
|
1.63.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.66.6.1 |
| 02-Apr-2021 |
thorpej | config_found_ia() -> config_found() w/ CFARG_IATTR.
|
1.67.4.1 |
| 31-May-2021 |
cjep | sync with head
|
1.67.2.1 |
| 17-Jun-2021 |
thorpej | Sync w/ HEAD.
|
1.68.4.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|