History log of /src/sys/dev/pci/ehci_pci.c |
Revision | | Date | Author | Comments |
1.78 |
| 31-Mar-2025 |
riastradh | ehci(4): Sprinkle KERNEL_LOCKED_P and KNF on usb_*_add/rem.
Mark with XXXSMP comments to be fixed later without the kernel lock.
No functional change intended: callers generally do this from autoconf *_attach/detach routines, which run kernel-locked anyway (for the moment).
Cleanup in preparation for:
PR port-amd64/59180: System reboots instead of shutting down
|
1.77 |
| 24-Mar-2024 |
mrg | ehci(4): properly handle failed attach
thinkpad a475 fails to attach an ehci instance:
ehci0: pre-2.0 USB rev, device ignored
which ends up stopping suspend/resume working as the device has no pmf handlers installed. put most of the teardown code into a new common function that is called from failed attach and detach. if attach fails, register NULL pmf handlers. don't check the return value of pmf_device_register*().
re-order several parts of detach to match the reverse attach order.
tested on rockpro64, thinkpad a475, and xps 1645, the a475 can now suspend/resume almost fully successfully.
|
1.76 |
| 24-Jan-2023 |
mlelstv | Consistently use cached chipset tag value.
|
1.75 |
| 28-Oct-2022 |
riastradh | branches: 1.75.2; ehci(4): Mark PCI interrupt handler MP-safe.
ehci_intr has its own intr lock to coordinate with the MP-safe softint it defers all its work to, other than reading and writing a few registers to get and acknowledge the interrupt status.
|
1.74 |
| 13-Mar-2022 |
riastradh | ehci(4): Serialize access to portsc registers.
Both ehci_roothub_ctrl and ehci_suspend/resume do r/m/w on them, so use a mutex to serialize access to avoid stomping on each other.
|
1.73 |
| 22-Dec-2021 |
skrll | Three fixes
- pass the 64bit DMA tag if the HCCPARAMS says ehci supports it and the 64bit DMA tag is available/valid. This should help with the "cannot create xfer" error on 64bit systems.
- restrict the control structure memory allocation to the low 4GB (CTRLDSSEGMENT was always set to zero anyway)
- if ehci_init fails then tidyup before returning the error.
|
1.72 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.71 |
| 24-Apr-2021 |
thorpej | branches: 1.71.8; 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.70 |
| 13-Jun-2019 |
maxv | branches: 1.70.12; Fix the error handling in ehci_pci_attach(): if we got a USB<2 device we won't call ehci_init(), so don't call ehci_detach() in ehci_pci_detach().
Fixes a panic seen on a recent Lenovo machine, which has an USB 1.1 controller; ehci_detach() was getting called while 'sc' had not been completely initialized.
|
1.69 |
| 13-Jun-2019 |
maxv | Random style in ehci, also KM_SLEEP does not fail.
|
1.68 |
| 25-Oct-2018 |
jdolecek | enable MSI support where available
|
1.67 |
| 10-May-2018 |
msaitoh | branches: 1.67.2; KNF. No binary change.
|
1.66 |
| 09-Apr-2018 |
jakllsch | 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.
|
1.65 |
| 12-Jun-2017 |
sborrill | branches: 1.65.4; Deal with broken BIOSes that leave PCI interrupts disabled.
Thanks to nick@
|
1.64 |
| 13-Oct-2016 |
jdolecek | branches: 1.64.8; provide intr xname
|
1.63 |
| 23-Apr-2016 |
skrll | branches: 1.63.2; 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.62 |
| 31-Aug-2015 |
skrll | Improve error handling in attach code. From t-hash.
|
1.61 |
| 19-Aug-2015 |
skrll | Interrupt handlers aren't MP-safe yet so use IPL_USB which is IPL_VM which takes the kernel lock.
|
1.60 |
| 15-Jul-2015 |
msaitoh | Initialize some members little earlier. It's not a bug.
|
1.59 |
| 21-Sep-2014 |
christos | branches: 1.59.2; Merge the 3 copies of devlist2h.awk that deal with 16 bit key and value pairs to the compressed one that matt wrote.
|
1.58 |
| 29-Mar-2014 |
christos | branches: 1.58.4; 1.58.8; make pci_intr_string and eisa_intr_string take a buffer and a length instead of relying in local static storage.
|
1.57 |
| 22-Sep-2012 |
tsutsui | branches: 1.57.2; Fix PR kern/46828 (6.0_BETA2 and 6.0_RC1 won't start on DL320/G5p): In ehci_get_ownership(), don't explicitly clear EHCI_LEG_HC_BIOS_OWNED semaphore bit in the driver before asking BIOS to give up ownership. The EHCI spec implies that the semaphore should not be changed by the other agent and actually the previous one (introduced in rev 1.53 after 5.x) caused hangup during probe on at least two HP machines as mentioned in the PR. Analyzed and patch provided by Ryo ONODERA.
Should be pulled up to netbsd-6 (fatal hangup during boot).
|
1.56 |
| 20-Jul-2012 |
uwe | branches: 1.56.2; EHCI_USBINTR is 4 bytes wide, use proper access ops.
|
1.55 |
| 10-Jun-2012 |
mrg | merge the jmcneill-usbmp branch. many thanks to jared for the initial work, and every one else who has tested things for me. this is largely my fault at this point :-)
the main changes are something like:
- usbd_bus_methods{} gains a get_lock() to enable the host controller to provide a lock for the USB code. if the lock isn't provided, old-style protection is (partially) applied.
- ehci/ohci/uhci have been converted to the new interfaces, including mutex/cv/etc conversion.
- usbdivar.h contains a discussion about locking and what locks are held for which method calls. more to come for usbdi(9) here.
- audio drivers (uaudio, umidi, auvitek) have been properly SMPified now that USB is ready.
- scsi drivers have been modified to take the kernel lock explicitly before calling into scsi code.
- usb pipes are associated with a lock, that is the same as the controller lock. (this could be split up further in the future.)
- several usbfoo_locked() or usbfoo_unlocked() functions have been added to the usbdi(9) to enable functionality with or without the USB lock (per controller) already being held.
the TODO.usbmp file has specific details on what is left to do, including what device-specific changes should be done now that the whole framework is ready.
|
1.54 |
| 30-Jan-2012 |
drochner | branches: 1.54.2; 1.54.4; Use pci_aprint_devinfo(9) instead of pci_devinfo+aprint_{normal,naive} where it looks straightforward, and pci_aprint_devinfo_fancy in a few others where drivers want to supply their own device names instead of the pcidevs generated one. More complicated cases, where names are composed at runtime, are left alone for now. It certainly makes sense to simplify the drivers here rather than inventing a catch-all API. This should serve as as example for new drivers, and also ensure consistent output in the AB_QUIET ("boot -q") case. Also, it avoids excessive stack usage where drivers attach child devices because the buffer for the device name is not kept on the local stack anymore.
|
1.53 |
| 30-Jul-2011 |
jmcneill | branches: 1.53.2; 1.53.6; ehci_get_ownership: clear BIOS semaphore when setting OS semaphore, slow down poll rate, and make sure to clear all SMI bits when we're done
|
1.52 |
| 04-Apr-2011 |
dyoung | Deregister PMF handlers during detachment. Complete the host controller shutdown.
|
1.51 |
| 04-Apr-2011 |
dyoung | Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9), pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match predicate passed to pciide_compat_intr_establish() should ever modify their pci_attach_args argument, so make their pci_attach_args arguments const and deal with the fallout throughout the kernel.
For the most part, these changes add a 'const' where there was no 'const' before, however, some drivers and MD code used to modify pci_attach_args. Now those drivers either copy their pci_attach_args and modify the copy, or refrain from modifying pci_attach_args:
Xen: according to Manuel Bouyer, writing to pci_attach_args in pci_intr_map() was a leftover from Xen 2. Probably a bug. I stopped writing it. I have not tested this change.
siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args. Probably a bug. I use a temporary variable. I have not tested this change.
slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args. Probably a bug. Use a local pci_attach_args. I have not tested this change.
viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the caller's pci_attach_args. Probably a bug. Make a local copy of the caller's pci_attach_args and modify the copy. I have not tested this change.
While I'm here, make pci_mapreg_submap() static.
With these changes in place, I have tested the compilation of these kernels:
alpha GENERIC amd64 GENERIC XEN3_DOM0 arc GENERIC atari HADES MILAN-PCIIDE bebox GENERIC cats GENERIC cobalt GENERIC evbarm-eb NSLU2 evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200 KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425 evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3 evbmips64-el XLSATX evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266 OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT hp700 GENERIC i386 ALL XEN3_DOM0 XEN3_DOMU ibmnws GENERIC macppc GENERIC mvmeppc GENERIC netwinder GENERIC ofppc GENERIC prep GENERIC sandpoint GENERIC sgimips GENERIC32_IP2x sparc GENERIC_SUN4U KRUPS sparc64 GENERIC
As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels with or without my patches in place:
### evbmips-el GDIUM
nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop
### evbarm-el MPCSA_GENERIC src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'
### ia64 GENERIC
/tmp/genassym.28085/assym.c: In function 'f111': /tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb' /tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type
### sgimips GENERIC32_IP3x
crmfb.o: In function `crmfb_attach': crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid' crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid' crmfb.c:(.text+0x234c): undefined reference to `edid_parse' crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse' crmfb.c:(.text+0x2354): undefined reference to `edid_print' crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
|
1.50 |
| 11-Dec-2010 |
matt | branches: 1.50.2; Make ehci deal with pci devices that have multiple companion functions and ehci functions. We can't assume that there will only be one ehci per device. The existing code could not deal with:
Netmos MCS9990 Quad USB 2.0 Port (USB serial bus, interface 0x10) at pci1 dev 0 function 0 not configured Netmos MCS9990 Quad USB 2.0 Port (USB serial bus, interface 0x20) at pci1 dev 0 function 1 not configured Netmos MCS9990 Quad USB 2.0 Port (USB serial bus, interface 0x10) at pci1 dev 0 function 2 not configured Netmos MCS9990 Quad USB 2.0 Port (USB serial bus, interface 0x20) at pci1 dev 0 function 3 not configured Netmos MCS9990 Quad USB 2.0 Port (USB serial bus, interface 0x10) at pci1 dev 0 function 4 not configured Netmos MCS9990 Quad USB 2.0 Port (USB serial bus, interface 0x20) at pci1 dev 0 function 5 not configured Netmos MCS9990 Quad USB 2.0 Port (USB serial bus, interface 0x10) at pci1 dev 0 function 6 not configured Netmos MCS9990 Quad USB 2.0 Port (USB serial bus, interface 0x20) at pci1 dev 0 function 7 not configured
|
1.49 |
| 25-May-2010 |
pgoyette | Revert earlier changes to callers of pci_find{vendor,product} since the original routine entrypoint name has been restored.
Requested by dyoung@ and mrg@
|
1.48 |
| 24-May-2010 |
pgoyette | Update all callers of the pci_find{vendor,product} routines to now call these routines through their global pointers.
|
1.47 |
| 24-Feb-2010 |
dyoung | branches: 1.47.2; A pointer typedef entails trading too much flexibility to declare const and non-const types, and the kernel uses both const and non-const PMF qualifiers and device suspensors, so change the pmf_qual_t and device_suspensor_t typedefs from "pointers to const" to non-pointer, non-const types.
|
1.46 |
| 08-Jan-2010 |
dyoung | branches: 1.46.2; Expand PMF_FN_* macros.
|
1.45 |
| 15-Jun-2009 |
cegger | Apply hw workaround required for all SB600 revisions and SB700 revisions A12 and A13 to avoid USB subsystem hang symptom. The USB subsystem hang symptom is observed when the system has multiple USB devices connected to it or one USB device is often re-connected. In some cases a USB hub may be required to observe this symptom.
This patch works around the problem by correcting the internal register setting that will help by changing the behavior of the internal logic to avoid the USB subsystem hang issue. The change in the behavior of the logic does not impact the normal operation of the USB subsystem.
This fix has been discussed, developped, reviewed, polished up and tested on current-users by several people. Thread starts at: http://mail-index.netbsd.org/current-users/2009/05/17/msg009460.html
|
1.44 |
| 26-Apr-2009 |
cegger | u_intNN_t -> uintNN_t
|
1.43 |
| 26-Apr-2009 |
cegger | - Fix error handling in attachment - use aprint_*_dev
|
1.42 |
| 17-Apr-2009 |
christos | appease gcc
|
1.41 |
| 17-Apr-2009 |
dyoung | Use device_t instead of 'struct device *' or device_ptr_t. Use cfdata_t instead of 'struct cfdata *'. Delete some gratuitous parentheses.
|
1.40 |
| 17-Apr-2009 |
dyoung | Disable interrupts on the h/w before detaching the interrupt handler. Protects against the problem described in <http://mail-index.netbsd.org/port-i386/2009/04/10/msg001317.html>, Xintr_ioapic_levelN jumps to 0 during shutdown.
|
1.39 |
| 07-Apr-2009 |
dyoung | Detach ehci(4) and uhci(4) at shutdown.
|
1.38 |
| 28-Apr-2008 |
martin | branches: 1.38.8; 1.38.10; 1.38.14; 1.38.16; Remove clause 3 and 4 from TNF licenses
|
1.37 |
| 28-Mar-2008 |
drochner | branches: 1.37.2; 1.37.4; split device/softc for USB host controllers and the usb (control) device, this is hairy stuff, and I've only tested with uhci/ehci at pci, please test the rest and report problems
|
1.36 |
| 07-Mar-2008 |
dyoung | Use device_t and accessors. Setup power management in the PCI front-end (XXX needs to look more alike the Cardbus front-end). Establish the shutdown hook using PMF.
|
1.35 |
| 22-Feb-2008 |
dyoung | Add a method to detach child.
Cosmetic: use device_t and accessors. Use aprint_*_dev(). Use PMF_FN_{ARGS,CALL,PROTO}.
|
1.34 |
| 28-Jan-2008 |
jmcneill | branches: 1.34.2; 1.34.6; Release ownership of EHCI to the BIOS when we suspend or detach the device driver.
|
1.33 |
| 27-Jan-2008 |
jmcneill | Don't attempt to claim ownership from the BIOS if the OS already holds the HC OS Owned semaphore. Unconditionally clear SMIs as long as the USB legacy capability is present.
|
1.32 |
| 09-Dec-2007 |
jmcneill | Merge jmcneill-pm branch.
|
1.31 |
| 19-Oct-2007 |
ad | branches: 1.31.2; 1.31.4; 1.31.6; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.30 |
| 04-Aug-2007 |
tsutsui | branches: 1.30.2; 1.30.6; 1.30.8; ATI's ehci also requires EHCIF_DROPPED_INTR_WORKAROUND. From FreeBSD.
|
1.29 |
| 01-Aug-2007 |
christos | branches: 1.29.2; Establish powerhooks in the proper order. From Anon Ymous
|
1.28 |
| 08-Jul-2007 |
jmcneill | branches: 1.28.2; If the USB legacy capability flag is not set, we mistakenly attempt to clear it anyway by writing to PCI configuration register 0x00. Instead, if this flag is not set, simply bail out from ehci_get_ownership.
|
1.27 |
| 09-Feb-2007 |
ad | branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
1.26 |
| 16-Nov-2006 |
christos | branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
1.25 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.24 |
| 24-Sep-2006 |
jmcneill | Add "name" parameter to powerhook_establish, to aid debugging. No objections on tech-kern@
|
1.23 |
| 10-Mar-2006 |
jmcneill | branches: 1.23.10; 1.23.12; On suspend, capture PCI configuration registers. On resume, restore them as well as explicitly reclaiming ownership of the UHCI/EHCI from the BIOS.
|
1.22 |
| 17-Jan-2006 |
xtraeme | branches: 1.22.2; 1.22.4; 1.22.6; 1.22.8; From OpenBSD:
-- Add a workaround for VIA EHCI controllers which, under load, signal qTD completion before they have performed writeback from the overlay qTD.
This condition would exhibit itself as a umass stall that never recovers. --
This fixes the problem reported by Thomas Klausner on current-users@: http://mail-index.netbsd.org/current-users/2006/01/17/0000.html
|
1.21 |
| 20-Nov-2005 |
augustss | branches: 1.21.2; Print an error message if we cannot located the legacy capability.
|
1.20 |
| 20-Nov-2005 |
augustss | Make debug printout a little nicer.
|
1.19 |
| 20-Nov-2005 |
augustss | Go through the prescribed process to get ownership of the controller from BIOS before we start using it. This seems to fix the problems some people have been experiencing with keyboards not working.
|
1.18 |
| 28-Jun-2005 |
thorpej | branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
1.17 |
| 27-Feb-2005 |
perry | branches: 1.17.2; nuke trailing whitespace
|
1.16 |
| 02-Aug-2004 |
mycroft | branches: 1.16.4; 1.16.6; For the PCIVERBOSE case, separate vendors and products into separate tables. Eliminating redundant pointers in the tables saves nearly 20K (20% of the table size). In the process, add a pci_findproduct() and make that and pci_findvendor() return a "const char *".
|
1.15 |
| 23-Apr-2004 |
itojun | pass string length (= boundary info) to pci_devinfo so that we do not run over the end of memory region
|
1.14 |
| 22-Apr-2004 |
itojun | sprintf -> snprintf
|
1.13 |
| 31-Jan-2003 |
thorpej | branches: 1.13.2; Use aprint_*().
|
1.12 |
| 02-Oct-2002 |
thorpej | Add trailing ; to CFATTACH_DECL.
|
1.11 |
| 30-Sep-2002 |
thorpej | Use CFATTACH_DECL().
|
1.10 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.9 |
| 22-Aug-2002 |
augustss | Fix an error message.
|
1.8 |
| 14-Feb-2002 |
augustss | branches: 1.8.8; Use the correct years for copyright.
|
1.7 |
| 09-Jan-2002 |
augustss | Split out some code so you can have cardbus ehci without pci.
|
1.6 |
| 13-Nov-2001 |
lukem | add RCSID
|
1.5 |
| 10-Nov-2001 |
augustss | Fill the companion controller array.
|
1.4 |
| 06-Nov-2001 |
augustss | Add some data structures to keep enable finding companion controllers for EHCI.
|
1.3 |
| 28-Dec-2000 |
sommerfeld | branches: 1.3.2; 1.3.4; 1.3.6; 1.3.10; Change pci_intr_map to get interrupt source information from a "struct pci_attach_args *" instead of from four separate parameters which in all cases were extracted from the same "struct pci_attach_args".
This both simplifies the driver api, and allows for alternate PCI interrupt mapping schemes, such as one using the tables described in the Intel Multiprocessor Spec which describe interrupt wirings for devices behind pci-pci bridges based on the device's location rather the bridge's location.
Tested on alpha and i386; welcome to 1.5Q
|
1.2 |
| 24-Dec-2000 |
augustss | Even stubs need improvements.
|
1.1 |
| 24-Dec-2000 |
augustss | Add some placeholders for the EHCI (USB 2) driver.
Don't get your hopes up. I've not even finished reading the (100+) page spec, and I have no hardware.
|
1.3.10.1 |
| 12-Nov-2001 |
thorpej | Sync the thorpej-mips-cache branch with -current.
|
1.3.6.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.3.6.3 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.3.6.2 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.3.6.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.3.4.5 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.3.4.4 |
| 27-Aug-2002 |
nathanw | Catch up to -current.
|
1.3.4.3 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.3.4.2 |
| 11-Jan-2002 |
nathanw | More catchup.
|
1.3.4.1 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.3.2.2 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.3.2.1 |
| 28-Dec-2000 |
bouyer | file ehci_pci.c was added on branch thorpej_scsipi on 2001-01-05 17:36:03 +0000
|
1.8.8.1 |
| 29-Aug-2002 |
gehenna | catch up with -current.
|
1.13.2.6 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.13.2.5 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.13.2.4 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.13.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.13.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.13.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.16.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.16.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.17.2.2 |
| 22-Jan-2006 |
tron | Pull up following revision(s) (requested by xtraeme in ticket #1123): sys/dev/usb/ehcivar.h: revision 1.23 sys/dev/pci/ehci_pci.c: revision 1.22 sys/dev/usb/ehci.c: revision 1.108 From OpenBSD:
-- Add a workaround for VIA EHCI controllers which, under load, signal qTD completion before they have performed writeback from the overlay qTD. This condition would exhibit itself as a umass stall that never recovers. --
This fixes the problem reported by Thomas Klausner on current-users@: http://mail-index.netbsd.org/current-users/2006/01/17/0000.html
|
1.17.2.1 |
| 07-Dec-2005 |
riz | Pull up following revision(s) (requested by gendalia in ticket #1034): sys/dev/pci/ehci_pci.c: revisions 1.18-1.21 sys/dev/usb/ehcireg.h: revisions 1.22-1.23 Go through the prescribed process to get ownership of the controller from BIOS before we start using it. This seems to fix the problems some people have been experiencing with keyboards not working.
Pull up additional code formatting, debugging, and a few #defines. Fixes PR#32249.
|
1.18.8.1 |
| 22-Nov-2005 |
yamt | sync with head.
|
1.18.2.9 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.18.2.8 |
| 27-Feb-2008 |
yamt | sync with head.
|
1.18.2.7 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.18.2.6 |
| 21-Jan-2008 |
yamt | sync with head
|
1.18.2.5 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.18.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.18.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.18.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.18.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.21.2.1 |
| 01-Feb-2006 |
yamt | sync with head.
|
1.22.8.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.22.6.1 |
| 13-Mar-2006 |
yamt | sync with head.
|
1.22.4.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.22.2.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.23.12.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.23.12.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.23.10.2 |
| 06-Feb-2007 |
ad | Quiten noisy boot messages.
|
1.23.10.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.26.4.1 |
| 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.26.2.1 |
| 09-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by jmcneill in ticket #760): sys/dev/pci/ehci_pci.c: revision 1.28 If the USB legacy capability flag is not set, we mistakenly attempt to clear it anyway by writing to PCI configuration register 0x00. Instead, if this flag is not set, simply bail out from ehci_get_ownership.
|
1.27.14.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.27.8.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.27.6.3 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.27.6.2 |
| 20-Aug-2007 |
ad | Sync with HEAD.
|
1.27.6.1 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.28.2.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.29.2.7 |
| 08-Dec-2007 |
jmcneill | Rename pnp(9) -> pmf(9), as requested by many.
|
1.29.2.6 |
| 06-Nov-2007 |
joerg | Refactor PNP API: - Make suspend/resume directly a device functionality. It consists of three layers (class logic, device logic, bus logic), all of them being optional. This replaces D0/D3 transitions. - device_is_active returns true if the device was not disabled and was not suspended (even partially), device_is_enabled returns true if the device was enabled. - Change pnp_global_transition into pnp_system_suspend and pnp_system_resume. Before running any suspend/resume handlers, check that all currently attached devices support power management and bail out otherwise. The latter is not done for the shutdown/panic case. - Make the former bus-specific generic network handlers a class handler. - Make PNP message like volume up/down/toogle PNP events. Each device can register what events they are interested in and whether the handler should be global or not. - Introduce device_active API for devices to mark themselve in use from either the system or the device. Use this to implement the idle handling for audio and input devices. This is intended to replace most ad-hoc watchdogs as well. - Fix somes situations in which audio resume would lose mixer settings. - Make USB host controllers better deal with suspend in the light of shared interrupts. - Flush filesystem cache on suspend. - Flush disk caches on suspend. Put ATA disks into standby on suspend as well. - Adopt drivers to use the new PNP API. - Fix a critical bug in the generic cardbus layer that made D0->D3 break. - Fix ral(4) to set if_stop. - Convert cbb(4) to the new PNP API. - Apply the PCI Express SCI fix on resume again.
|
1.29.2.5 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.29.2.4 |
| 01-Oct-2007 |
joerg | Extend device API by device_power_private and device_power_set_private. The latter is a temporary mean until the pnp_register API itself is overhault. This functions allow a generic power handler to store its state independent of the driver.
Use this and revamp the PCI power handling. Pretty much all PCI devices had power handlers that did the same thing, generalize this in pci_generic_power_register/deregister and the handler. This interface offers callbacks for the drivers to save and restore state on transistions. After a long discussion with jmcneill@ it was considered to be powerful enough until evidence is shown that devices can handle D1/D2 with less code and higher speed than without the full save/restore. The generic code is carefully written to handle device without PCI-PM support and ensure that the correct registers are written to when D3 loses all state.
Reimplement the generic PCI network device handling on top of PCI generic power handling.
Introduce pci_disable_retry as used and implemented locally at least by ath(4) and iwi(4). Use it in this drivers to restore behaviour from before the introduction of generic PCI network handling.
Convert all PCI drivers that were using pnp_register to the new framework. The only exception is vga(4) as it is commonly used as console device. Add a note therein that this should be fixed later.
|
1.29.2.3 |
| 21-Aug-2007 |
joerg | Disable interrupts etc before saving the config space and reenable them afterwards. This fixes resume on my Thinkpad R52.
|
1.29.2.2 |
| 04-Aug-2007 |
jmcneill | Sync with HEAD.
|
1.29.2.1 |
| 03-Aug-2007 |
jmcneill | Pull in power management changes from private branch.
|
1.30.8.2 |
| 04-Aug-2007 |
tsutsui | ATI's ehci also requires EHCIF_DROPPED_INTR_WORKAROUND. From FreeBSD.
|
1.30.8.1 |
| 04-Aug-2007 |
tsutsui | file ehci_pci.c was added on branch matt-mips64 on 2007-08-04 10:36:07 +0000
|
1.30.6.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.30.2.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.30.2.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.30.2.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.31.6.1 |
| 11-Dec-2007 |
yamt | sync with head.
|
1.31.4.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.31.2.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.34.6.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.34.6.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.34.2.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.37.4.4 |
| 11-Mar-2010 |
yamt | sync with head
|
1.37.4.3 |
| 20-Jun-2009 |
yamt | sync with head
|
1.37.4.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.37.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.37.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.38.16.1 |
| 17-Jun-2009 |
bouyer | branches: 1.38.16.1.2; Pull up following revision(s) (requested by cegger in ticket #814): sys/dev/pci/ehci_pci.c: revision 1.45 Apply hw workaround required for all SB600 revisions and SB700 revisions A12 and A13 to avoid USB subsystem hang symptom. The USB subsystem hang symptom is observed when the system has multiple USB devices connected to it or one USB device is often re-connected. In some cases a USB hub may be required to observe this symptom. This patch works around the problem by correcting the internal register setting that will help by changing the behavior of the internal logic to avoid the USB subsystem hang issue. The change in the behavior of the logic does not impact the normal operation of the USB subsystem. This fix has been discussed, developped, reviewed, polished up and tested on current-users by several people. Thread starts at: http://mail-index.netbsd.org/current-users/2009/05/17/msg009460.html
|
1.38.16.1.2.3 |
| 04-Jan-2012 |
matt | Take changes from matt-nb5-pq3 which fixes how multiple ehci functions on a pci device claim companion ohci controllers.
|
1.38.16.1.2.2 |
| 03-Jan-2012 |
matt | Only do the pci_conf_write if PCI_COMMAND_MASTER_ENABLE isn't already set.
|
1.38.16.1.2.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.38.14.2 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.38.14.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.38.10.1 |
| 17-Jun-2009 |
bouyer | branches: 1.38.10.1.4; Pull up following revision(s) (requested by cegger in ticket #814): sys/dev/pci/ehci_pci.c: revision 1.45 Apply hw workaround required for all SB600 revisions and SB700 revisions A12 and A13 to avoid USB subsystem hang symptom. The USB subsystem hang symptom is observed when the system has multiple USB devices connected to it or one USB device is often re-connected. In some cases a USB hub may be required to observe this symptom. This patch works around the problem by correcting the internal register setting that will help by changing the behavior of the internal logic to avoid the USB subsystem hang issue. The change in the behavior of the logic does not impact the normal operation of the USB subsystem. This fix has been discussed, developped, reviewed, polished up and tested on current-users by several people. Thread starts at: http://mail-index.netbsd.org/current-users/2009/05/17/msg009460.html
|
1.38.10.1.4.1 |
| 07-Jan-2011 |
matt | Deal with multifunction pci devices better in choosing companion devices.
|
1.38.8.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.46.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.47.2.2 |
| 21-Apr-2011 |
rmind | sync with head
|
1.47.2.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.50.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.53.6.4 |
| 12-Mar-2012 |
mrg | fix detach bugs: - need to disestablish the ehci softint's. - need to destroy needs_explore_cv - note that ehci.c inits locks, but ehci_pci.c destroys them due to the way that the (pci) front end does softint handling, and can only be trusted to destroy them. XXX need to fix this, by looking at the many ehci frontends as well and checking ohci/uhci.
|
1.53.6.3 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.53.6.2 |
| 09-Dec-2011 |
mrg | - make pipe->close method take the thread lock
- convert usb_taskq to use mutex/cv
- convert needs_explore usage into a cv on the thread lock
- remove KERNEL_*LOCK from uaudio and umidi, since we're supposedly MPSAFE here now
- use IPL_SCHED instead of IPL_USB (aka biglocked) interrupts
- drop the audio thread lock when calling into usb when it may sleep, avoiding a deadlock between audiowrite and audioioctl. this fixes mixerctl -a vs. playing hanging the system XXX probably need to check this in a bunch more places.
|
1.53.6.1 |
| 04-Dec-2011 |
jmcneill | Make ehci mpsafe.
|
1.53.2.3 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.53.2.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.53.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.54.4.1 |
| 01-Nov-2012 |
matt | sync with netbsd-6-0-RELEASE.
|
1.54.2.1 |
| 01-Oct-2012 |
riz | Pull up following revision(s) (requested by tstsui in ticket #569): sys/dev/pci/ehci_pci.c: revision 1.57 Fix PR kern/46828 (6.0_BETA2 and 6.0_RC1 won't start on DL320/G5p): In ehci_get_ownership(), don't explicitly clear EHCI_LEG_HC_BIOS_OWNED semaphore bit in the driver before asking BIOS to give up ownership. The EHCI spec implies that the semaphore should not be changed by the other agent and actually the previous one (introduced in rev 1.53 after 5.x) caused hangup during probe on at least two HP machines as mentioned in the PR. Analyzed and patch provided by Ryo ONODERA. Should be pulled up to netbsd-6 (fatal hangup during boot).
|
1.56.2.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.56.2.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.56.2.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.57.2.1 |
| 18-May-2014 |
rmind | sync with head
|
1.58.8.2 |
| 14-Sep-2016 |
skrll | Use IPL_USB for interrupt handler
|
1.58.8.1 |
| 06-Sep-2016 |
skrll | First pass at netbsd-7 updated with USB code from HEAD
|
1.58.4.2 |
| 08-Jul-2017 |
snj | Pull up following revision(s) (requested by sborrill in ticket #1431): sys/dev/pci/ehci_pci.c: revision 1.65 Deal with broken BIOSes that leave PCI interrupts disabled. Thanks to nick@
|
1.58.4.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.59.2.6 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.59.2.5 |
| 05-Dec-2016 |
skrll | Sync with HEAD
|
1.59.2.4 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.59.2.3 |
| 05-Dec-2014 |
skrll | Use int for return type for [eou]chi_init and motg_init.
|
1.59.2.2 |
| 03-Dec-2014 |
skrll | The grand renaming of structure members.
No functional change.
|
1.59.2.1 |
| 03-Dec-2014 |
skrll | Trailing whitespace.
|
1.63.2.1 |
| 04-Nov-2016 |
pgoyette | Sync with HEAD
|
1.64.8.1 |
| 15-Jun-2017 |
snj | Pull up following revision(s) (requested by sborrill in ticket #33): sys/dev/pci/ehci_pci.c: revision 1.65 Deal with broken BIOSes that leave PCI interrupts disabled. Thanks to nick@
|
1.65.4.3 |
| 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
1.65.4.2 |
| 21-May-2018 |
pgoyette | Sync with HEAD
|
1.65.4.1 |
| 16-Apr-2018 |
pgoyette | Sync with HEAD, resolve some conflicts
|
1.67.2.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.67.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.70.12.1 |
| 21-Mar-2021 |
thorpej | 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.
|
1.71.8.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.75.2.2 |
| 11-Sep-2024 |
martin | Pull up following revision(s) (requested by rin in ticket #823):
sys/dev/pci/ehci_pci.c: revision 1.77
ehci(4): properly handle failed attach
thinkpad a475 fails to attach an ehci instance:
ehci0: pre-2.0 USB rev, device ignored
which ends up stopping suspend/resume working as the device has no pmf handlers installed. put most of the teardown code into a new common function that is called from failed attach and detach. if attach fails, register NULL pmf handlers. don't check the return value of pmf_device_register*().
re-order several parts of detach to match the reverse attach order. tested on rockpro64, thinkpad a475, and xps 1645, the a475 can now suspend/resume almost fully successfully.
|
1.75.2.1 |
| 11-Mar-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #631):
sys/dev/pci/ehci_pci.c: revision 1.76
Consistently use cached chipset tag value.
|