#
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.
|
Revision tags: thorpej-ifq-base thorpej-altq-separation-base
|
#
1.76 |
|
24-Jan-2023 |
mlelstv |
Consistently use cached chipset tag value.
|
Revision tags: netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
#
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.
|
Revision tags: bouyer-sunxi-drm-base
|
#
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.
|
Revision tags: thorpej-i2c-spi-conf2-base
|
#
1.72 |
|
07-Aug-2021 |
thorpej |
Merge thorpej-cfargs2.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
|
#
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?).
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
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.
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
#
1.68 |
|
25-Oct-2018 |
jdolecek |
enable MSI support where available
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
|
#
1.67 |
|
10-May-2018 |
msaitoh |
branches: 1.67.2; KNF. No binary change.
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
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.
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.65 |
|
12-Jun-2017 |
sborrill |
branches: 1.65.4; Deal with broken BIOSes that leave PCI interrupts disabled.
Thanks to nick@
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.64 |
|
13-Oct-2016 |
jdolecek |
branches: 1.64.8; provide intr xname
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
#
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
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
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.
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
#
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.
|
Revision tags: netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
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.
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
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.
|
Revision tags: netbsd-6-0-RC2 netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
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.
|
Revision tags: jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
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
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
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'
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
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
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
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.
|
Revision tags: uebayasi-xip-base
|
#
1.46 |
|
08-Jan-2010 |
dyoung |
branches: 1.46.2; Expand PMF_FN_* macros.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
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
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
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.
|
Revision tags: netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
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
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
#
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
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
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.
|
Revision tags: hpcarm-cleanup-base
|
#
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}.
|
Revision tags: nick-net80211-sync-base mjf-devfs-base
|
#
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.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base matt-armv6-base
|
#
1.32 |
|
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
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
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
#
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
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
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.
|
Revision tags: itohy-usb1-base yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge
|
#
1.27 |
|
09-Feb-2007 |
ad |
branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.26 |
|
16-Nov-2006 |
christos |
branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
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@
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
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.
|
Revision tags: yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
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
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
|
#
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.
|
Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.18 |
|
28-Jun-2005 |
thorpej |
branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
Revision tags: netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.17 |
|
27-Feb-2005 |
perry |
branches: 1.17.2; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
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
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.13 |
|
31-Jan-2003 |
thorpej |
branches: 1.13.2; Use aprint_*().
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
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.
|
Revision tags: gehenna-devsw-base
|
#
1.9 |
|
22-Aug-2002 |
augustss |
Fix an error message.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
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
|
Revision tags: thorpej-mips-cache-base
|
#
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.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
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.76 |
|
24-Jan-2023 |
mlelstv |
Consistently use cached chipset tag value.
|
Revision tags: netbsd-10-base
|
#
1.75 |
|
28-Oct-2022 |
riastradh |
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.
|
Revision tags: bouyer-sunxi-drm-base
|
#
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.
|
Revision tags: thorpej-i2c-spi-conf2-base
|
#
1.72 |
|
07-Aug-2021 |
thorpej |
Merge thorpej-cfargs2.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
|
#
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?).
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
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.
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
#
1.68 |
|
25-Oct-2018 |
jdolecek |
enable MSI support where available
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
|
#
1.67 |
|
10-May-2018 |
msaitoh |
branches: 1.67.2; KNF. No binary change.
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
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.
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.65 |
|
12-Jun-2017 |
sborrill |
branches: 1.65.4; Deal with broken BIOSes that leave PCI interrupts disabled.
Thanks to nick@
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.64 |
|
13-Oct-2016 |
jdolecek |
branches: 1.64.8; provide intr xname
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
#
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
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
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.
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
#
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.
|
Revision tags: netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
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.
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
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.
|
Revision tags: netbsd-6-0-RC2 netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
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.
|
Revision tags: jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
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
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
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'
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
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
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
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.
|
Revision tags: uebayasi-xip-base
|
#
1.46 |
|
08-Jan-2010 |
dyoung |
branches: 1.46.2; Expand PMF_FN_* macros.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
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
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
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.
|
Revision tags: netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
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
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
#
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
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
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.
|
Revision tags: hpcarm-cleanup-base
|
#
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}.
|
Revision tags: nick-net80211-sync-base mjf-devfs-base
|
#
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.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base matt-armv6-base
|
#
1.32 |
|
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
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
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
#
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
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
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.
|
Revision tags: itohy-usb1-base yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge
|
#
1.27 |
|
09-Feb-2007 |
ad |
branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.26 |
|
16-Nov-2006 |
christos |
branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
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@
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
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.
|
Revision tags: yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
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
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
|
#
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.
|
Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.18 |
|
28-Jun-2005 |
thorpej |
branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
Revision tags: netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.17 |
|
27-Feb-2005 |
perry |
branches: 1.17.2; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
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
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.13 |
|
31-Jan-2003 |
thorpej |
branches: 1.13.2; Use aprint_*().
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
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.
|
Revision tags: gehenna-devsw-base
|
#
1.9 |
|
22-Aug-2002 |
augustss |
Fix an error message.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
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
|
Revision tags: thorpej-mips-cache-base
|
#
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.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
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.75 |
|
28-Oct-2022 |
riastradh |
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.
|
Revision tags: bouyer-sunxi-drm-base
|
#
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.
|
Revision tags: thorpej-i2c-spi-conf2-base
|
#
1.72 |
|
07-Aug-2021 |
thorpej |
Merge thorpej-cfargs2.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
|
#
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?).
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
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.
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
#
1.68 |
|
25-Oct-2018 |
jdolecek |
enable MSI support where available
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
|
#
1.67 |
|
10-May-2018 |
msaitoh |
branches: 1.67.2; KNF. No binary change.
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
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.
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.65 |
|
12-Jun-2017 |
sborrill |
branches: 1.65.4; Deal with broken BIOSes that leave PCI interrupts disabled.
Thanks to nick@
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.64 |
|
13-Oct-2016 |
jdolecek |
branches: 1.64.8; provide intr xname
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
#
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
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
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.
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
#
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.
|
Revision tags: netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
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.
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
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.
|
Revision tags: netbsd-6-0-RC2 netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
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.
|
Revision tags: jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
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
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
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'
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
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
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
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.
|
Revision tags: uebayasi-xip-base
|
#
1.46 |
|
08-Jan-2010 |
dyoung |
branches: 1.46.2; Expand PMF_FN_* macros.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
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
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
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.
|
Revision tags: netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
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
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
#
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
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
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.
|
Revision tags: hpcarm-cleanup-base
|
#
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}.
|
Revision tags: nick-net80211-sync-base mjf-devfs-base
|
#
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.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base matt-armv6-base
|
#
1.32 |
|
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
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
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
#
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
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
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.
|
Revision tags: itohy-usb1-base yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge
|
#
1.27 |
|
09-Feb-2007 |
ad |
branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.26 |
|
16-Nov-2006 |
christos |
branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
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@
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
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.
|
Revision tags: yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
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
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
|
#
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.
|
Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.18 |
|
28-Jun-2005 |
thorpej |
branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
Revision tags: netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.17 |
|
27-Feb-2005 |
perry |
branches: 1.17.2; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
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
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.13 |
|
31-Jan-2003 |
thorpej |
branches: 1.13.2; Use aprint_*().
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
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.
|
Revision tags: gehenna-devsw-base
|
#
1.9 |
|
22-Aug-2002 |
augustss |
Fix an error message.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
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
|
Revision tags: thorpej-mips-cache-base
|
#
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.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
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.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.
|
Revision tags: thorpej-i2c-spi-conf2-base
|
#
1.72 |
|
07-Aug-2021 |
thorpej |
Merge thorpej-cfargs2.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
|
#
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?).
|
Revision tags: netbsd-9-2-RELEASE thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
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.
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
#
1.68 |
|
25-Oct-2018 |
jdolecek |
enable MSI support where available
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
|
#
1.67 |
|
10-May-2018 |
msaitoh |
branches: 1.67.2; KNF. No binary change.
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
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.
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.65 |
|
12-Jun-2017 |
sborrill |
branches: 1.65.4; Deal with broken BIOSes that leave PCI interrupts disabled.
Thanks to nick@
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.64 |
|
13-Oct-2016 |
jdolecek |
branches: 1.64.8; provide intr xname
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
#
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
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
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.
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
#
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.
|
Revision tags: netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
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.
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
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.
|
Revision tags: netbsd-6-0-RC2 netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
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.
|
Revision tags: jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
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
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
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'
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
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
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
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.
|
Revision tags: uebayasi-xip-base
|
#
1.46 |
|
08-Jan-2010 |
dyoung |
branches: 1.46.2; Expand PMF_FN_* macros.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
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
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
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.
|
Revision tags: netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
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
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
#
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
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
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.
|
Revision tags: hpcarm-cleanup-base
|
#
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}.
|
Revision tags: nick-net80211-sync-base mjf-devfs-base
|
#
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.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base matt-armv6-base
|
#
1.32 |
|
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
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
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
#
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
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
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.
|
Revision tags: itohy-usb1-base yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge
|
#
1.27 |
|
09-Feb-2007 |
ad |
branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.26 |
|
16-Nov-2006 |
christos |
branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
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@
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
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.
|
Revision tags: yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
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
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
|
#
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.
|
Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.18 |
|
28-Jun-2005 |
thorpej |
branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
Revision tags: netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.17 |
|
27-Feb-2005 |
perry |
branches: 1.17.2; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
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
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.13 |
|
31-Jan-2003 |
thorpej |
branches: 1.13.2; Use aprint_*().
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
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.
|
Revision tags: gehenna-devsw-base
|
#
1.9 |
|
22-Aug-2002 |
augustss |
Fix an error message.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
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
|
Revision tags: thorpej-mips-cache-base
|
#
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.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
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.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.
|
Revision tags: thorpej-i2c-spi-conf2-base
|
#
1.72 |
|
07-Aug-2021 |
thorpej |
Merge thorpej-cfargs2.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
|
#
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?).
|
Revision tags: netbsd-9-2-RELEASE thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
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.
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
#
1.68 |
|
25-Oct-2018 |
jdolecek |
enable MSI support where available
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
|
#
1.67 |
|
10-May-2018 |
msaitoh |
branches: 1.67.2; KNF. No binary change.
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
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.
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.65 |
|
12-Jun-2017 |
sborrill |
branches: 1.65.4; Deal with broken BIOSes that leave PCI interrupts disabled.
Thanks to nick@
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.64 |
|
13-Oct-2016 |
jdolecek |
branches: 1.64.8; provide intr xname
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
#
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
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
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.
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
#
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.
|
Revision tags: netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
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.
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
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.
|
Revision tags: netbsd-6-0-RC2 netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
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.
|
Revision tags: jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
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
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
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'
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
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
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
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.
|
Revision tags: uebayasi-xip-base
|
#
1.46 |
|
08-Jan-2010 |
dyoung |
branches: 1.46.2; Expand PMF_FN_* macros.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
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
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
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.
|
Revision tags: netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
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
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
#
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
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
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.
|
Revision tags: hpcarm-cleanup-base
|
#
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}.
|
Revision tags: nick-net80211-sync-base mjf-devfs-base
|
#
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.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base matt-armv6-base
|
#
1.32 |
|
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
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
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
#
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
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
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.
|
Revision tags: itohy-usb1-base yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge
|
#
1.27 |
|
09-Feb-2007 |
ad |
branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.26 |
|
16-Nov-2006 |
christos |
branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
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@
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
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.
|
Revision tags: yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
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
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
|
#
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.
|
Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.18 |
|
28-Jun-2005 |
thorpej |
branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
Revision tags: netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.17 |
|
27-Feb-2005 |
perry |
branches: 1.17.2; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
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
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.13 |
|
31-Jan-2003 |
thorpej |
branches: 1.13.2; Use aprint_*().
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
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.
|
Revision tags: gehenna-devsw-base
|
#
1.9 |
|
22-Aug-2002 |
augustss |
Fix an error message.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
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
|
Revision tags: thorpej-mips-cache-base
|
#
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.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
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.72 |
|
07-Aug-2021 |
thorpej |
Merge thorpej-cfargs2.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
|
#
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?).
|
Revision tags: netbsd-9-2-RELEASE thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
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.
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
#
1.68 |
|
25-Oct-2018 |
jdolecek |
enable MSI support where available
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
|
#
1.67 |
|
10-May-2018 |
msaitoh |
branches: 1.67.2; KNF. No binary change.
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
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.
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.65 |
|
12-Jun-2017 |
sborrill |
branches: 1.65.4; Deal with broken BIOSes that leave PCI interrupts disabled.
Thanks to nick@
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.64 |
|
13-Oct-2016 |
jdolecek |
branches: 1.64.8; provide intr xname
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
#
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
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
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.
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
#
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.
|
Revision tags: netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
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.
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
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.
|
Revision tags: netbsd-6-0-RC2 netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
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.
|
Revision tags: jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
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
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
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'
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
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
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
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.
|
Revision tags: uebayasi-xip-base
|
#
1.46 |
|
08-Jan-2010 |
dyoung |
branches: 1.46.2; Expand PMF_FN_* macros.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
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
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
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.
|
Revision tags: netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
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
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
#
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
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
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.
|
Revision tags: hpcarm-cleanup-base
|
#
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}.
|
Revision tags: nick-net80211-sync-base mjf-devfs-base
|
#
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.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base matt-armv6-base
|
#
1.32 |
|
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
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
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
#
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
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
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.
|
Revision tags: itohy-usb1-base yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge
|
#
1.27 |
|
09-Feb-2007 |
ad |
branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.26 |
|
16-Nov-2006 |
christos |
branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
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@
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
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.
|
Revision tags: yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
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
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
|
#
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.
|
Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.18 |
|
28-Jun-2005 |
thorpej |
branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
Revision tags: netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.17 |
|
27-Feb-2005 |
perry |
branches: 1.17.2; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
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
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.13 |
|
31-Jan-2003 |
thorpej |
branches: 1.13.2; Use aprint_*().
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
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.
|
Revision tags: gehenna-devsw-base
|
#
1.9 |
|
22-Aug-2002 |
augustss |
Fix an error message.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
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
|
Revision tags: thorpej-mips-cache-base
|
#
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.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
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.71 |
|
24-Apr-2021 |
thorpej |
Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
Revision tags: thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
#
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.
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
#
1.68 |
|
25-Oct-2018 |
jdolecek |
enable MSI support where available
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
|
#
1.67 |
|
10-May-2018 |
msaitoh |
branches: 1.67.2; KNF. No binary change.
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
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.
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.65 |
|
12-Jun-2017 |
sborrill |
branches: 1.65.4; Deal with broken BIOSes that leave PCI interrupts disabled.
Thanks to nick@
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.64 |
|
13-Oct-2016 |
jdolecek |
branches: 1.64.8; provide intr xname
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
#
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
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
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.
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
#
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.
|
Revision tags: netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
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.
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
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.
|
Revision tags: netbsd-6-0-RC2 netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
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.
|
Revision tags: jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
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
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
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'
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
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
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
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.
|
Revision tags: uebayasi-xip-base
|
#
1.46 |
|
08-Jan-2010 |
dyoung |
branches: 1.46.2; Expand PMF_FN_* macros.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
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
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
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.
|
Revision tags: netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
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
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
#
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
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
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.
|
Revision tags: hpcarm-cleanup-base
|
#
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}.
|
Revision tags: nick-net80211-sync-base mjf-devfs-base
|
#
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.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base matt-armv6-base
|
#
1.32 |
|
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
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
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
#
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
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
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.
|
Revision tags: itohy-usb1-base yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge
|
#
1.27 |
|
09-Feb-2007 |
ad |
branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.26 |
|
16-Nov-2006 |
christos |
branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
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@
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
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.
|
Revision tags: yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
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
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
|
#
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.
|
Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.18 |
|
28-Jun-2005 |
thorpej |
branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
Revision tags: netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.17 |
|
27-Feb-2005 |
perry |
branches: 1.17.2; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
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
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.13 |
|
31-Jan-2003 |
thorpej |
branches: 1.13.2; Use aprint_*().
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
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.
|
Revision tags: gehenna-devsw-base
|
#
1.9 |
|
22-Aug-2002 |
augustss |
Fix an error message.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
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
|
Revision tags: thorpej-mips-cache-base
|
#
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.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
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.70 |
|
13-Jun-2019 |
maxv |
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.
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
#
1.68 |
|
25-Oct-2018 |
jdolecek |
enable MSI support where available
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
|
#
1.67 |
|
10-May-2018 |
msaitoh |
branches: 1.67.2; KNF. No binary change.
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
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.
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.65 |
|
12-Jun-2017 |
sborrill |
branches: 1.65.4; Deal with broken BIOSes that leave PCI interrupts disabled.
Thanks to nick@
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.64 |
|
13-Oct-2016 |
jdolecek |
branches: 1.64.8; provide intr xname
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
#
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
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
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.
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
#
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.
|
Revision tags: netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
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.
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
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.
|
Revision tags: netbsd-6-0-RC2 netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
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.
|
Revision tags: jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
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
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
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'
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
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
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
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.
|
Revision tags: uebayasi-xip-base
|
#
1.46 |
|
08-Jan-2010 |
dyoung |
branches: 1.46.2; Expand PMF_FN_* macros.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
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
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
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.
|
Revision tags: netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
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
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
#
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
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
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.
|
Revision tags: hpcarm-cleanup-base
|
#
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}.
|
Revision tags: nick-net80211-sync-base mjf-devfs-base
|
#
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.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base matt-armv6-base
|
#
1.32 |
|
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
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
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
#
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
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
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.
|
Revision tags: itohy-usb1-base yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge
|
#
1.27 |
|
09-Feb-2007 |
ad |
branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.26 |
|
16-Nov-2006 |
christos |
branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
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@
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
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.
|
Revision tags: yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
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
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
|
#
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.
|
Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.18 |
|
28-Jun-2005 |
thorpej |
branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
Revision tags: netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.17 |
|
27-Feb-2005 |
perry |
branches: 1.17.2; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
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
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.13 |
|
31-Jan-2003 |
thorpej |
branches: 1.13.2; Use aprint_*().
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
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.
|
Revision tags: gehenna-devsw-base
|
#
1.9 |
|
22-Aug-2002 |
augustss |
Fix an error message.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
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
|
Revision tags: thorpej-mips-cache-base
|
#
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.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
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.
|
Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
#
1.68 |
|
25-Oct-2018 |
jdolecek |
enable MSI support where available
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
|
#
1.67 |
|
10-May-2018 |
msaitoh |
KNF. No binary change.
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
#
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.
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.65 |
|
12-Jun-2017 |
sborrill |
branches: 1.65.4; Deal with broken BIOSes that leave PCI interrupts disabled.
Thanks to nick@
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.64 |
|
13-Oct-2016 |
jdolecek |
branches: 1.64.8; provide intr xname
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
#
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
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
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.
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
#
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.
|
Revision tags: netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
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.
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
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.
|
Revision tags: netbsd-6-0-RC2 netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
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.
|
Revision tags: jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
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
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
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'
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
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
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
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.
|
Revision tags: uebayasi-xip-base
|
#
1.46 |
|
08-Jan-2010 |
dyoung |
branches: 1.46.2; Expand PMF_FN_* macros.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
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
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
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.
|
Revision tags: netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
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
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
#
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
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
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.
|
Revision tags: hpcarm-cleanup-base
|
#
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}.
|
Revision tags: nick-net80211-sync-base mjf-devfs-base
|
#
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.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base matt-armv6-base
|
#
1.32 |
|
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
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
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
#
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
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
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.
|
Revision tags: itohy-usb1-base yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge
|
#
1.27 |
|
09-Feb-2007 |
ad |
branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.26 |
|
16-Nov-2006 |
christos |
branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
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@
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
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.
|
Revision tags: yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
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
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
|
#
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.
|
Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.18 |
|
28-Jun-2005 |
thorpej |
branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
Revision tags: netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.17 |
|
27-Feb-2005 |
perry |
branches: 1.17.2; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
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
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.13 |
|
31-Jan-2003 |
thorpej |
branches: 1.13.2; Use aprint_*().
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
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.
|
Revision tags: gehenna-devsw-base
|
#
1.9 |
|
22-Aug-2002 |
augustss |
Fix an error message.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
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
|
Revision tags: thorpej-mips-cache-base
|
#
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.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
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.65 |
|
12-Jun-2017 |
sborrill |
Deal with broken BIOSes that leave PCI interrupts disabled.
Thanks to nick@
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.64 |
|
13-Oct-2016 |
jdolecek |
provide intr xname
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
#
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
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
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.
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
#
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.
|
Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
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.
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
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.
|
Revision tags: netbsd-6-0-RC2 netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
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.
|
Revision tags: jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
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
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
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'
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
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
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
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.
|
Revision tags: uebayasi-xip-base
|
#
1.46 |
|
08-Jan-2010 |
dyoung |
branches: 1.46.2; Expand PMF_FN_* macros.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
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
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
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.
|
Revision tags: netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
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
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
#
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
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
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.
|
Revision tags: hpcarm-cleanup-base
|
#
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}.
|
Revision tags: nick-net80211-sync-base mjf-devfs-base
|
#
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.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base matt-armv6-base
|
#
1.32 |
|
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
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
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
#
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
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
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.
|
Revision tags: itohy-usb1-base yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge
|
#
1.27 |
|
09-Feb-2007 |
ad |
branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.26 |
|
16-Nov-2006 |
christos |
branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
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@
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
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.
|
Revision tags: yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
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
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
|
#
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.
|
Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.18 |
|
28-Jun-2005 |
thorpej |
branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
Revision tags: netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.17 |
|
27-Feb-2005 |
perry |
branches: 1.17.2; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
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
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.13 |
|
31-Jan-2003 |
thorpej |
branches: 1.13.2; Use aprint_*().
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
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.
|
Revision tags: gehenna-devsw-base
|
#
1.9 |
|
22-Aug-2002 |
augustss |
Fix an error message.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
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
|
Revision tags: thorpej-mips-cache-base
|
#
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.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
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.
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.64 |
|
13-Oct-2016 |
jdolecek |
provide intr xname
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
#
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
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
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.
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
#
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.
|
Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.58 |
|
29-Mar-2014 |
christos |
branches: 1.58.8; make pci_intr_string and eisa_intr_string take a buffer and a length instead of relying in local static storage.
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
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.
|
Revision tags: netbsd-6-0-RC2 netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
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.
|
Revision tags: jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
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
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
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'
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
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
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
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.
|
Revision tags: uebayasi-xip-base
|
#
1.46 |
|
08-Jan-2010 |
dyoung |
branches: 1.46.2; Expand PMF_FN_* macros.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
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
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
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.
|
Revision tags: netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
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
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
#
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
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
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.
|
Revision tags: hpcarm-cleanup-base
|
#
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}.
|
Revision tags: nick-net80211-sync-base mjf-devfs-base
|
#
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.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base matt-armv6-base
|
#
1.32 |
|
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
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
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
#
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
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
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.
|
Revision tags: itohy-usb1-base yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge
|
#
1.27 |
|
09-Feb-2007 |
ad |
branches: 1.27.6; 1.27.8; 1.27.14; Merge newlock2 to head.
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
#
1.26 |
|
16-Nov-2006 |
christos |
branches: 1.26.2; 1.26.4; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
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@
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
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.
|
Revision tags: yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
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
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
|
#
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.
|
Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.18 |
|
28-Jun-2005 |
thorpej |
branches: 1.18.2; 1.18.8; Use ANSI function decls and static.
|
Revision tags: netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.17 |
|
27-Feb-2005 |
perry |
branches: 1.17.2; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
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
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.13 |
|
31-Jan-2003 |
thorpej |
branches: 1.13.2; Use aprint_*().
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
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.
|
Revision tags: gehenna-devsw-base
|
#
1.9 |
|
22-Aug-2002 |
augustss |
Fix an error message.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
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
|
Revision tags: thorpej-mips-cache-base
|
#
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.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
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.
|